VPP-1119: PPPoE's destination MAC was overwritten
[vpp.git] / src / plugins / pppoe / pppoe.c
index fe0775f..fac29c7 100644 (file)
@@ -150,10 +150,11 @@ pppoe_fixup (vlib_main_t * vm, ip_adjacency_t * adj, vlib_buffer_t * b0)
 {
   pppoe_header_t *pppoe0;
 
-  pppoe0 = vlib_buffer_get_current (b0);
+  pppoe0 = vlib_buffer_get_current (b0) + sizeof (ethernet_header_t);
 
   pppoe0->length = clib_host_to_net_u16 (vlib_buffer_length_in_chain (vm, b0)
                                         - sizeof (pppoe_header_t)
+                                        + sizeof (pppoe0->ppp_proto)
                                         - sizeof (ethernet_header_t));
 }
 
@@ -726,7 +727,7 @@ pppoe_init (vlib_main_t * vm)
                                pppoe_input_node.index);
 
   ethernet_register_input_type (vm, ETHERNET_TYPE_PPPOE_DISCOVERY,
-                               pppoe_tap_dispatch_node.index);
+                               pppoe_cp_dispatch_node.index);
 
   return 0;
 }