X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_gre_interface.py;h=770292e80b8cff10dae2ab377a1ce96e44ea83a0;hb=e5b94dded;hp=d6f4202cf1a190743645c96aeb9f07ebc39572b7;hpb=e1ade684eb5a7e5743abfda47488165452cc5b64;p=vpp.git diff --git a/test/vpp_gre_interface.py b/test/vpp_gre_interface.py index d6f4202cf1a..770292e80b8 100644 --- a/test/vpp_gre_interface.py +++ b/test/vpp_gre_interface.py @@ -1,6 +1,7 @@ from vpp_interface import VppInterface import socket +from vpp_papi import VppEnum class VppGreInterface(VppInterface): @@ -8,84 +9,67 @@ class VppGreInterface(VppInterface): VPP GRE interface """ - def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=0, + def __init__(self, test, src_ip, dst_ip, outer_table_id=0, + type=None, mode=None, flags=0, session=0): """ Create VPP GRE interface """ super(VppGreInterface, self).__init__(test) self.t_src = src_ip self.t_dst = dst_ip - self.t_outer_fib = outer_fib_id - self.t_type = type + self.t_outer_table = outer_table_id self.t_session = session + self.t_flags = flags + self.t_type = type + if not self.t_type: + self.t_type = (VppEnum.vl_api_gre_tunnel_type_t. + GRE_API_TUNNEL_TYPE_L3) + self.t_mode = mode + if not self.t_mode: + self.t_mode = (VppEnum.vl_api_tunnel_mode_t. + TUNNEL_API_MODE_P2P) def add_vpp_config(self): - s = socket.inet_pton(socket.AF_INET, self.t_src) - d = socket.inet_pton(socket.AF_INET, self.t_dst) - r = self.test.vapi.gre_add_del_tunnel(s, d, - outer_fib_id=self.t_outer_fib, - tunnel_type=self.t_type, - session_id=self.t_session) + r = self.test.vapi.gre_tunnel_add_del( + is_add=1, + tunnel={ + 'src': self.t_src, + 'dst': self.t_dst, + 'outer_table_id': self.t_outer_table, + 'instance': 0xffffffff, + 'type': self.t_type, + 'mode': self.t_mode, + 'flags': self.t_flags, + 'session_id': self.t_session}) self.set_sw_if_index(r.sw_if_index) self.generate_remote_hosts() self.test.registry.register(self, self.test.logger) + return self def remove_vpp_config(self): - s = socket.inet_pton(socket.AF_INET, self.t_src) - d = socket.inet_pton(socket.AF_INET, self.t_dst) self.unconfig() - self.test.vapi.gre_add_del_tunnel(s, d, - outer_fib_id=self.t_outer_fib, - tunnel_type=self.t_type, - session_id=self.t_session, - is_add=0) - - def __str__(self): - return self.object_id() + self.test.vapi.gre_tunnel_add_del( + is_add=0, + tunnel={ + 'src': self.t_src, + 'dst': self.t_dst, + 'outer_table_id': self.t_outer_table, + 'instance': 0xffffffff, + 'type': self.t_type, + 'mode': self.t_mode, + 'flags': self.t_flags, + 'session_id': self.t_session}) def object_id(self): return "gre-%d" % self.sw_if_index + def query_vpp_config(self): + return (self.test.vapi.gre_tunnel_dump( + sw_if_index=self._sw_if_index)) -class VppGre6Interface(VppInterface): - """ - VPP GRE IPv6 interface - """ - - def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=0, - session=0): - """ Create VPP GRE interface """ - super(VppGre6Interface, self).__init__(test) - self.t_src = src_ip - self.t_dst = dst_ip - self.t_outer_fib = outer_fib_id - self.t_type = type - self.t_session = session - - def add_vpp_config(self): - s = socket.inet_pton(socket.AF_INET6, self.t_src) - d = socket.inet_pton(socket.AF_INET6, self.t_dst) - r = self.test.vapi.gre_add_del_tunnel(s, d, - outer_fib_id=self.t_outer_fib, - tunnel_type=self.t_type, - session_id=self.t_session, - is_ip6=1) - self.set_sw_if_index(r.sw_if_index) - self.generate_remote_hosts() - self.test.registry.register(self, self.test.logger) - - def remove_vpp_config(self): - s = socket.inet_pton(socket.AF_INET6, self.t_src) - d = socket.inet_pton(socket.AF_INET6, self.t_dst) - self.unconfig() - self.test.vapi.gre_add_del_tunnel(s, d, - outer_fib_id=self.t_outer_fib, - tunnel_type=self.t_type, - session_id=self.t_session, - is_add=0, - is_ip6=1) + @property + def remote_ip(self): + return self.t_dst - def __str__(self): - return self.object_id() - - def object_id(self): - return "gre-%d" % self._sw_if_index + @property + def local_ip(self): + return self.t_src