On Fri, Apr 20, 2018 at 05:24:37PM +0100, Pablo Cascón wrote:
> Currently to RX jumbo packets fails for NICs not supporting scatter.
> Scatter is not strictly needed for jumbo RX support. This change fixes
> the issue by only enabling scatter for NICs known to need it to
> support jumbo RX. Add a quirk for "igb" while the PMD is fixed.
>
> Reported-by: Louis Peens <[email protected]>
> Signed-off-by: Pablo Cascón <[email protected]>
> Reviewed-by: Simon Horman <[email protected]>
Hi Ian,
this is a pretty important fix for us.
I would be most grateful if you could find some time to review it.
> ---
>
> Changelog:
> v3->v2:
> - only check for driver_name
> - tested with "nfp" and not with "igb"
>
>
> lib/netdev-dpdk.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index ee39cbe..02ed85b 100644
> --- a/lib/netdev-dpdk.c
> +++ b/lib/netdev-dpdk.c
> @@ -694,11 +694,17 @@ dpdk_eth_dev_queue_setup(struct netdev_dpdk *dev, int
> n_rxq, int n_txq)
> int diag = 0;
> int i;
> struct rte_eth_conf conf = port_conf;
> + struct rte_eth_dev_info info;
>
> - /* For some NICs (e.g. Niantic), scatter_rx mode needs to be explicitly
> - * enabled. */
> + /* Quirk: as of DPDK 17.11.1 igb's PMD requires explicitly
> + * enabling scatter to support jumbo RX. Note: PMDs are not
> + * required to set the offload capabilities and so is not reliable
> + * info, only the driver_name is after testing the PMD/NIC */
> if (dev->mtu > ETHER_MTU) {
> - conf.rxmode.enable_scatter = 1;
> + rte_eth_dev_info_get(dev->port_id, &info);
> + if (!strcmp(info.driver_name, "igb")) {
> + conf.rxmode.enable_scatter = 1;
> + }
> }
>
> conf.rxmode.hw_ip_checksum = (dev->hw_ol_features &
> --
> 2.7.4
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev