1 from vpp_interface import VppInterface
3 from vpp_papi import VppEnum
6 class VppGreInterface(VppInterface):
22 """Create VPP GRE interface"""
23 super(VppGreInterface, self).__init__(test)
26 self.t_outer_table = outer_table_id
27 self.t_session = session
31 self.t_type = VppEnum.vl_api_gre_tunnel_type_t.GRE_API_TUNNEL_TYPE_L3
34 self.t_mode = VppEnum.vl_api_tunnel_mode_t.TUNNEL_API_MODE_P2P
36 def add_vpp_config(self):
37 r = self.test.vapi.gre_tunnel_add_del(
42 "outer_table_id": self.t_outer_table,
43 "instance": 0xFFFFFFFF,
46 "flags": self.t_flags,
47 "session_id": self.t_session,
50 self.set_sw_if_index(r.sw_if_index)
51 self.generate_remote_hosts()
52 self.test.registry.register(self, self.test.logger)
55 def remove_vpp_config(self):
57 self.test.vapi.gre_tunnel_add_del(
62 "outer_table_id": self.t_outer_table,
63 "instance": 0xFFFFFFFF,
66 "flags": self.t_flags,
67 "session_id": self.t_session,
72 return "gre-%d" % self.sw_if_index
74 def query_vpp_config(self):
75 return self.test.vapi.gre_tunnel_dump(sw_if_index=self._sw_if_index)