1 from vpp_interface import VppInterface
2 from vpp_papi import VppEnum
5 class VppGreInterface(VppInterface):
21 """Create VPP GRE interface"""
22 super(VppGreInterface, self).__init__(test)
25 self.t_outer_table = outer_table_id
26 self.t_session = session
30 self.t_type = VppEnum.vl_api_gre_tunnel_type_t.GRE_API_TUNNEL_TYPE_L3
33 self.t_mode = VppEnum.vl_api_tunnel_mode_t.TUNNEL_API_MODE_P2P
35 def add_vpp_config(self):
36 r = self.test.vapi.gre_tunnel_add_del(
41 "outer_table_id": self.t_outer_table,
42 "instance": 0xFFFFFFFF,
45 "flags": self.t_flags,
46 "session_id": self.t_session,
49 self.set_sw_if_index(r.sw_if_index)
50 self.generate_remote_hosts()
51 self.test.registry.register(self, self.test.logger)
54 def remove_vpp_config(self):
56 self.test.vapi.gre_tunnel_add_del(
61 "outer_table_id": self.t_outer_table,
62 "instance": 0xFFFFFFFF,
65 "flags": self.t_flags,
66 "session_id": self.t_session,
71 return "gre-%d" % self.sw_if_index
73 def query_vpp_config(self):
74 return self.test.vapi.gre_tunnel_dump(sw_if_index=self._sw_if_index)