vnet: complete the fix for l3_hdr_offset calculation for single loop fastpass case... 22/15222/2
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 10 Oct 2018 14:15:55 +0000 (16:15 +0200)
committerDamjan Marion <dmarion@me.com>
Thu, 11 Oct 2018 17:48:27 +0000 (17:48 +0000)
commit376414f4c3f53af44da4e82ee5d0b1843b291f8e
tree7c235c4f09d6a9af813a608b6d57691a9eb30037
parent5551e41f78249b72715203ecd93586f48acccbf4
vnet: complete the fix for l3_hdr_offset calculation for single loop fastpass case (VPP-1444)

20e6d36b has moved the calculation of the l3_hdr_offset into the determine_next_node()
function, with the assumption that the current_data in the buffer is at
the L3 header. This is not the case for the single loop fastpath,
where the vlib_buffer_advance() call is made after the call to
determine_next_node(), as a day1 behavior. As a result - that path
incorrectly sets the l3_hdr_offset.

Solution: move the vlib_buffer_advance() call to before determine_next_node()

Change-Id: Id5eaa084c43fb6564f8239df4a0b3dc0412b15de
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
src/vnet/ethernet/node.c