blob: c74f58532f2326053362e8ac7bc93c8b8a48e761 [file] [log] [blame]
Klement Sekera31da2e32018-06-24 22:49:55 +02001from abc import abstractmethod, ABCMeta
2from vpp_pg_interface import is_ipv6_misc
3from vpp_interface import VppInterface
4
5
6class VppTunnelInterface(VppInterface):
7 """ VPP tunnel interface abstration """
8 __metaclass__ = ABCMeta
9
10 @abstractmethod
11 def __init__(self, test, parent_if):
12 super(VppTunnelInterface, self).__init__(test)
13 self.parent_if = parent_if
14
15 @property
16 def local_mac(self):
17 return self.parent_if.local_mac
18
19 @property
20 def remote_mac(self):
21 return self.parent_if.remote_mac
22
23 def enable_capture(self):
24 return self.parent_if.enable_capture()
25
26 def add_stream(self, pkts):
27 return self.parent_if.add_stream(pkts)
28
29 def get_capture(self, expected_count=None, remark=None, timeout=1,
30 filter_out_fn=is_ipv6_misc):
31 return self.parent_if.get_capture(expected_count, remark, timeout,
32 filter_out_fn)