From 4801f0403b58dcead23b778085f6180b7789bfac Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" Date: Thu, 29 Apr 2021 17:19:03 +0800 Subject: [PATCH] net/hns3: fix IEEE 1588 PTP for scalar scattered Rx When jumbo frame is enabled, Rx function will choose 'Scalar Scattered' function which has no PTP handling. This patch fixes it by adding PTP handling in 'Scalar Scattered' function. Fixes: 38b539d96eb6 ("net/hns3: support IEEE 1588 PTP") Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_rxtx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 7ac3a4831c..a76b141891 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -2654,6 +2654,9 @@ hns3_recv_scattered_pkts(void *rx_queue, continue; } + if (unlikely(bd_base_info & BIT(HNS3_RXD_TS_VLD_B))) + hns3_rx_ptp_timestamp_handle(rxq, first_seg, rxdp); + /* * The last buffer of the received packet. packet len from * buffer description may contains CRC len, packet len should @@ -2704,6 +2707,9 @@ hns3_recv_scattered_pkts(void *rx_queue, first_seg->packet_type = hns3_rx_calc_ptype(rxq, l234_info, ol_info); + if (first_seg->packet_type == RTE_PTYPE_L2_ETHER_TIMESYNC) + rxm->ol_flags |= PKT_RX_IEEE1588_PTP; + hns3_rxd_to_vlan_tci(rxq, first_seg, l234_info, &rxd); /* Increment bytes counter */ -- 2.20.1