- :param table_id
- :param is_add: (Default value = 1)
-
- """
-
- return self.api(
- self.papi.mpls_table_add_del,
- {'mt_table_id': table_id,
- 'mt_is_add': is_add})
-
- def mpls_route_add_del(
- self,
- label,
- eos,
- next_hop_proto,
- next_hop_address,
- next_hop_sw_if_index=0xFFFFFFFF,
- table_id=0,
- next_hop_table_id=0,
- next_hop_weight=1,
- next_hop_n_out_labels=0,
- next_hop_out_label_stack=[],
- next_hop_via_label=MPLS_LABEL_INVALID,
- is_resolve_host=0,
- is_resolve_attached=0,
- is_interface_rx=0,
- is_rpf_id=0,
- is_multicast=0,
- is_add=1,
- is_drop=0,
- is_multipath=0,
- classify_table_index=0xFFFFFFFF,
- is_classify=0):
- """
-
- :param dst_address_length:
- :param next_hop_sw_if_index: (Default value = 0xFFFFFFFF)
- :param dst_address:
- :param next_hop_address:
- :param next_hop_sw_if_index: (Default value = 0xFFFFFFFF)
- :param vrf_id: (Default value = 0)
- :param lookup_in_vrf: (Default value = 0)
- :param classify_table_index: (Default value = 0xFFFFFFFF)
- :param is_add: (Default value = 1)
- :param is_drop: (Default value = 0)
- :param is_ipv6: (Default value = 0)
- :param is_local: (Default value = 0)
- :param is_classify: (Default value = 0)
- :param is_multipath: (Default value = 0)
- :param is_multicast: (Default value = 0)
- :param is_resolve_host: (Default value = 0)
- :param is_resolve_attached: (Default value = 0)
- :param next_hop_weight: (Default value = 1)
-
- """
- return self.api(
- self.papi.mpls_route_add_del,
- {'mr_label': label,
- 'mr_eos': eos,
- 'mr_table_id': table_id,
- 'mr_classify_table_index': classify_table_index,
- 'mr_is_add': is_add,
- 'mr_is_classify': is_classify,
- 'mr_is_multipath': is_multipath,
- 'mr_is_multicast': is_multicast,
- 'mr_is_resolve_host': is_resolve_host,
- 'mr_is_resolve_attached': is_resolve_attached,
- 'mr_is_interface_rx': is_interface_rx,
- 'mr_is_rpf_id': is_rpf_id,
- 'mr_next_hop_proto': next_hop_proto,
- 'mr_next_hop_weight': next_hop_weight,
- 'mr_next_hop': next_hop_address,
- 'mr_next_hop_n_out_labels': next_hop_n_out_labels,
- 'mr_next_hop_sw_if_index': next_hop_sw_if_index,
- 'mr_next_hop_table_id': next_hop_table_id,
- 'mr_next_hop_via_label': next_hop_via_label,
- 'mr_next_hop_out_label_stack': next_hop_out_label_stack})
-
- def mpls_ip_bind_unbind(
- self,
- label,
- dst_address,
- dst_address_length,
- table_id=0,
- ip_table_id=0,
- is_ip4=1,
- is_bind=1):
- """
- """
- return self.api(
- self.papi.mpls_ip_bind_unbind,
- {'mb_mpls_table_id': table_id,
- 'mb_label': label,
- 'mb_ip_table_id': ip_table_id,
- 'mb_is_bind': is_bind,
- 'mb_is_ip4': is_ip4,
- 'mb_address_length': dst_address_length,
- 'mb_address': dst_address})
-
- def mpls_tunnel_add_del(
- self,
- tun_sw_if_index,
- next_hop_proto_is_ip4,
- next_hop_address,
- next_hop_sw_if_index=0xFFFFFFFF,
- next_hop_table_id=0,
- next_hop_weight=1,
- next_hop_n_out_labels=0,
- next_hop_out_label_stack=[],
- next_hop_via_label=MPLS_LABEL_INVALID,
- is_add=1,
- l2_only=0,
- is_multicast=0):
- """
-
- :param dst_address_length:
- :param next_hop_sw_if_index: (Default value = 0xFFFFFFFF)
- :param dst_address:
- :param next_hop_address:
- :param next_hop_sw_if_index: (Default value = 0xFFFFFFFF)
- :param vrf_id: (Default value = 0)
- :param lookup_in_vrf: (Default value = 0)
- :param classify_table_index: (Default value = 0xFFFFFFFF)
- :param is_add: (Default value = 1)
- :param is_drop: (Default value = 0)
- :param is_ipv6: (Default value = 0)
- :param is_local: (Default value = 0)
- :param is_classify: (Default value = 0)
- :param is_multipath: (Default value = 0)
- :param is_resolve_host: (Default value = 0)
- :param is_resolve_attached: (Default value = 0)
- :param next_hop_weight: (Default value = 1)
- :param is_multicast: (Default value = 0)
-
- """
- return self.api(
- self.papi.mpls_tunnel_add_del,
- {'mt_sw_if_index': tun_sw_if_index,
- 'mt_is_add': is_add,
- 'mt_l2_only': l2_only,
- 'mt_is_multicast': is_multicast,
- 'mt_next_hop_proto_is_ip4': next_hop_proto_is_ip4,
- 'mt_next_hop_weight': next_hop_weight,
- 'mt_next_hop': next_hop_address,
- 'mt_next_hop_n_out_labels': next_hop_n_out_labels,
- 'mt_next_hop_sw_if_index': next_hop_sw_if_index,
- 'mt_next_hop_table_id': next_hop_table_id,
- 'mt_next_hop_out_label_stack': next_hop_out_label_stack})
-
- def nat44_interface_add_del_feature(
- self,
- sw_if_index,
- is_inside=1,
- is_add=1):
- """Enable/disable NAT44 feature on the interface
-
- :param sw_if_index: Software index of the interface
- :param is_inside: 1 if inside, 0 if outside (Default value = 1)
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat44_interface_add_del_feature,
- {'is_add': is_add,
- 'is_inside': is_inside,
- 'sw_if_index': sw_if_index})
-
- def nat44_interface_add_del_output_feature(
- self,
- sw_if_index,
- is_inside=1,
- is_add=1):
- """Enable/disable NAT44 output feature on the interface
-
- :param sw_if_index: Software index of the interface
- :param is_inside: 1 if inside, 0 if outside (Default value = 1)
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat44_interface_add_del_output_feature,
- {'is_add': is_add,
- 'is_inside': is_inside,
- 'sw_if_index': sw_if_index})
-
- def nat44_add_del_static_mapping(
- self,
- local_ip,
- external_ip=0,
- external_sw_if_index=0xFFFFFFFF,
- local_port=0,
- external_port=0,
- addr_only=1,
- vrf_id=0,
- protocol=0,
- twice_nat=0,
- self_twice_nat=0,
- out2in_only=0,
- tag="",
- is_add=1):
- """Add/delete NAT44 static mapping
-
- :param local_ip: Local IP address
- :param external_ip: External IP address
- :param external_sw_if_index: External interface instead of IP address
- :param local_port: Local port number (Default value = 0)
- :param external_port: External port number (Default value = 0)
- :param addr_only: 1 if address only mapping, 0 if address and port
- :param vrf_id: VRF ID
- :param protocol: IP protocol (Default value = 0)
- :param twice_nat: 1 if translate external host address and port
- :param self_twice_nat: 1 if translate external host address and port
- whenever external host address equals
- local address of internal host
- :param out2in_only: if 1 rule is matching only out2in direction
- :param tag: Opaque string tag
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat44_add_del_static_mapping,
- {'is_add': is_add,
- 'addr_only': addr_only,
- 'local_ip_address': local_ip,
- 'external_ip_address': external_ip,
- 'local_port': local_port,
- 'external_port': external_port,
- 'external_sw_if_index': external_sw_if_index,
- 'vrf_id': vrf_id,
- 'protocol': protocol,
- 'twice_nat': twice_nat,
- 'self_twice_nat': self_twice_nat,
- 'out2in_only': out2in_only,
- 'tag': tag})
-
- def nat44_add_del_identity_mapping(
- self,
- ip='0',
- sw_if_index=0xFFFFFFFF,
- port=0,
- addr_only=1,
- vrf_id=0,
- protocol=0,
- tag='',
- is_add=1):
- """Add/delete NAT44 identity mapping
-
- :param ip: IP address (Default value = 0)
- :param sw_if_index: Interface instead of IP address
- :param port: Port number (Default value = 0)
- :param addr_only: 1 if address only mapping, 0 if address and port
- :param vrf_id: VRF ID
- :param protocol: IP protocol (Default value = 0)
- :param tag: Opaque string tag
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat44_add_del_identity_mapping,
- {'is_add': is_add,
- 'addr_only': addr_only,
- 'ip_address': ip,
- 'port': port,
- 'sw_if_index': sw_if_index,
- 'vrf_id': vrf_id,
- 'tag': tag,
- 'protocol': protocol})
-
- def nat44_add_del_address_range(
- self,
- first_ip_address,
- last_ip_address,
- is_add=1,
- vrf_id=0xFFFFFFFF,
- twice_nat=0):
- """Add/del NAT44 address range
-
- :param first_ip_address: First IP address
- :param last_ip_address: Last IP address
- :param vrf_id: VRF id for the address range
- :param twice_nat: twice NAT address for extenal hosts
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat44_add_del_address_range,
- {'first_ip_address': first_ip_address,
- 'last_ip_address': last_ip_address,
- 'vrf_id': vrf_id,
- 'twice_nat': twice_nat,
- 'is_add': is_add})
-
- def nat44_address_dump(self):
- """Dump NAT44 addresses
- :return: Dictionary of NAT44 addresses
- """
- return self.api(self.papi.nat44_address_dump, {})
-
- def nat44_interface_dump(self):
- """Dump interfaces with NAT44 feature
- :return: Dictionary of interfaces with NAT44 feature
- """
- return self.api(self.papi.nat44_interface_dump, {})
-
- def nat44_interface_output_feature_dump(self):
- """Dump interfaces with NAT44 output feature
- :return: Dictionary of interfaces with NAT44 output feature
- """
- return self.api(self.papi.nat44_interface_output_feature_dump, {})
-
- def nat44_static_mapping_dump(self):
- """Dump NAT44 static mappings
- :return: Dictionary of NAT44 static mappings
- """
- return self.api(self.papi.nat44_static_mapping_dump, {})
-
- def nat44_identity_mapping_dump(self):
- """Dump NAT44 identity mappings
- :return: Dictionary of NAT44 identity mappings
- """
- return self.api(self.papi.nat44_identity_mapping_dump, {})
-
- def nat_show_config(self):
- """Show NAT plugin config
- :return: NAT plugin config parameters
- """
- return self.api(self.papi.nat_show_config, {})
-
- def nat44_add_interface_addr(
- self,
- sw_if_index,
- twice_nat=0,
- is_add=1):
- """Add/del NAT44 address from interface
-
- :param sw_if_index: Software index of the interface
- :param twice_nat: twice NAT address for extenal hosts
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat44_add_del_interface_addr,
- {'is_add': is_add,
- 'sw_if_index': sw_if_index,
- 'twice_nat': twice_nat})
-
- def nat44_interface_addr_dump(self):
- """Dump NAT44 addresses interfaces
- :return: Dictionary of NAT44 addresses interfaces
- """
- return self.api(self.papi.nat44_interface_addr_dump, {})
-
- def nat_ipfix(
- self,
- domain_id=1,
- src_port=4739,
- enable=1):
- """Enable/disable NAT IPFIX logging
-
- :param domain_id: Observation domain ID (Default value = 1)
- :param src_port: Source port number (Default value = 4739)
- :param enable: 1 if enable, 0 if disable (Default value = 1)
- """
- return self.api(
- self.papi.nat_ipfix_enable_disable,
- {'domain_id': domain_id,
- 'src_port': src_port,
- 'enable': enable})
-
- def nat44_user_session_dump(
- self,
- ip_address,
- vrf_id):
- """Dump NAT44 user's sessions
-
- :param ip_address: ip adress of the user to be dumped
- :param cpu_index: cpu_index on which the user is
- :param vrf_id: VRF ID
- :return: Dictionary of S-NAT sessions
- """
- return self.api(
- self.papi.nat44_user_session_dump,
- {'ip_address': ip_address,
- 'vrf_id': vrf_id})
-
- def nat44_user_dump(self):
- """Dump NAT44 users
-
- :return: Dictionary of NAT44 users
- """
- return self.api(self.papi.nat44_user_dump, {})
-
- def nat44_add_del_lb_static_mapping(
- self,
- external_addr,
- external_port,
- protocol,
- twice_nat=0,
- self_twice_nat=0,
- out2in_only=0,
- tag='',
- local_num=0,
- locals=[],
- is_add=1):
- """Add/delete NAT44 load balancing static mapping
-
- :param twice_nat: 1 if translate external host address and port
- :param tag: Opaque string tag
- :param is_add - 1 if add, 0 if delete
- """
- return self.api(
- self.papi.nat44_add_del_lb_static_mapping,
- {'is_add': is_add,
- 'external_addr': external_addr,
- 'external_port': external_port,
- 'protocol': protocol,
- 'twice_nat': twice_nat,
- 'self_twice_nat': self_twice_nat,
- 'out2in_only': out2in_only,
- 'tag': tag,
- 'local_num': local_num,
- 'locals': locals})
-
- def nat44_lb_static_mapping_dump(self):
- """Dump NAT44 load balancing static mappings
-
- :return: Dictionary of NAT44 load balancing static mapping
- """
- return self.api(self.papi.nat44_lb_static_mapping_dump, {})
-
- def nat44_del_session(
- self,
- addr,
- port,
- protocol,
- vrf_id=0,
- is_in=1,
- ext_host_address=None,
- ext_host_port=0):
- """Delete NAT44 session
-
- :param addr: IPv4 address
- :param por: port number
- :param protocol: IP protocol number
- :param vrf_id: VRF ID
- :param is_in: 1 if inside network addres and port pari, 0 if outside
- :param ext_host_address: external host IPv4 address
- :param ext_host_port: external host port
- """
- if ext_host_address is None:
- return self.api(
- self.papi.nat44_del_session,
- {'address': addr,
- 'port': port,
- 'protocol': protocol,
- 'vrf_id': vrf_id,
- 'is_in': is_in})
- else:
- return self.api(
- self.papi.nat44_del_session,
- {'address': addr,
- 'port': port,
- 'protocol': protocol,
- 'vrf_id': vrf_id,
- 'is_in': is_in,
- 'ext_host_valid': 1,
- 'ext_host_address': ext_host_address,
- 'ext_host_port': ext_host_port})
-
- def nat44_forwarding_enable_disable(
- self,
- enable):
- """Enable/disable forwarding for NAT44
-
- :param enable: 1 for enable, 0 for disable
- """
- return self.api(
- self.papi.nat44_forwarding_enable_disable,
- {'enable': enable})
-
- def nat_set_reass(
- self,
- timeout=2,
- max_reass=1024,
- max_frag=5,
- drop_frag=0,
- is_ip6=0):
- """Set NAT virtual fragmentation reassembly
-
- :param timeout: reassembly timeout (Default 2sec)
- :param max_reass: maximum concurrent reassemblies (Default 1024)
- :param max_frag: maximum fragmets per reassembly (Default 5)
- :param drop_frag: if 0 translate fragments, otherwise drop fragments
- :param is_ip6: 1 if IPv6, 0 if IPv4
- """
- return self.api(
- self.papi.nat_set_reass,
- {'timeout': timeout,
- 'max_reass': max_reass,
- 'max_frag': max_frag,
- 'drop_frag': drop_frag,
- 'is_ip6': is_ip6})
-
- def nat_get_reass(self):
- """Get NAT virtual fragmentation reassembly configuration
-
- :return: NAT virtual fragmentation reassembly configuration
- """
- return self.api(self.papi.nat_get_reass, {})
-
- def nat_reass_dump(self):
- """Dump NAT virtual fragmentation reassemblies
-
- :return: Dictionary of NAT virtual fragmentation reassemblies
- """
- return self.api(self.papi.nat_reass_dump, {})
-
- def nat_det_add_del_map(
- self,
- in_addr,
- in_plen,
- out_addr,
- out_plen,
- is_add=1):
- """Add/delete deterministic NAT mapping
-
- :param is_add - 1 if add, 0 if delete
- :param in_addr - inside IP address
- :param in_plen - inside IP address prefix length
- :param out_addr - outside IP address
- :param out_plen - outside IP address prefix length
- """
- return self.api(
- self.papi.nat_det_add_del_map,
- {'is_add': is_add,
- 'is_nat44': 1,
- 'in_addr': in_addr,
- 'in_plen': in_plen,
- 'out_addr': out_addr,
- 'out_plen': out_plen})
-
- def nat_det_forward(
- self,
- in_addr):
- """Get outside address and port range from inside address
-
- :param in_addr - inside IP address
- """
- return self.api(
- self.papi.nat_det_forward,
- {'in_addr': in_addr,
- 'is_nat44': 1})
-
- def nat_det_reverse(
- self,
- out_addr,
- out_port):
- """Get inside address from outside address and port
-
- :param out_addr - outside IP address
- :param out_port - outside port
- """
- return self.api(
- self.papi.nat_det_reverse,
- {'out_addr': out_addr,
- 'out_port': out_port})
-
- def nat_det_map_dump(self):
- """Dump deterministic NAT mappings
-
- :return: Dictionary of deterministic NAT mappings
- """
- return self.api(self.papi.nat_det_map_dump, {})
-
- def nat_det_set_timeouts(
- self,
- udp=300,
- tcp_established=7440,
- tcp_transitory=240,
- icmp=60):
- """Set values of timeouts for deterministic NAT (in seconds)
-
- :param udp - UDP timeout (Default value = 300)
- :param tcp_established - TCP established timeout (Default value = 7440)
- :param tcp_transitory - TCP transitory timeout (Default value = 240)
- :param icmp - ICMP timeout (Default value = 60)
- """
- return self.api(
- self.papi.nat_det_set_timeouts,
- {'udp': udp,
- 'tcp_established': tcp_established,
- 'tcp_transitory': tcp_transitory,
- 'icmp': icmp})
-
- def nat_det_get_timeouts(self):
- """Get values of timeouts for deterministic NAT
-
- :return: Timeouts for deterministic NAT (in seconds)
- """
- return self.api(self.papi.nat_det_get_timeouts, {})
-
- def nat_det_close_session_out(
- self,
- out_addr,
- out_port,
- ext_addr,
- ext_port):
- """Close deterministic NAT session using outside address and port
-
- :param out_addr - outside IP address
- :param out_port - outside port
- :param ext_addr - external host IP address
- :param ext_port - external host port
- """
- return self.api(
- self.papi.nat_det_close_session_out,
- {'out_addr': out_addr,
- 'out_port': out_port,
- 'ext_addr': ext_addr,
- 'ext_port': ext_port})
-
- def nat_det_close_session_in(
- self,
- in_addr,
- in_port,
- ext_addr,
- ext_port):
- """Close deterministic NAT session using inside address and port
-
- :param in_addr - inside IP address
- :param in_port - inside port
- :param ext_addr - external host IP address
- :param ext_port - external host port
- """
- return self.api(
- self.papi.nat_det_close_session_in,
- {'in_addr': in_addr,
- 'in_port': in_port,
- 'ext_addr': ext_addr,
- 'ext_port': ext_port,
- 'is_nat44': 1})
-
- def nat_det_session_dump(
- self,
- user_addr):
- """Dump deterministic NAT sessions belonging to a user
-
- :param user_addr - inside IP address of the user
- :return: Dictionary of deterministic NAT sessions
- """
- return self.api(
- self.papi.nat_det_session_dump,
- {'is_nat44': 1,
- 'user_addr': user_addr})
-
- def nat64_add_del_pool_addr_range(
- self,
- start_addr,
- end_addr,
- vrf_id=0xFFFFFFFF,
- is_add=1):
- """Add/del address range to NAT64 pool
-
- :param start_addr: First IP address
- :param end_addr: Last IP address
- :param vrf_id: VRF id for the address range
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat64_add_del_pool_addr_range,
- {'start_addr': start_addr,
- 'end_addr': end_addr,
- 'vrf_id': vrf_id,
- 'is_add': is_add})
-
- def nat64_pool_addr_dump(self):
- """Dump NAT64 pool addresses
- :return: Dictionary of NAT64 pool addresses
- """
- return self.api(self.papi.nat64_pool_addr_dump, {})
-
- def nat64_add_del_interface(
- self,
- sw_if_index,
- is_inside=1,
- is_add=1):
- """Enable/disable NAT64 feature on the interface
- :param sw_if_index: Index of the interface
- :param is_inside: 1 if inside, 0 if outside (Default value = 1)
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat64_add_del_interface,
- {'sw_if_index': sw_if_index,
- 'is_inside': is_inside,
- 'is_add': is_add})
-
- def nat64_interface_dump(self):
- """Dump interfaces with NAT64 feature
- :return: Dictionary of interfaces with NAT64 feature
- """
- return self.api(self.papi.nat64_interface_dump, {})
-
- def nat64_add_del_static_bib(
- self,
- in_ip,
- out_ip,
- in_port,
- out_port,
- protocol,
- vrf_id=0,
- is_add=1):
- """Add/delete S-NAT static BIB entry
-
- :param in_ip: Inside IPv6 address
- :param out_ip: Outside IPv4 address
- :param in_port: Inside port number
- :param out_port: Outside port number
- :param protocol: IP protocol
- :param vrf_id: VRF ID (Default value = 0)
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat64_add_del_static_bib,
- {'i_addr': in_ip,
- 'o_addr': out_ip,
- 'i_port': in_port,
- 'o_port': out_port,
- 'vrf_id': vrf_id,
- 'proto': protocol,
- 'is_add': is_add})
-
- def nat64_bib_dump(self, protocol=255):
- """Dump NAT64 BIB
-
- :param protocol: IP protocol (Default value = 255, all BIBs)
- :returns: Dictionary of NAT64 BIB entries
- """
- return self.api(self.papi.nat64_bib_dump, {'proto': protocol})
-
- def nat64_set_timeouts(self, udp=300, icmp=60, tcp_trans=240, tcp_est=7440,
- tcp_incoming_syn=6):
- """Set values of timeouts for NAT64 (in seconds)
-
- :param udpi: UDP timeout (Default value = 300)
- :param icmp: ICMP timeout (Default value = 60)
- :param tcp_trans: TCP transitory timeout (Default value = 240)
- :param tcp_est: TCP established timeout (Default value = 7440)
- :param tcp_incoming_syn: TCP incoming SYN timeout (Default value = 6)
- """
- return self.api(
- self.papi.nat64_set_timeouts,
- {'udp': udp,
- 'icmp': icmp,
- 'tcp_trans': tcp_trans,
- 'tcp_est': tcp_est,
- 'tcp_incoming_syn': tcp_incoming_syn})
-
- def nat64_get_timeouts(self):
- """Get values of timeouts for NAT64
-
- :return: Timeouts for NAT64 (in seconds)
- """
- return self.api(self.papi.nat64_get_timeouts, {})
-
- def nat64_st_dump(self, protocol=255):
- """Dump NAT64 session table
-
- :param protocol: IP protocol (Default value = 255, all STs)
- :returns: Dictionary of NAT64 sesstion table entries
- """
- return self.api(self.papi.nat64_st_dump, {'proto': protocol})
-
- def nat64_add_del_prefix(self, prefix, plen, vrf_id=0, is_add=1):
- """Add/del NAT64 prefix
-
- :param prefix: NAT64 prefix
- :param plen: NAT64 prefix length
- :param vrf_id: VRF id of tenant (Default 0)
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(
- self.papi.nat64_add_del_prefix,
- {'prefix': prefix,
- 'prefix_len': plen,
- 'vrf_id': vrf_id,
- 'is_add': is_add})
-
- def nat64_prefix_dump(self):
- """Dump NAT64 prefix
-
- :returns: Dictionary of NAT64 prefixes
- """
- return self.api(self.papi.nat64_prefix_dump, {})
-
- def nat64_add_interface_addr(
- self,
- sw_if_index,
- is_add=1):
- """Add/del NAT64 address from interface
-
- :param sw_if_index: Software index of the interface
- :param is_add: 1 if add, 0 if delete (Default value = 1)
- """
- return self.api(self.papi.nat64_add_del_interface_addr,
- {'is_add': is_add, 'sw_if_index': sw_if_index})
-
- def dslite_set_aftr_addr(self, ip6, ip4):
- """Set DS-Lite AFTR addresses
-
- :param ip4: IPv4 address
- :param ip6: IPv6 address
- """
- return self.api(
- self.papi.dslite_set_aftr_addr,
- {'ip4_addr': ip4,
- 'ip6_addr': ip6})
-
- def dslite_set_b4_addr(self, ip6, ip4):
- """Set DS-Lite B4 IPv6 address
-
- :param ip4: IPv4 address
- :param ip6: IPv6 address
- """
- return self.api(
- self.papi.dslite_set_b4_addr,
- {'ip4_addr': ip4,
- 'ip6_addr': ip6})
-
- def dslite_add_del_pool_addr_range(
- self,
- start_addr,
- end_addr,
- is_add=1):
- """Add/del address range to DS-Lite pool