diff options
Diffstat (limited to 'test/vpp_pppoe_interface.py')
-rw-r--r-- | test/vpp_pppoe_interface.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/vpp_pppoe_interface.py b/test/vpp_pppoe_interface.py new file mode 100644 index 00000000000..505ac4c6425 --- /dev/null +++ b/test/vpp_pppoe_interface.py @@ -0,0 +1,42 @@ + +from vpp_interface import VppInterface +import socket +from vpp_papi import mac_pton + + +class VppPppoeInterface(VppInterface): + """ + VPP Pppoe interface + """ + + def __init__(self, test, client_ip, client_mac, + session_id, decap_vrf_id=0): + """ Create VPP PPPoE4 interface """ + super(VppPppoeInterface, self).__init__(test) + self.client_ip = client_ip + self.client_mac = client_mac + self.session_id = session_id + self.decap_vrf_id = decap_vrf_id + self.vpp_sw_if_index = -1 + + def add_vpp_config(self): + r = self.test.vapi.pppoe_add_del_session( + self.client_ip, self.client_mac, + session_id=self.session_id, + decap_vrf_id=self.decap_vrf_id) + self.set_sw_if_index(r.sw_if_index) + self.vpp_sw_if_index = r.sw_if_index + self.generate_remote_hosts() + + def remove_vpp_config(self): + self.unconfig() + self.test.vapi.pppoe_add_del_session( + self.client_ip, self.client_mac, + session_id=self.session_id, + decap_vrf_id=self.decap_vrf_id, + is_add=0) + + def set_unnumbered(self, swif_iface): + self.test.vapi.sw_interface_set_unnumbered( + swif_iface, + self.vpp_sw_if_index) |