From ea7178631ef292530993e0c91bf86f1ca9ae99d4 Mon Sep 17 00:00:00 2001 From: Steven Luong Date: Thu, 30 Jul 2020 07:31:40 -0700 Subject: bonding: add bond_create2 API to include gso option gso option is available for the debug CLI version of bond create. This patch is to create a new API to have the corresponding option in the binary API. The old binary API bond_create is marked deprecated. Type: improvement Signed-off-by: Steven Luong Change-Id: Id9501b8e6d267ae09e2b411957f181343da459c0 --- test/test_bond.py | 24 +++++++++++++++--------- test/vpp_bond_interface.py | 18 +++++++++++------- 2 files changed, 26 insertions(+), 16 deletions(-) (limited to 'test') diff --git a/test/test_bond.py b/test/test_bond.py index c5d786fc526..5df86ae5b0f 100644 --- a/test/test_bond.py +++ b/test/test_bond.py @@ -63,12 +63,13 @@ class TestBondInterface(VppTestCase): # self.logger.info("create bond") bond0_mac = "02:fe:38:30:59:3c" mac = MACAddress(bond0_mac).packed - bond0 = VppBondInterface(self, - mode=3, - lb=1, - numa_only=0, - use_custom_mac=1, - mac_address=mac) + bond0 = VppBondInterface( + self, + mode=VppEnum.vl_api_bond_mode_t.BOND_API_MODE_XOR, + lb=VppEnum.vl_api_bond_lb_algo_t.BOND_API_LB_ALGO_L34, + numa_only=0, + use_custom_mac=1, + mac_address=mac) bond0.add_vpp_config() bond0.admin_up() self.vapi.sw_interface_add_del_address( @@ -169,7 +170,10 @@ class TestBondInterface(VppTestCase): # create interface (BondEthernet0) and set bond mode to LACP self.logger.info("create bond") - bond0 = VppBondInterface(self, mode=5) + bond0 = VppBondInterface( + self, + mode=VppEnum.vl_api_bond_mode_t.BOND_API_MODE_LACP, + enable_gso=0) bond0.add_vpp_config() bond0.admin_up() @@ -222,12 +226,14 @@ class TestBondInterface(VppTestCase): self.logger.info("Bond add interfaces") # create interface 1 (BondEthernet0) - bond0 = VppBondInterface(self, mode=5) + bond0 = VppBondInterface( + self, mode=VppEnum.vl_api_bond_mode_t.BOND_API_MODE_LACP) bond0.add_vpp_config() bond0.admin_up() # create interface 2 (BondEthernet1) - bond1 = VppBondInterface(self, mode=3) + bond1 = VppBondInterface( + self, mode=VppEnum.vl_api_bond_mode_t.BOND_API_MODE_XOR) bond1.add_vpp_config() bond1.admin_up() diff --git a/test/vpp_bond_interface.py b/test/vpp_bond_interface.py index 8ad7bceac70..60c1ac1557b 100644 --- a/test/vpp_bond_interface.py +++ b/test/vpp_bond_interface.py @@ -5,23 +5,27 @@ from vpp_interface import VppInterface class VppBondInterface(VppInterface): """VPP bond interface.""" - def __init__(self, test, mode, lb=0, numa_only=0, - use_custom_mac=0, mac_address=''): + def __init__(self, test, mode, lb=0, numa_only=0, enable_gso=0, + use_custom_mac=0, mac_address='', id=0xFFFFFFFF): """ Create VPP Bond interface """ super(VppBondInterface, self).__init__(test) self.mode = mode self.lb = lb self.numa_only = numa_only + self.enable_gso = enable_gso self.use_custom_mac = use_custom_mac self.mac_address = mac_address + self.id = id def add_vpp_config(self): - r = self.test.vapi.bond_create(self.mode, - self.lb, - self.numa_only, - self.use_custom_mac, - self.mac_address) + r = self.test.vapi.bond_create2(self.mode, + self.lb, + self.numa_only, + self.enable_gso, + self.use_custom_mac, + self.mac_address, + self.id) self.set_sw_if_index(r.sw_if_index) def remove_vpp_config(self): -- cgit 1.2.3-korg