VPP-1119: PPPoE's destination MAC was overwritten 62/10062/2
authorHongjun Ni <hongjun.ni@intel.com>
Mon, 8 Jan 2018 22:52:19 +0000 (06:52 +0800)
committerDave Wallace <dwallacelf@gmail.com>
Thu, 18 Jan 2018 15:07:59 +0000 (15:07 +0000)
Change-Id: I6ae99c00e76058654f2c5e71377e9fd1bd13b47b
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
(cherry picked from commit c287cd550b91be7a93bae76d0086db87f575e3d3)

src/plugins/pppoe/pppoe.c

index 499b1d7..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));
 }