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.pe...@netronome.com>
Signed-off-by: Pablo Cascón <pablo.cas...@netronome.com>
Reviewed-by: Simon Horman <simon.hor...@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)
+            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
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to