2 from vpp_interface import VppInterface
4 from util import ppp, ppc, mactobinary
7 class VppPppoeInterface(VppInterface):
12 def __init__(self, test, client_ip, client_mac,
13 session_id, decap_vrf_id=0):
14 """ Create VPP PPPoE4 interface """
16 super(VppPppoeInterface, self).__init__(test)
18 self.client_ip = client_ip
19 self.client_mac = client_mac
20 self.session_id = session_id
21 self.decap_vrf_id = decap_vrf_id
23 def add_vpp_config(self):
24 cip = socket.inet_pton(socket.AF_INET, self.client_ip)
25 cmac = mactobinary(self.client_mac)
26 r = self.test.vapi.pppoe_add_del_session(
28 session_id=self.session_id,
29 decap_vrf_id=self.decap_vrf_id)
30 self._sw_if_index = r.sw_if_index
31 self.generate_remote_hosts()
33 def remove_vpp_config(self):
34 cip = socket.inet_pton(socket.AF_INET, self.client_ip)
35 cmac = mactobinary(self.client_mac)
37 r = self.test.vapi.pppoe_add_del_session(
39 session_id=self.session_id,
40 decap_vrf_id=self.decap_vrf_id,
44 class VppPppoe6Interface(VppInterface):
46 VPP Pppoe IPv6 interface
49 def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, is_teb=0):
50 """ Create VPP PPPoE6 interface """
52 super(VppPppoe6Interface, self).__init__(test)
54 self.client_ip = client_ip
55 self.client_mac = client_mac
56 self.session_id = session_id
57 self.decap_vrf_id = decap_vrf_id
59 def add_vpp_config(self):
60 cip = socket.inet_pton(socket.AF_INET6, self.client_ip)
61 cmac = mactobinary(self.client_mac)
62 r = self.test.vapi.pppoe_add_del_session(
64 session_id=self.session_id,
65 decap_vrf_id=self.decap_vrf_id,
67 self._sw_if_index = r.sw_if_index
68 self.generate_remote_hosts()
70 def remove_vpp_config(self):
71 cip = socket.inet_pton(socket.AF_INET6, self.client_ip)
72 cmac = mactobinary(self.client_mac)
74 r = self.test.vapi.pppoe_add_del_session(
76 session_id=self.session_id,
77 decap_vrf_id=self.decap_vrf_id,