[ovs-dev] [PATCH 1/1] netdev-dpdk: fix RX jumbo for NICs not supporting scatter

Kevin Traynor ktraynor at redhat.com
Wed Apr 11 11:20:58 UTC 2018


On 04/11/2018 12:10 PM, Pablo Cascón wrote:
> On 10/04/18 21:08, Stokes, Ian wrote:
>>> Currently to RX jumbo packets fails for NICs not supporting scatter.
>>> Scatter is not strictly needed for jumbo support on RX. This change
>>> fixes
>>> the issue by only enabling scatter for NICs supporting it.
>>>
>>> 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 | 5 ++++-
>>>   1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index
>>> ee39cbe..28b20b5
>>> 100644
>>> --- a/lib/netdev-dpdk.c
>>> +++ b/lib/netdev-dpdk.c
>>> @@ -694,11 +694,14 @@ 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. */
>>>       if (dev->mtu > ETHER_MTU) {
>>> -        conf.rxmode.enable_scatter = 1;
>>> +        rte_eth_dev_info_get(dev->port_id, &info);
>>> +        if (info.rx_offload_capa & DEV_RX_OFFLOAD_SCATTER)

Hi, this was not added until DPDK 17.11, so it's not relevant for OVS
2.8 branch.

Kevin.

>>> +            conf.rxmode.enable_scatter = 1;
>> Thanks for this, quick note:
>>
>> conf.rxmode.enable_scatter = 1; should be enclosed in braces as per
>> OVS coding style.
> 
> Thanks for the feedback, sorry about the lack of braces. Let me know if
> a v2 is needed
>>
>> I'll have some time to test this tomorrow, I take it this should be
>> backported to OVS2.9 and OVS 2.8 also?
> 
> Yes please, the change is a welcome one for both 2.8 and 2.9. Also it
> applies nicely on both. Let me know if a per branch patch is needed.
> 
> Thanks
> 
> Pablo
> 
>>
>> Ian
>>
>>>       }
>>>
>>>       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
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev



More information about the dev mailing list