X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_gre_interface.py;h=3de3e5c455988ec95459f8d50747cc724e005685;hb=c4f2ef7d7e315e183e3994630209471c5362163a;hp=58a68290c60285c3af3beb81a764908d72614a39;hpb=39f9973f89fe6d44ee3be5d1dd4457d20530d4aa;p=vpp.git diff --git a/test/vpp_gre_interface.py b/test/vpp_gre_interface.py index 58a68290c60..3de3e5c4559 100644 --- a/test/vpp_gre_interface.py +++ b/test/vpp_gre_interface.py @@ -8,29 +8,86 @@ 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 - super(VppGreInterface, self).__init__(test) + def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=0, + session=0): + """ Create VPP GRE interface """ 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_type = type + self.t_session = session 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, outer_fib_id=self.t_outer_fib, - is_teb=self.t_is_teb) + tunnel_type=self.t_type, + session_id=self.t_session) self._sw_if_index = r.sw_if_index self.generate_remote_hosts() + self.test.registry.register(self, self.test.logger) + super(VppGreInterface, self).__init__(self.test) 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_tunnel_add_del(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() + + def object_id(self): + return "gre-%d" % 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 """ + self._test = 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_tunnel_add_del(s, d, outer_fib_id=self.t_outer_fib, - is_add=0) + tunnel_type=self.t_type, + session_id=self.t_session, + is_ip6=1) + self._sw_if_index = r.sw_if_index + self.generate_remote_hosts() + self.test.registry.register(self, self.test.logger) + super(VppGre6Interface, self).__init__(self.test) + + 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_tunnel_add_del(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) + + def __str__(self): + return self.object_id() + + def object_id(self): + return "gre-%d" % self._sw_if_index