'enable': enable})
def bridge_flags(self, bd_id, is_set, feature_bitmap):
- """Enable/disable required feature of the bridge domain with defined ID.
+ """Enable/disable required feature of the bridge domain with defined
+ ID.
:param int bd_id: Bridge domain ID.
:param int is_set: Set to 1 to enable, set to 0 to disable the feature.
{'sw_if_index': sw_if_index,
'mtu': mtu})
+ def sw_interface_set_promiscuous(self, sw_if_index, enable):
+ """
+ :param sw_if_index:
+ :param enable:
+
+ """
+ return self.api(self.papi.sw_interface_set_promiscuous,
+ {'sw_if_index': sw_if_index,
+ 'enable': enable})
+
def sw_interface_set_mac_address(self, sw_if_index, mac):
return self.api(self.papi.sw_interface_set_mac_address,
{'sw_if_index': sw_if_index,
def udp_encap_dump(self):
return self.api(self.papi.udp_encap_dump, {})
+ def want_udp_encap_stats(self, enable=1):
+ return self.api(self.papi.want_udp_encap_stats,
+ {'enable': enable,
+ 'pid': os.getpid()})
+
def mpls_fib_dump(self):
return self.api(self.papi.mpls_fib_dump, {})
{'acl_index': acl_index},
expected_retval=expected_retval)
+ def acl_interface_list_dump(self, sw_if_index=0xFFFFFFFF,
+ expected_retval=0):
+ return self.api(self.papi.acl_interface_list_dump,
+ {'sw_if_index': sw_if_index},
+ expected_retval=expected_retval)
+
def macip_acl_add(self, rules, tag=""):
""" Add MACIP acl
""" GBP endpoint Dump """
return self.api(self.papi.gbp_endpoint_dump, {})
+ def gbp_endpoint_group_add_del(self, is_add, epg, bd,
+ ip4_rd,
+ ip6_rd,
+ uplink_sw_if_index):
+ """ GBP endpoint group Add/Del """
+ return self.api(self.papi.gbp_endpoint_group_add_del,
+ {'is_add': is_add,
+ 'epg': {
+ 'uplink_sw_if_index': uplink_sw_if_index,
+ 'bd_id': bd,
+ 'ip4_table_id': ip4_rd,
+ 'ip6_table_id': ip6_rd,
+ 'epg_id': epg}})
+
+ def gbp_endpoint_group_dump(self):
+ """ GBP endpoint group Dump """
+ return self.api(self.papi.gbp_endpoint_group_dump, {})
+
+ def gbp_recirc_add_del(self, is_add, sw_if_index, epg, is_ext):
+ """ GBP recirc Add/Del """
+ return self.api(self.papi.gbp_recirc_add_del,
+ {'is_add': is_add,
+ 'recirc': {
+ 'is_ext': is_ext,
+ 'sw_if_index': sw_if_index,
+ 'epg_id': epg}})
+
+ def gbp_recirc_dump(self):
+ """ GBP recirc Dump """
+ return self.api(self.papi.gbp_recirc_dump, {})
+
+ def gbp_subnet_add_del(self, is_add, table_id,
+ is_internal,
+ addr, addr_len,
+ sw_if_index=0xffffffff,
+ epg_id=0xffffffff,
+ is_ip6=False):
+ """ GBP Subnet Add/Del """
+ return self.api(self.papi.gbp_subnet_add_del,
+ {'is_add': is_add,
+ 'subnet': {
+ 'is_internal': is_internal,
+ 'is_ip6': is_ip6,
+ 'sw_if_index': sw_if_index,
+ 'epg_id': epg_id,
+ 'address': addr,
+ 'address_length': addr_len,
+ 'table_id': table_id}})
+
+ def gbp_subnet_dump(self):
+ """ GBP Subnet Dump """
+ return self.api(self.papi.gbp_subnet_dump, {})
+
def gbp_contract_add_del(self, is_add, src_epg, dst_epg, acl_index):
""" GBP contract Add/Del """
return self.api(self.papi.gbp_contract_add_del,
def want_igmp_events(self, enable=1):
return self.api(self.papi.want_igmp_events, {'enable': enable,
'pid': os.getpid()})
+
+ def bond_create(
+ self,
+ mode,
+ lb,
+ use_custom_mac,
+ mac_address=''):
+ """
+ :param mode: mode
+ :param lb: load balance
+ :param use_custom_mac: use custom mac
+ :param mac_address: mac address
+ """
+ return self.api(
+ self.papi.bond_create,
+ {'mode': mode,
+ 'lb': lb,
+ 'use_custom_mac': use_custom_mac,
+ 'mac_address': mac_address
+ })
+
+ def bond_delete(
+ self,
+ sw_if_index):
+ """
+ :param sw_if_index: interface the operation is applied to
+ """
+ return self.api(self.papi.bond_delete,
+ {'sw_if_index': sw_if_index})
+
+ def bond_enslave(
+ self,
+ sw_if_index,
+ bond_sw_if_index,
+ is_passive,
+ is_long_timeout):
+ """
+ :param sw_if_index: slave sw_if_index
+ :param bond_sw_if_index: bond sw_if_index
+ :param is_passive: is passive lacp speaker
+ :param is_long_time: 90 seconds timeout instead of 3 seconds timeout
+ """
+ return self.api(
+ self.papi.bond_enslave,
+ {'sw_if_index': sw_if_index,
+ 'bond_sw_if_index': bond_sw_if_index,
+ 'is_passive': is_passive,
+ 'is_long_timeout': is_long_timeout
+ })
+
+ def bond_detach_slave(
+ self,
+ sw_if_index):
+ """
+ :param sw_if_index: slave interface the operation is applied to
+ """
+ return self.api(self.papi.bond_detach_slave,
+ {'sw_if_index': sw_if_index})
+
+ def sw_interface_slave_dump(
+ self,
+ sw_if_index):
+ """
+ :param sw_if_index: bond sw_if_index
+ """
+ return self.api(self.papi.sw_interface_slave_dump,
+ {'sw_if_index': sw_if_index})
+
+ def sw_interface_bond_dump(
+ self):
+ """
+
+ """
+ return self.api(self.papi.sw_interface_bond_dump,
+ {})