[dpdk-dev] [PATCH] net/i40e: fix setting RSS in i40e_recv_scattered_pkts
Ananyev, Konstantin
konstantin.ananyev at intel.com
Tue Jul 26 14:11:44 CEST 2016
> -----Original Message-----
> From: dumitru.ceara at gmail.com [mailto:dumitru.ceara at gmail.com]
> Sent: Tuesday, July 26, 2016 11:46 AM
> To: dev at dpdk.org
> Cc: Xing, Beilei <beilei.xing at intel.com>; Zhang, Helin <helin.zhang at intel.com>; Wu, Jingjing <jingjing.wu at intel.com>; Ananyev, Konstantin
> <konstantin.ananyev at intel.com>; Dumitru Ceara <dumitru.ceara at gmail.com>
> Subject: [PATCH] net/i40e: fix setting RSS in i40e_recv_scattered_pkts
>
> From: Dumitru Ceara <dumitru.ceara at gmail.com>
>
> The driver is incorrectly setting the RSS field in the last mbuf in the packet chain instead of the first. Moreover, the last mbuf might have
> already been freed if it only contained the Ethernet CRC.
>
> Also, fix the call to i40e_rxd_build_fdir to store the fdir flags in the first mbuf of the chain instead of the last.
>
> Signed-off-by: Dumitru Ceara <dumitru.ceara at gmail.com>
> ---
> drivers/net/i40e/i40e_rxtx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index d3cfb98..554d167 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -1436,10 +1436,10 @@ i40e_recv_scattered_pkts(void *rx_queue,
> i40e_rxd_pkt_type_mapping((uint8_t)((qword1 &
> I40E_RXD_QW1_PTYPE_MASK) >> I40E_RXD_QW1_PTYPE_SHIFT));
> if (pkt_flags & PKT_RX_RSS_HASH)
> - rxm->hash.rss =
> + first_seg->hash.rss =
> rte_le_to_cpu_32(rxd.wb.qword0.hi_dword.rss);
> if (pkt_flags & PKT_RX_FDIR)
> - pkt_flags |= i40e_rxd_build_fdir(&rxd, rxm);
> + pkt_flags |= i40e_rxd_build_fdir(&rxd, first_seg);
>
> #ifdef RTE_LIBRTE_IEEE1588
> pkt_flags |= i40e_get_iee15888_flags(first_seg, qword1);
> --
Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> 1.9.1
More information about the dev
mailing list