ipsec: IPSec protection for multi-point tunnel interfaces
[vpp.git] / test / vpp_tunnel_interface.py
1 import abc
2 import six
3 from vpp_pg_interface import is_ipv6_misc
4 from vpp_interface import VppInterface
5
6
7 @six.add_metaclass(abc.ABCMeta)
8 class VppTunnelInterface(VppInterface):
9     """ VPP tunnel interface abstraction """
10
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)