Previously, RX interface for PPPoE packets was set as the original interface.
Now it is set as corresponding PPPoE interface in the "pppoe-input" node.
We need to do it because otherwise IP or other settings won't be working onto the PPPoE interface (only on original rx interface).
Type: fix
Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Change-Id: If9cc37608aa5fe685b8278dd99b819b7eddc6c38
sw_if_index0 = t0->sw_if_index;
len0 = vlib_buffer_length_in_chain (vm, b0);
+ vnet_buffer(b0)->sw_if_index[VLIB_RX] = sw_if_index0;
pkts_decapsulated ++;
stats_n_packets += 1;
sw_if_index1 = t1->sw_if_index;
len1 = vlib_buffer_length_in_chain (vm, b1);
+ vnet_buffer(b1)->sw_if_index[VLIB_RX] = sw_if_index1;
pkts_decapsulated ++;
stats_n_packets += 1;
sw_if_index0 = t0->sw_if_index;
len0 = vlib_buffer_length_in_chain (vm, b0);
+ vnet_buffer(b0)->sw_if_index[VLIB_RX] = sw_if_index0;
pkts_decapsulated ++;
stats_n_packets += 1;
self.pg0.remote_mac,
self.session_id)
pppoe_if.add_vpp_config()
+ pppoe_if.set_unnumbered(self.pg0.sw_if_index)
#
# Send tunneled packets that match the created tunnel and
self.pg0.remote_mac,
self.session_id)
pppoe_if.add_vpp_config()
+ pppoe_if.set_unnumbered(self.pg0.sw_if_index)
#
# Send a packet stream that is routed into the session
self.pg0.remote_mac,
self.session_id)
pppoe_if.add_vpp_config()
+ pppoe_if.set_unnumbered(self.pg0.sw_if_index)
#
# The double create (create the same session twice) should fail,
self.pg0.remote_mac,
self.session_id)
pppoe_if1.add_vpp_config()
+ pppoe_if1.set_unnumbered(self.pg0.sw_if_index)
# Send PPPoE Discovery 2
tx3 = self.create_stream_pppoe_discovery(self.pg2, self.pg1,
self.pg2.remote_mac,
self.session_id + 1)
pppoe_if2.add_vpp_config()
+ pppoe_if2.set_unnumbered(self.pg0.sw_if_index)
#
# Send tunneled packets that match the created tunnel and
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(
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):
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)