'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_via_label': next_hop_via_label,
'mt_next_hop_out_label_stack': next_hop_out_label_stack})
def nat44_interface_add_del_feature(
self_twice_nat=0,
out2in_only=0,
tag='',
+ affinity=0,
local_num=0,
locals=[],
is_add=1):
:param twice_nat: 1 if translate external host address and port
:param tag: Opaque string tag
+ :param affinity: if 0 disabled, otherwise client IP affinity timeout
:param is_add - 1 if add, 0 if delete
"""
return self.api(
'self_twice_nat': self_twice_nat,
'out2in_only': out2in_only,
'tag': tag,
+ 'affinity': affinity,
'local_num': local_num,
'locals': locals})
"""
return self.api(self.papi.nat_det_map_dump, {})
- def nat_det_set_timeouts(
+ def nat_set_timeouts(
self,
udp=300,
tcp_established=7440,
tcp_transitory=240,
icmp=60):
- """Set values of timeouts for deterministic NAT (in seconds)
+ """Set values of timeouts for NAT sessions (in seconds)
:param udp - UDP timeout (Default value = 300)
:param tcp_established - TCP established timeout (Default value = 7440)
:param icmp - ICMP timeout (Default value = 60)
"""
return self.api(
- self.papi.nat_det_set_timeouts,
+ self.papi.nat_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
+ def nat_get_timeouts(self):
+ """Get values of timeouts for NAT sessions
- :return: Timeouts for deterministic NAT (in seconds)
+ :return: Timeouts for NAT sessions (in seconds)
"""
- return self.api(self.papi.nat_det_get_timeouts, {})
+ return self.api(self.papi.nat_get_timeouts, {})
+
+ def nat_set_addr_and_port_alloc_alg(
+ self,
+ alg=0,
+ psid_offset=0,
+ psid_length=0,
+ psid=0,
+ start_port=0,
+ end_port=0):
+ """Set address and port assignment algorithm
+
+ :param alg: algorithm: 0 - default, 1 - MAP-E, 2 - port range
+ :param psid_offset: number of offset bits (valid only for MAP-E alg)
+ :param psid_length: length of PSID (valid only for MAP-E alg)
+ :param psid: Port Set Identifier value (valid only for MAP-E alg)
+ :param start_port: beginning of the port range
+ :param end_port: end of the port range
+ """
+ return self.api(
+ self.papi.nat_set_addr_and_port_alloc_alg,
+ {'alg': alg,
+ 'psid_offset': psid_offset,
+ 'psid_length': psid_length,
+ 'psid': psid,
+ 'start_port': start_port,
+ 'end_port': end_port})
+
+ def nat_get_addr_and_port_alloc_alg(self):
+ """Get address and port assignment algorithm"""
+ return self.api(self.papi.nat_get_addr_and_port_alloc_alg, {})
def nat_det_close_session_out(
self,
'decap_vrf_id': decap_vrf_id,
'client_mac': client_mac})
+ def sr_mpls_policy_add(self, bsid, weight, type, segments):
+ return self.api(self.papi.sr_mpls_policy_add,
+ {'bsid': bsid,
+ 'weight': weight,
+ 'type': type,
+ 'n_segments': len(segments),
+ 'segments': segments})
+
+ def sr_mpls_policy_del(self, bsid):
+ return self.api(self.papi.sr_mpls_policy_del,
+ {'bsid': bsid})
+
def sr_localsid_add_del(self,
localsid,
behavior,
""" GBP contract Dump """
return self.api(self.papi.gbp_contract_dump, {})
- def ipip_6rd_add_tunnel(self, fib_index, ip6_prefix, ip6_prefix_len,
- ip4_prefix, ip4_prefix_len, ip4_src,
+ def ipip_6rd_add_tunnel(self, ip6_table_id, ip6_prefix, ip6_prefix_len,
+ ip4_table_id, ip4_prefix, ip4_prefix_len, ip4_src,
security_check):
""" 6RD tunnel Add """
return self.api(self.papi.ipip_6rd_add_tunnel,
- {'fib_index': fib_index,
+ {'ip4_table_id': ip4_table_id,
+ 'ip6_table_id': ip6_table_id,
'ip6_prefix': ip6_prefix,
'ip6_prefix_len': ip6_prefix_len,
'ip4_prefix': ip4_prefix,
{'sw_if_index': sw_if_index})
def ipip_add_tunnel(self, src_address, dst_address, is_ipv6=1,
- instance=0xFFFFFFFF, fib_index=0, tc_tos=0):
+ instance=0xFFFFFFFF, table_id=0, tc_tos=0):
""" IPIP tunnel Add/Del """
return self.api(self.papi.ipip_add_tunnel,
{'is_ipv6': is_ipv6,
'instance': instance,
'src_address': src_address,
'dst_address': dst_address,
- 'fib_index': fib_index,
+ 'table_id': table_id,
'tc_tos': tc_tos})
def ipip_del_tunnel(self, sw_if_index):