[ovs-dev] [PATCH v3 1/1] netdev-dpdk: remove enabling scatter for jumbo RX support

Simon Horman simon.horman at netronome.com
Thu Apr 26 10:49:29 UTC 2018


On 26 April 2018 at 12:44, Stokes, Ian <ian.stokes at intel.com> wrote:

> > 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 <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>
> >
> > Hi Ian,
> >
> > this is a pretty important fix for us.
> > I would be most grateful if you could find some time to review it.
>
> Hi Simon,
>
> I started looking at it yesterday and finishing some testing specific to
> IGB today, will follow up once I have completed it.
>

Great, thanks Ian.


> Thanks
> Ian
>
> >
> > > ---
> > >
> > > 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
> > > dev at openvswitch.org
> > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list