2 from vpp_interface import VppInterface
6 class VppGreInterface(VppInterface):
11 def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=0,
13 """ Create VPP GRE interface """
15 super(VppGreInterface, self).__init__(test)
19 self.t_outer_fib = outer_fib_id
21 self.t_session = session
23 def add_vpp_config(self):
24 s = socket.inet_pton(socket.AF_INET, self.t_src)
25 d = socket.inet_pton(socket.AF_INET, self.t_dst)
26 r = self.test.vapi.gre_tunnel_add_del(s, d,
27 outer_fib_id=self.t_outer_fib,
28 tunnel_type=self.t_type,
29 session_id=self.t_session)
30 self._sw_if_index = r.sw_if_index
31 self.generate_remote_hosts()
32 self._test.registry.register(self, self._test.logger)
34 def remove_vpp_config(self):
35 s = socket.inet_pton(socket.AF_INET, self.t_src)
36 d = socket.inet_pton(socket.AF_INET, self.t_dst)
38 self.test.vapi.gre_tunnel_add_del(s, d,
39 outer_fib_id=self.t_outer_fib,
40 tunnel_type=self.t_type,
41 session_id=self.t_session,
45 return self.object_id()
48 return "gre-%d" % self._sw_if_index
51 class VppGre6Interface(VppInterface):
53 VPP GRE IPv6 interface
56 def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=0,
58 """ Create VPP GRE interface """
60 super(VppGre6Interface, self).__init__(test)
64 self.t_outer_fib = outer_fib_id
66 self.t_session = session
68 def add_vpp_config(self):
69 s = socket.inet_pton(socket.AF_INET6, self.t_src)
70 d = socket.inet_pton(socket.AF_INET6, self.t_dst)
71 r = self.test.vapi.gre_tunnel_add_del(s, d,
72 outer_fib_id=self.t_outer_fib,
73 tunnel_type=self.t_type,
74 session_id=self.t_session,
76 self._sw_if_index = r.sw_if_index
77 self.generate_remote_hosts()
78 self._test.registry.register(self, self._test.logger)
80 def remove_vpp_config(self):
81 s = socket.inet_pton(socket.AF_INET6, self.t_src)
82 d = socket.inet_pton(socket.AF_INET6, self.t_dst)
84 self.test.vapi.gre_tunnel_add_del(s, d,
85 outer_fib_id=self.t_outer_fib,
86 tunnel_type=self.t_type,
87 session_id=self.t_session,
92 return self.object_id()
95 return "gre-%d" % self._sw_if_index