diff options
-rw-r--r-- | src/vnet/bonding/cli.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/vnet/bonding/cli.c b/src/vnet/bonding/cli.c index 09ef10f1b05..d9a6408206e 100644 --- a/src/vnet/bonding/cli.c +++ b/src/vnet/bonding/cli.c @@ -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); |