bonding: fix the GSO flags
[vpp.git] / src / vnet / bonding / cli.c
index 09ef10f..d9a6408 100644 (file)
@@ -458,8 +458,14 @@ bond_create_if (vlib_main_t * vm, bond_create_if_args_t * args)
   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)
+    {
+      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);