summaryrefslogtreecommitdiffstats
path: root/src/plugins/pppoe/pppoe.c
diff options
context:
space:
mode:
authorHongjun Ni <hongjun.ni@intel.com>2018-01-09 06:52:19 +0800
committerDave Wallace <dwallacelf@gmail.com>2018-01-09 17:13:00 +0000
commitc287cd550b91be7a93bae76d0086db87f575e3d3 (patch)
treeaba18a51127bf42c9fb7d1b10b3256ebcc5ea95c /src/plugins/pppoe/pppoe.c
parentf453a10cd4575f4d0a0467a4d61c75466cfd6efc (diff)
VPP-1119: PPPoE's destination MAC was overwritten
Change-Id: I6ae99c00e76058654f2c5e71377e9fd1bd13b47b Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Diffstat (limited to 'src/plugins/pppoe/pppoe.c')
-rw-r--r--src/plugins/pppoe/pppoe.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/pppoe/pppoe.c b/src/plugins/pppoe/pppoe.c
index 499b1d7147f..fac29c781fa 100644
--- a/src/plugins/pppoe/pppoe.c
+++ b/src/plugins/pppoe/pppoe.c
@@ -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));
}