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: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
2844f79758
Коммит
182ff8dfdb
|
@ -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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
static inline void igb_rx_checksum_adv(struct igb_adapter *adapter,
|
||||
|
|
|
@ -459,23 +459,16 @@ 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);
|
||||
else
|
||||
netif_rx(skb);
|
||||
}
|
||||
if (adapter->vlgrp && is_vlan && (tag != 0))
|
||||
vlan_hwaccel_rx(skb, adapter->vlgrp, tag);
|
||||
else
|
||||
netif_rx(skb);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче