On 04/13/2018 04:20 PM, 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. Add a quirk for
>> "igb" while the PMD is fixed to advertise scatter.
>>
> 
> Thanks for the v2 Pablo.
> 
> Adding Eelco and Kevin as they had some comments on the v1.
> 
> FYI I'm investigating on the DPDK side to see how/when the flag should be set 
> and used for igb and ixgbe as well as other drivers.
> 
> https://dpdk.org/ml/archives/dev/2018-April/097056.html
> 
>> Reported-by: Louis Peens <[email protected]>
>> Signed-off-by: Pablo Cascón <[email protected]>
>> Reviewed-by: Simon Horman <[email protected]>
>> ---
>>  lib/netdev-dpdk.c | 10 +++++++++-
>>  1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index ee39cbe..8f6a0a3
>> 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. */
>>      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) {
>> +            conf.rxmode.enable_scatter = 1;
>> +        } else if (!strcmp(info.driver_name, "igb")) {
>> +            /* Quirk: as of DPDK 17.11.1 igb's PMD requires explicitly
>> +               enabling scatter but fails to advertise it. */
> 

Can you check name for "nfp" and don't set enable_scatter? I don't think
most of the PMDs used these new offload defines in DPDK17.11.

> I'm not sure this is acceptable. I'm worried it sets a precedent for code for 
> specific devices and could lead to further instances of this in the future.
> 
> It could be argued the scatter approach up to now was specific to Niantic but 
> it also worked for igb and i40e. I40e devices don’t require scatter but can 
> handle it without issue if it is set.
> 
> In the past this type of solution has been rejected as the preferred approach 
> was to keep netdev-dpdk code generic as possible.
> 
> That’s why I suggest deferring the patch in OVS until the required changes 
> are made in DPDK to satisfy all cases. 17.11.2 is targeted for May 19th. We 
> could have a solution in place for then.
> 
> I'm not trying to obstruct this but these cases do arise so interested to 
> hear what others think?
> 
> Ian
> 
>> +            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

Reply via email to