ixgbe: ixgbe_atr() compute l4_proto only if non-paged data has network/transport...
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Mon, 24 Oct 2016 22:36:39 +0000 (15:36 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 5 Nov 2016 00:36:45 +0000 (17:36 -0700)
commit9f3c7504fa005e2aab5ba9e1f2d8b4f4fcc6c077
treed925054f5c2bc920fa8061d9f95401be78a37dd5
parent520288218cf233f442aa815496a95622c2672c62
ixgbe: ixgbe_atr() compute l4_proto only if non-paged data has network/transport headers

For some Tx paths (e.g., tpacket_snd()), ixgbe_atr may be
passed down an sk_buff that has the network and transport
header in the paged data, so it needs to make sure these
headers are available in the headlen bytes to calculate the
l4_proto.

This patch expect that network and transport headers are
already available in the non-paged header dat.  The assumption
is that the caller has set this up if l4_proto based Tx
steering is desired.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Reviewed-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c