'learn': 1, 'is_add': 1, },
'bvi_create': {'user_instance': 4294967295, },
'bvi_delete': {},
- 'classify_add_del_table': {'match_n_vectors': 1, 'table_index': 4294967295,
- 'nbuckets': 2, 'memory_size': 2097152,
- 'next_table_index': 4294967295,
- 'miss_next_index': 4294967295, },
'gbp_subnet_add_del': {'sw_if_index': 4294967295, 'epg_id': 65535, },
'geneve_add_del_tunnel': {'mcast_sw_if_index': 4294967295, 'is_add': 1,
'decap_next_index': 4294967295, },
- 'gre_tunnel_add_del': {'instance': 4294967295, 'is_add': 1, },
- 'gtpu_add_del_tunnel': {'is_add': 1, 'mcast_sw_if_index': 4294967295,
- 'decap_next_index': 4294967295, },
'input_acl_set_interface': {'ip4_table_index': 4294967295,
'ip6_table_index': 4294967295,
'l2_table_index': 4294967295, },
'want_bfd_events': {'enable_disable': 1, },
'want_igmp_events': {'enable': 1, },
'want_interface_events': {'enable_disable': 1, },
- 'want_ip4_arp_events': {'enable_disable': 1, 'ip': '0.0.0.0', },
- 'want_ip6_nd_events': {'enable_disable': 1, 'ip': '::', },
- 'want_ip6_ra_events': {'enable_disable': 1, },
'want_l2_macs_events': {'enable_disable': 1, },
}
"""
return cli + "\n" + self.cli(cli)
- def want_ip4_arp_events(self, enable_disable=1, ip="0.0.0.0"):
- return self.api(self.papi.want_ip4_arp_events,
- {'enable_disable': enable_disable,
- 'ip': ip,
- 'pid': os.getpid(), })
-
- def want_ip6_nd_events(self, enable_disable=1, ip="::"):
- return self.api(self.papi.want_ip6_nd_events,
- {'enable_disable': enable_disable,
- 'ip': ip,
- 'pid': os.getpid(), })
-
- def want_ip6_ra_events(self, enable_disable=1):
- return self.api(self.papi.want_ip6_ra_events,
- {'enable_disable': enable_disable,
- 'pid': os.getpid(), })
-
def ip6nd_send_router_solicitation(self, sw_if_index, irt=1, mrt=120,
mrc=0, mrd=0):
return self.api(self.papi.ip6nd_send_router_solicitation,
return self.api(
self.papi.proxy_arp_intfc_enable_disable,
{'sw_if_index': sw_if_index,
- 'enable_disable': is_enable
- }
- )
-
- def gre_tunnel_add_del(self,
- src,
- dst,
- outer_fib_id=0,
- tunnel_type=0,
- instance=0xFFFFFFFF,
- session_id=0,
- is_add=1):
- """ Add a GRE tunnel
-
- :param src_address:
- :param dst_address:
- :param outer_fib_id: (Default value = 0)
- :param tunnel_type: (Default value = 0)
- :param instance: (Default value = 0xFFFFFFFF)
- :param session_id: (Default value = 0)
- :param is_add: (Default value = 1)
- :param is_ipv6: (Default value = 0)
- """
-
- return self.api(
- self.papi.gre_tunnel_add_del,
- {'is_add': is_add,
- 'tunnel':
- {
- 'type': tunnel_type,
- 'instance': instance,
- 'src': src,
- 'dst': dst,
- 'outer_fib_id': outer_fib_id,
- 'session_id': session_id}
+ 'enable': is_enable
}
)
'mt_paths': paths,
}})
- def classify_add_del_table(
- self,
- is_add,
- mask,
- match_n_vectors=1,
- table_index=0xFFFFFFFF,
- nbuckets=2,
- memory_size=2097152,
- skip_n_vectors=0,
- next_table_index=0xFFFFFFFF,
- miss_next_index=0xFFFFFFFF,
- current_data_flag=0,
- current_data_offset=0):
- """
- :param is_add:
- :param mask:
- :param match_n_vectors: (Default value = 1)
- :param table_index: (Default value = 0xFFFFFFFF)
- :param nbuckets: (Default value = 2)
- :param memory_size: (Default value = 2097152)
- :param skip_n_vectors: (Default value = 0)
- :param next_table_index: (Default value = 0xFFFFFFFF)
- :param miss_next_index: (Default value = 0xFFFFFFFF)
- :param current_data_flag: (Default value = 0)
- :param current_data_offset: (Default value = 0)
- """
- mask_len = ((len(mask) - 1) // 16 + 1) * 16
- mask = mask + b'\0' * (mask_len - len(mask))
- return self.api(
- self.papi.classify_add_del_table,
- {'is_add': is_add,
- 'table_index': table_index,
- 'nbuckets': nbuckets,
- 'memory_size': memory_size,
- 'skip_n_vectors': skip_n_vectors,
- 'match_n_vectors': match_n_vectors,
- 'next_table_index': next_table_index,
- 'miss_next_index': miss_next_index,
- 'current_data_flag': current_data_flag,
- 'current_data_offset': current_data_offset,
- 'mask_len': mask_len,
- 'mask': mask})
-
- def classify_add_del_session(
- self,
- is_add,
- table_index,
- match,
- opaque_index=0xFFFFFFFF,
- hit_next_index=0xFFFFFFFF,
- advance=0,
- action=0,
- metadata=0):
- """
- :param is_add:
- :param table_index:
- :param match:
- :param opaque_index: (Default value = 0xFFFFFFFF)
- :param hit_next_index: (Default value = 0xFFFFFFFF)
- :param advance: (Default value = 0)
- :param action: (Default value = 0)
- :param metadata: (Default value = 0)
- """
-
- match_len = ((len(match) - 1) // 16 + 1) * 16
- match = match + b'\0' * (match_len - len(match))
- return self.api(
- self.papi.classify_add_del_session,
- {'is_add': is_add,
- 'table_index': table_index,
- 'hit_next_index': hit_next_index,
- 'opaque_index': opaque_index,
- 'advance': advance,
- 'action': action,
- 'metadata': metadata,
- 'match_len': match_len,
- 'match': match})
-
def input_acl_set_interface(
self,
is_add,
'reid_len': reid_len,
})
- def gtpu_add_del_tunnel(
- self,
- src_addr,
- dst_addr,
- is_add=1,
- is_ipv6=0,
- mcast_sw_if_index=0xFFFFFFFF,
- encap_vrf_id=0,
- decap_next_index=0xFFFFFFFF,
- teid=0):
- """
-
- :param is_add: (Default value = 1)
- :param is_ipv6: (Default value = 0)
- :param src_addr:
- :param dst_addr:
- :param mcast_sw_if_index: (Default value = 0xFFFFFFFF)
- :param encap_vrf_id: (Default value = 0)
- :param decap_next_index: (Default value = 0xFFFFFFFF)
- :param teid: (Default value = 0)
-
- """
- return self.api(self.papi.gtpu_add_del_tunnel,
- {'is_add': is_add,
- 'is_ipv6': is_ipv6,
- 'src_address': src_addr,
- 'dst_address': dst_addr,
- 'mcast_sw_if_index': mcast_sw_if_index,
- 'encap_vrf_id': encap_vrf_id,
- 'decap_next_index': decap_next_index,
- 'teid': teid})
-
def vxlan_gpe_add_del_tunnel(
self,
src_addr,
client_mac,
session_id=0,
is_add=1,
- is_ipv6=0,
decap_vrf_id=0):
"""
"""
return self.api(self.papi.pppoe_add_del_session,
{'is_add': is_add,
- 'is_ipv6': is_ipv6,
'session_id': session_id,
'client_ip': client_ip,
'decap_vrf_id': decap_vrf_id,