vlib: fix dangling reference in node_by_name hash
[vpp.git] / test / vpp_pppoe_interface.py
1
2 from vpp_interface import VppInterface
3 import socket
4 from vpp_papi import mac_pton
5
6
7 class VppPppoeInterface(VppInterface):
8     """
9     VPP Pppoe interface
10     """
11
12     def __init__(self, test, client_ip, client_mac,
13                  session_id, decap_vrf_id=0):
14         """ Create VPP PPPoE4 interface """
15         super(VppPppoeInterface, self).__init__(test)
16         self.client_ip = client_ip
17         self.client_mac = client_mac
18         self.session_id = session_id
19         self.decap_vrf_id = decap_vrf_id
20         self.vpp_sw_if_index = -1
21
22     def add_vpp_config(self):
23         r = self.test.vapi.pppoe_add_del_session(
24                 self.client_ip, self.client_mac,
25                 session_id=self.session_id,
26                 decap_vrf_id=self.decap_vrf_id)
27         self.set_sw_if_index(r.sw_if_index)
28         self.vpp_sw_if_index = r.sw_if_index
29         self.generate_remote_hosts()
30
31     def remove_vpp_config(self):
32         self.unconfig()
33         self.test.vapi.pppoe_add_del_session(
34                 self.client_ip, self.client_mac,
35                 session_id=self.session_id,
36                 decap_vrf_id=self.decap_vrf_id,
37                 is_add=0)
38
39     def set_unnumbered(self, swif_iface):
40         self.test.vapi.sw_interface_set_unnumbered(
41             swif_iface,
42             self.vpp_sw_if_index)