X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_gre_interface.py;h=333fc0306eafe69dfefb5d81a966a9ed713ba6a5;hb=12989b538881f9681f078cf1485c51df1251877a;hp=1c71875f73a5f4b6b52b2e301e211b8a1000522b;hpb=7eac916e1b00d6a3393a09925e1634d71bf30568;p=vpp.git diff --git a/test/vpp_gre_interface.py b/test/vpp_gre_interface.py index 1c71875f73a..333fc0306ea 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,64 +9,50 @@ class VppGreInterface(VppInterface): VPP GRE interface """ - def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, is_teb=0): - """ Create VPP loopback interface """ - self._sw_if_index = 0 + def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=None, + session=0): + """ Create VPP GRE interface """ super(VppGreInterface, self).__init__(test) - self._test = test self.t_src = src_ip self.t_dst = dst_ip self.t_outer_fib = outer_fib_id - self.t_is_teb = is_teb + self.t_session = session + self.t_type = type + if not self.t_type: + self.t_type = (VppEnum.vl_api_gre_tunnel_type_t. + GRE_API_TUNNEL_TYPE_L3) 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_tunnel_add_del(s, d, + r = self.test.vapi.gre_tunnel_add_del(self.t_src, + self.t_dst, outer_fib_id=self.t_outer_fib, - is_teb=self.t_is_teb) - self._sw_if_index = r.sw_if_index + tunnel_type=self.t_type, + 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() - r = self.test.vapi.gre_tunnel_add_del(s, d, - outer_fib_id=self.t_outer_fib, - is_add=0) - - -class VppGre6Interface(VppInterface): - """ - VPP GRE IPv6 interface - """ - - def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, is_teb=0): - """ Create VPP loopback interface """ - self._sw_if_index = 0 - super(VppGre6Interface, self).__init__(test) - self._test = test - self.t_src = src_ip - self.t_dst = dst_ip - self.t_outer_fib = outer_fib_id - self.t_is_teb = is_teb - - 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_tunnel_add_del(s, d, - outer_fib_id=self.t_outer_fib, - is_teb=self.t_is_teb, - is_ip6=1) - self._sw_if_index = r.sw_if_index - self.generate_remote_hosts() - - 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() - r = self.test.vapi.gre_tunnel_add_del(s, d, - outer_fib_id=self.t_outer_fib, - is_add=0, - is_ip6=1) + self.test.vapi.gre_tunnel_add_del(self.t_src, + self.t_dst, + outer_fib_id=self.t_outer_fib, + tunnel_type=self.t_type, + session_id=self.t_session, + is_add=0) + + 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)) + + @property + def remote_ip(self): + return self.t_dst + + @property + def local_ip(self): + return self.t_src