X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_ipip_tun_interface.py;h=6517458d3d68366921ace3d56d26d5c876b5d7e1;hb=refs%2Fchanges%2F49%2F33249%2F5;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..6517458d3d6 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,21 +8,37 @@ 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, + '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) @@ -37,7 +54,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):