X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_gre_interface.py;h=9b02488349bc6f488d60c963d0c2cb7766dc3351;hb=6facf8cd4516a18d7a6f5cc16557fc6cbc29ce20;hp=818f429f5c9c7fa18c43bb8c0e06b8df3c24aee5;hpb=5a8844bdbf4b055812cce2d7755a175b2cc90b75;p=vpp.git diff --git a/test/vpp_gre_interface.py b/test/vpp_gre_interface.py index 818f429f5c9..9b02488349b 100644 --- a/test/vpp_gre_interface.py +++ b/test/vpp_gre_interface.py @@ -1,4 +1,3 @@ - from vpp_interface import VppInterface import socket from vpp_papi import VppEnum @@ -9,41 +8,76 @@ class VppGreInterface(VppInterface): VPP GRE interface """ - def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=None, - session=0): - """ Create VPP GRE interface """ + def __init__( + self, + test, + src_ip, + dst_ip, + outer_table_id=0, + type=None, + mode=None, + flags=0, + session=0, + ): + """Create VPP GRE interface""" super(VppGreInterface, self).__init__(test) self.t_src = src_ip self.t_dst = dst_ip - self.t_outer_fib = outer_fib_id + self.t_outer_table = outer_table_id self.t_session = session + self.t_flags = flags self.t_type = type if not self.t_type: - self.t_type = (VppEnum.vl_api_gre_tunnel_type_t. - GRE_API_TUNNEL_TYPE_L3) + self.t_type = VppEnum.vl_api_gre_tunnel_type_t.GRE_API_TUNNEL_TYPE_L3 + self.t_mode = mode + if not self.t_mode: + self.t_mode = VppEnum.vl_api_tunnel_mode_t.TUNNEL_API_MODE_P2P def add_vpp_config(self): - r = 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) + r = self.test.vapi.gre_tunnel_add_del( + is_add=1, + tunnel={ + "src": self.t_src, + "dst": self.t_dst, + "outer_table_id": self.t_outer_table, + "instance": 0xFFFFFFFF, + "type": self.t_type, + "mode": self.t_mode, + "flags": self.t_flags, + "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): self.unconfig() - 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) + self.test.vapi.gre_tunnel_add_del( + is_add=0, + tunnel={ + "src": self.t_src, + "dst": self.t_dst, + "outer_table_id": self.t_outer_table, + "instance": 0xFFFFFFFF, + "type": self.t_type, + "mode": self.t_mode, + "flags": self.t_flags, + "session_id": self.t_session, + }, + ) 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)) + 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