interface: fix pcap drop trace in case of vlan
Type: fix Change-Id: If3c4e5c376b51a26143d8922dcacfbda534163bd Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 4e323cbdbd57fcd77db68e295f639288441ef3e3)
This commit is contained in:

committed by
Damjan Marion

parent
1b696ac9b3
commit
2cf5b1a1ec
@ -1207,8 +1207,19 @@ pcap_drop_trace (vlib_main_t * vm,
|
||||
|
||||
/*
|
||||
* Typically, we'll need to rewind the buffer
|
||||
* if l2_hdr_offset is valid, make sure to rewind to the start of
|
||||
* the L2 header. This may not be the buffer start in case we pop-ed
|
||||
* vlan tags.
|
||||
* Otherwise, rewind to buffer start and hope for the best.
|
||||
*/
|
||||
if (b0->current_data > 0)
|
||||
if (b0->flags & VNET_BUFFER_F_L2_HDR_OFFSET_VALID)
|
||||
{
|
||||
if (b0->current_data > vnet_buffer (b0)->l2_hdr_offset)
|
||||
vlib_buffer_advance (b0,
|
||||
vnet_buffer (b0)->l2_hdr_offset -
|
||||
b0->current_data);
|
||||
}
|
||||
else if (b0->current_data > 0)
|
||||
vlib_buffer_advance (b0, (word) - b0->current_data);
|
||||
|
||||
pcap_add_buffer (&im->pcap_main, vm, bi0, 512);
|
||||
|
Reference in New Issue
Block a user