From: Kalesh AP <kalesh-anakkur.pura...@broadcom.com> PKT_RX_IEEE1588_PTP and PKT_RX_IEEE1588_TMST flags need to be set in the offload flags for the received pkt in case of PTP offload.
Fixes: bc4a000f2f53c ("net/bnxt: implement SSE vector mode") Signed-off-by: Kalesh AP <kalesh-anakkur.pura...@broadcom.com> Reviewed-by: Somnath Kotur <somnath.ko...@broadcom.com> Reviewed-by: Lance Richardson <lance.richard...@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com> --- drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_rxtx_vec_sse.c b/drivers/net/bnxt/bnxt_rxtx_vec_sse.c index 22d9f9e84..d1a68ad6b 100644 --- a/drivers/net/bnxt/bnxt_rxtx_vec_sse.c +++ b/drivers/net/bnxt/bnxt_rxtx_vec_sse.c @@ -251,6 +251,7 @@ bnxt_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t cp_cons; struct rte_mbuf *mbuf; __m128i mm_rxcmp, pkt_mb; + uint16_t flags_type; tmp_raw_cons = NEXT_RAW_CMP(raw_cons); cp_cons = RING_CMP(cpr->cp_ring_struct, tmp_raw_cons); @@ -280,9 +281,17 @@ bnxt_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, rte_compiler_barrier(); - if (rxcmp->flags_type & RX_PKT_CMPL_FLAGS_RSS_VALID) + flags_type = rte_le_to_cpu_16(rxcmp->flags_type); + + if (flags_type & RX_PKT_CMPL_FLAGS_RSS_VALID) mbuf->ol_flags |= PKT_RX_RSS_HASH; +#ifdef RTE_LIBRTE_IEEE1588 + if ((flags_type & RX_PKT_CMPL_FLAGS_MASK) == + RX_PKT_CMPL_FLAGS_ITYPE_PTP_W_TIMESTAMP) + mbuf->ol_flags |= PKT_RX_IEEE1588_PTP | + PKT_RX_IEEE1588_TMST; +#endif if (rxcmp1->flags2 & RX_PKT_CMPL_FLAGS2_META_FORMAT_VLAN) { mbuf->vlan_tci = rxcmp1->metadata & -- 2.20.1 (Apple Git-117)