OSDN Git Service

mlxsw: spectrum_trap: Push Ethernet header before reporting trap
authorIdo Schimmel <idosch@mellanox.com>
Thu, 17 Oct 2019 07:11:03 +0000 (10:11 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Oct 2019 17:15:09 +0000 (10:15 -0700)
commit2e978795bb4c14293bf6ecf32621d32529706aef
tree568db4733b51da56748ed3613cdda7201decaafe
parent9669fffc1415bb0c30e5d2ec98a8e1c3a418cb9c
mlxsw: spectrum_trap: Push Ethernet header before reporting trap

devlink maintains packets and bytes statistics for each trap. Since
eth_type_trans() was called to set the skb's protocol, the data pointer
no longer points to the start of the packet and the bytes accounting is
off by 14 bytes.

Fix this by pushing the skb's data pointer to the start of the packet.

Fixes: b5ce611fd96e ("mlxsw: spectrum: Add devlink-trap support")
Reported-by: Alex Kushnarov <alexanderk@mellanox.com>
Tested-by: Alex Kushnarov <alexanderk@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c