[ovs-dev] [PATCH v4 1/1] netdev-dpdk: don't enable scatter for jumbo RX support for nfp

Kevin Traynor ktraynor at redhat.com
Fri Apr 27 20:02:43 UTC 2018


On 04/27/2018 05:40 PM, 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 not enabling scatter only for the PMD/NIC known not to
> need it to support jumbo RX.
> 

Acked-by: Kevin Traynor <ktraynor at redhat.com>

> Note: this change is temporary and not needed for later releases OVS/DPDK
> 
> Reported-by: Louis Peens <louis.peens at netronome.com>
> Signed-off-by: Pablo Cascón <pablo.cascon at netronome.com>
> Reviewed-by: Simon Horman <simon.horman at netronome.com>
> ---
>  lib/netdev-dpdk.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index ee39cbe..fdc8f66 100644
> --- a/lib/netdev-dpdk.c
> +++ b/lib/netdev-dpdk.c
> @@ -694,11 +694,19 @@ 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. */
> +    /* As of DPDK 17.11.1 a few PMDs require to explicitly enable
> +     * scatter to support jumbo RX. Checking the offload capabilities
> +     * is not an option as PMDs are not required yet to report
> +     * them. The only reliable info is the driver name and knowledge
> +     * (testing or code review). Listing all such PMDs feels harder
> +     * than highlighting the one known not to need scatter */
>      if (dev->mtu > ETHER_MTU) {
> -        conf.rxmode.enable_scatter = 1;
> +        rte_eth_dev_info_get(dev->port_id, &info);
> +        if (strncmp(info.driver_name, "net_nfp", 6)) {
> +            conf.rxmode.enable_scatter = 1;
> +        }
>      }
>  
>      conf.rxmode.hw_ip_checksum = (dev->hw_ol_features &
> 



More information about the dev mailing list