X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_ipip_tun_interface.py;h=259767653bdca50cbaf1109852b43fc398780edf;hb=44b3abe86ab49a35403ba8d3938955549e392d22;hp=3558523f61d4d1f5819de7d1799e5009641fdabc;hpb=12989b538881f9681f078cf1485c51df1251877a;p=vpp.git diff --git a/test/vpp_ipip_tun_interface.py b/test/vpp_ipip_tun_interface.py index 3558523f61d..259767653bd 100644 --- a/test/vpp_ipip_tun_interface.py +++ b/test/vpp_ipip_tun_interface.py @@ -1,5 +1,6 @@ from vpp_tunnel_interface import VppTunnelInterface from ipaddress import ip_address +from vpp_papi import VppEnum class VppIpIpTunInterface(VppTunnelInterface): @@ -7,27 +8,42 @@ class VppIpIpTunInterface(VppTunnelInterface): VPP IP-IP Tunnel interface """ - def __init__(self, test, parent_if, src, dst): + def __init__( + self, test, parent_if, src, dst, table_id=0, dscp=0x0, flags=0, mode=None + ): super(VppIpIpTunInterface, self).__init__(test, parent_if) self.src = src self.dst = dst + self.table_id = table_id + self.dscp = dscp + self.flags = flags + self.mode = mode + if not self.mode: + self.mode = VppEnum.vl_api_tunnel_mode_t.TUNNEL_API_MODE_P2P def add_vpp_config(self): r = self.test.vapi.ipip_add_tunnel( tunnel={ - 'src': self.src, - 'dst': self.dst, - 'table_id': 0, - 'instance': 0xffffffff, - }) + "src": self.src, + "dst": self.dst, + "table_id": self.table_id, + "flags": self.flags, + "dscp": self.dscp, + "instance": 0xFFFFFFFF, + "mode": self.mode, + } + ) self.set_sw_if_index(r.sw_if_index) + r = self.test.vapi.ipip_tunnel_dump(sw_if_index=self.sw_if_index) + self.instance = r[0].tunnel.instance self.test.registry.register(self, self.test.logger) + return self def remove_vpp_config(self): self.test.vapi.ipip_del_tunnel(sw_if_index=self._sw_if_index) def query_vpp_config(self): - ts = self.test.vapi.ipip_tunnel_dump(sw_if_index=0xffffffff) + ts = self.test.vapi.ipip_tunnel_dump(sw_if_index=0xFFFFFFFF) for t in ts: if t.tunnel.sw_if_index == self._sw_if_index: return True @@ -37,7 +53,7 @@ class VppIpIpTunInterface(VppTunnelInterface): return self.object_id() def object_id(self): - return "ipip-%d" % self._sw_if_index + return "ipip%d" % self.instance @property def remote_ip(self):