[dpdk-dev] [PATCH] fm10k: fix wrong Rx func is used
Wang, Xiao W
xiao.w.wang at intel.com
Fri Nov 27 06:38:13 CET 2015
Hi,
> -----Original Message-----
> From: Chen, Jing D
> Sent: Friday, November 27, 2015 9:56 AM
> To: dev at dpdk.org
> Cc: Wang, Xiao W <xiao.w.wang at intel.com>; Chen, Jing D
> <jing.d.chen at intel.com>
> Subject: [PATCH] fm10k: fix wrong Rx func is used
>
> From: "Chen Jing D(Mark)" <jing.d.chen at intel.com>
>
> Steps to reproduce the bug:
> 1. All Rx offloading is disabled and start the device, then
> Vector Rx is used.
> 2. Stop the device. Re-configure to enable hw_ip_checksum = 1,
> start the device again.
> 3. In this case, assume regular Rx should be used since Vector
> Rx doesn't support ip checksum offload. But actually Vector
> Rx is used and cause checksum won't be done by hardware.
>
> The reason is after re-configuring, driver misses an "else" in func
> fm10k_set_rx_function(). Then Rx func in last round are used.
>
> Fixes:77a8ab47("fm10k: select best Rx function")
>
> Reported-by: Xiao Wang <xiao.w.wang at intel.com>
> Signed-off-by: Chen Jing D(Mark) <jing.d.chen at intel.com>
> ---
> drivers/net/fm10k/fm10k_ethdev.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c
> b/drivers/net/fm10k/fm10k_ethdev.c
> index 4f23ce3..e4aed94 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -2486,6 +2486,8 @@ fm10k_set_rx_function(struct rte_eth_dev *dev)
> dev->rx_pkt_burst = fm10k_recv_pkts_vec;
> } else if (dev->data->scattered_rx)
> dev->rx_pkt_burst = fm10k_recv_scattered_pkts;
> + else
> + dev->rx_pkt_burst = fm10k_recv_pkts;
>
> rx_using_sse =
> (dev->rx_pkt_burst == fm10k_recv_scattered_pkts_vec ||
> --
> 1.7.7.6
Acked-by: Xiao Wang <xiao.w.wang at intel.com>
More information about the dev
mailing list