from six import moves, iteritems
from vpp_papi import VPP, mac_pton
from hook import Hook
-from vpp_l2 import L2_PORT_TYPE
from vpp_ip_route import MPLS_IETF_MAX_LABEL, MPLS_LABEL_INVALID
-class L2_VTR_OP:
- L2_DISABLED = 0
- L2_PUSH_1 = 1
- L2_PUSH_2 = 2
- L2_POP_1 = 3
- L2_POP_2 = 4
- L2_TRANSLATE_1_1 = 5
- L2_TRANSLATE_1_2 = 6
- L2_TRANSLATE_2_1 = 7
- L2_TRANSLATE_2_2 = 8
-
-
class QOS_SOURCE:
EXT = 0
VLAN = 1
:param outer_fib_id: (Default value = 0)
:param tunnel_type: (Default value = 0)
:param instance: (Default value = 0xFFFFFFFF)
- :param session_id: (Defalt value = 0)
+ :param session_id: (Default value = 0)
:param is_add: (Default value = 1)
:param is_ipv6: (Default value = 0)
"""
: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 twice_nat: twice NAT address for extenral hosts
:param is_add: 1 if add, 0 if delete (Default value = 1)
"""
return self.api(
"""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 twice_nat: twice NAT address for external hosts
:param is_add: 1 if add, 0 if delete (Default value = 1)
"""
return self.api(
is_add=1):
"""Add/delete NAT44 load-balancing static mapping rule backend
- :param external_addr: external IPv4 address of the servic
+ :param external_addr: external IPv4 address of the service
:param external_port: external L4 port number of the service
:param local_addr: IPv4 address of the internal node
:param local_port: L4 port number of the internal node
: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 is_in: 1 if inside network address and port pair, 0 if outside
:param ext_host_address: external host IPv4 address
:param ext_host_port: external host port
"""
"""Dump NAT64 session table
:param protocol: IP protocol (Default value = 255, all STs)
- :returns: Dictionary of NAT64 sesstion table entries
+ :returns: Dictionary of NAT64 session table entries
"""
return self.api(self.papi.nat64_st_dump, {'proto': protocol})
"""Set HA failover (remote settings)
:param addr: failover IP4 address
- :param port: failvoer UDP port number
+ :param port: failover UDP port number
:param refresh: number of seconds after which to send session refresh
"""
return self.api(self.papi.nat_ha_set_failover,
tunnel_src_address='',
tunnel_dst_address='',
flags=0,
+ salt=0,
is_add=1):
""" IPSEC SA add/del
:param sad_id: security association ID
'data': crypto_key,
},
'flags': flags,
+ 'salt': salt,
}
})
def ipsec_tunnel_if_add_del(self, local_ip, remote_ip, local_spi,
remote_spi, crypto_alg, local_crypto_key,
remote_crypto_key, integ_alg, local_integ_key,
- remote_integ_key, is_add=1, esn=0,
+ remote_integ_key, is_add=1, esn=0, salt=0,
anti_replay=1, renumber=0, show_instance=0):
return self.api(
self.papi.ipsec_tunnel_if_add_del,
'esn': esn,
'anti_replay': anti_replay,
'renumber': renumber,
- 'show_instance': show_instance
+ 'show_instance': show_instance,
+ 'salt': salt
})
+ def ipsec_gre_tunnel_add_del(self, local_ip, remote_ip,
+ sa_out, sa_in, is_add=1):
+ return self.api(self.papi.ipsec_gre_tunnel_add_del,
+ {
+ 'is_add': is_add,
+ 'tunnel': {
+ 'src': local_ip,
+ 'dst': remote_ip,
+ 'local_sa_id': sa_out,
+ 'remote_sa_id': sa_in
+ }
+ })
+
def ipsec_select_backend(self, protocol, index):
return self.api(self.papi.ipsec_select_backend,
{'protocol': protocol, 'index': index})