This patch series contains the implementation of the RFC that was posted on this mailing list previously: https://www.spinics.net/lists/netdev/msg541709.html
It fixes having incorrect skb->transport_header values in cases when dissect fails. Having correct values set by the kernel fixes mlx5 operation and allows to remove some unnecessary code flows in mlx5. Maxim Mikityanskiy (7): net: Don't set transport offset to invalid value net: Introduce parse_protocol header_ops callback net/ethernet: Add parse_protocol header_ops support net/packet: Ask driver for protocol if not provided by user net/packet: Remove redundant skb->protocol set net/mlx5e: Remove the wrong assumption about transport offset net/mlx5e: Trust kernel regarding transport offset .../net/ethernet/mellanox/mlx5/core/en_tx.c | 15 ++--------- drivers/net/tap.c | 4 +-- drivers/net/tun.c | 4 +-- drivers/net/xen-netback/netback.c | 19 ++++++++------ include/linux/etherdevice.h | 1 + include/linux/netdevice.h | 10 +++++++ include/linux/skbuff.h | 14 +++++----- net/ethernet/eth.c | 13 ++++++++++ net/packet/af_packet.c | 26 +++++++++---------- 9 files changed, 60 insertions(+), 46 deletions(-) -- 2.19.1