bonding: fix the gso flags 92/26992/4
authorMohsin Kazmi <sykazmi@cisco.com>
Tue, 12 May 2020 12:23:28 +0000 (14:23 +0200)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 20 May 2020 11:24:58 +0000 (11:24 +0000)
Type: fix

Only add GSO and Checksum offload flags when gso is
enabled.

Change-Id: I58945a4ffbb9a0e6a8640fc01424c63feef16306
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
src/vnet/bonding/cli.c

index 6cfe97b..63caf20 100644 (file)
@@ -379,7 +379,6 @@ bond_create_if (vlib_main_t * vm, bond_create_if_args_t * args)
   vnet_main_t *vnm = vnet_get_main ();
   vnet_sw_interface_t *sw;
   bond_if_t *bif;
-  vnet_hw_interface_t *hw;
 
   if ((args->mode == BOND_MODE_LACP) && bm->lacp_plugin_loaded == 0)
     {
@@ -457,9 +456,16 @@ bond_create_if (vlib_main_t * vm, bond_create_if_args_t * args)
   bif->group = bif->sw_if_index;
   bif->numa_only = args->numa_only;
 
-  hw = vnet_get_hw_interface (vnm, bif->hw_if_index);
-  hw->flags |= (VNET_HW_INTERFACE_FLAG_SUPPORTS_GSO |
-               VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD);
+  /*
+   * Add GSO and Checksum offload flags if GSO is enabled on Bond
+   */
+  if (args->gso)
+    {
+      vnet_hw_interface_t *hw = vnet_get_hw_interface (vnm, bif->hw_if_index);
+
+      hw->flags |= (VNET_HW_INTERFACE_FLAG_SUPPORTS_GSO |
+                   VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD);
+    }
   if (vlib_get_thread_main ()->n_vlib_mains > 1)
     clib_spinlock_init (&bif->lockp);