summaryrefslogtreecommitdiffstats
path: root/src/plugins/pppoe/pppoe_cp_node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/pppoe/pppoe_cp_node.c')
-rw-r--r--src/plugins/pppoe/pppoe_cp_node.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/pppoe/pppoe_cp_node.c b/src/plugins/pppoe/pppoe_cp_node.c
index bf9018e8c90..1a44b5d3853 100644
--- a/src/plugins/pppoe/pppoe_cp_node.c
+++ b/src/plugins/pppoe/pppoe_cp_node.c
@@ -153,6 +153,9 @@ VLIB_NODE_FN (pppoe_cp_dispatch_node) (vlib_main_t * vm,
/* set src mac address */
si = vnet_get_sw_interface(vnm, tx_sw_if_index0);
+ if( si->type == VNET_SW_INTERFACE_TYPE_SUB ) {
+ si = vnet_get_sw_interface(vnm, si->sup_sw_if_index);
+ }
hi = vnet_get_hw_interface (vnm, si->hw_if_index);
clib_memcpy_fast (vlib_buffer_get_current (b0)+6, hi->hw_address, 6);
}