Commit 182ff8df authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller
Browse files

igb/ixgbe: remove unecessary checks for CHECKSUM_UNNECESSARY



Both of these drivers do a check to verify ip_summed is set to
CHECKSUM_UNNECESSARY prior to passing the packet to GRO.  GRO itself
already does such a check so it is redundant and can be removed as this
will likely cause out of order issues when receiving a packet that didn't
pass checksum validation.

Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2844f797
Loading
Loading
Loading
Loading
+6 −14
Original line number Diff line number Diff line
@@ -4430,20 +4430,12 @@ static void igb_receive_skb(struct igb_ring *ring, u8 status,
	bool vlan_extracted = (adapter->vlgrp && (status & E1000_RXD_STAT_VP));

	skb_record_rx_queue(skb, ring->queue_index);
	if (skb->ip_summed == CHECKSUM_UNNECESSARY) {
	if (vlan_extracted)
		vlan_gro_receive(&ring->napi, adapter->vlgrp,
		                 le16_to_cpu(rx_desc->wb.upper.vlan),
		                 skb);
	else
		napi_gro_receive(&ring->napi, skb);
	} else {
		if (vlan_extracted)
			vlan_hwaccel_receive_skb(skb, adapter->vlgrp,
			                  le16_to_cpu(rx_desc->wb.upper.vlan));
		else
			netif_receive_skb(skb);
	}
}

static inline void igb_rx_checksum_adv(struct igb_adapter *adapter,
+5 −12
Original line number Diff line number Diff line
@@ -459,17 +459,11 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
	u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);

	skb_record_rx_queue(skb, q_vector - &adapter->q_vector[0]);
	if (skb->ip_summed == CHECKSUM_UNNECESSARY) {
	if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) {
		if (adapter->vlgrp && is_vlan && (tag != 0))
			vlan_gro_receive(napi, adapter->vlgrp, tag, skb);
		else
			napi_gro_receive(napi, skb);
	} else {
		if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) {
			if (adapter->vlgrp && is_vlan && (tag != 0))
				vlan_hwaccel_receive_skb(skb, adapter->vlgrp, tag);
			else
				netif_receive_skb(skb);
	} else {
		if (adapter->vlgrp && is_vlan && (tag != 0))
			vlan_hwaccel_rx(skb, adapter->vlgrp, tag);
@@ -477,7 +471,6 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
			netif_rx(skb);
	}
}
}

/**
 * ixgbe_rx_checksum - indicate in skb if hw indicated a good cksum