diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-04-27 18:35:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-28 04:53:13 -0400 |
commit | 182ff8dfdb63e66ca81e4d3a4c746f8d578e5687 (patch) | |
tree | 8aa692b4a9576212020d61a1b2bab814aade1b9f /drivers/net | |
parent | 2844f7975837d47fe7f20aa96c1df3bcecf91935 (diff) |
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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/igb/igb_main.c | 20 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 17 |
2 files changed, 11 insertions, 26 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index 4ecf4dfce9bd..f7f861215242 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -4430,20 +4430,12 @@ static void igb_receive_skb(struct igb_ring *ring, u8 status, | |||
4430 | bool vlan_extracted = (adapter->vlgrp && (status & E1000_RXD_STAT_VP)); | 4430 | bool vlan_extracted = (adapter->vlgrp && (status & E1000_RXD_STAT_VP)); |
4431 | 4431 | ||
4432 | skb_record_rx_queue(skb, ring->queue_index); | 4432 | skb_record_rx_queue(skb, ring->queue_index); |
4433 | if (skb->ip_summed == CHECKSUM_UNNECESSARY) { | 4433 | if (vlan_extracted) |
4434 | if (vlan_extracted) | 4434 | vlan_gro_receive(&ring->napi, adapter->vlgrp, |
4435 | vlan_gro_receive(&ring->napi, adapter->vlgrp, | 4435 | le16_to_cpu(rx_desc->wb.upper.vlan), |
4436 | le16_to_cpu(rx_desc->wb.upper.vlan), | 4436 | skb); |
4437 | skb); | 4437 | else |
4438 | else | 4438 | napi_gro_receive(&ring->napi, skb); |
4439 | napi_gro_receive(&ring->napi, skb); | ||
4440 | } else { | ||
4441 | if (vlan_extracted) | ||
4442 | vlan_hwaccel_receive_skb(skb, adapter->vlgrp, | ||
4443 | le16_to_cpu(rx_desc->wb.upper.vlan)); | ||
4444 | else | ||
4445 | netif_receive_skb(skb); | ||
4446 | } | ||
4447 | } | 4439 | } |
4448 | 4440 | ||
4449 | static inline void igb_rx_checksum_adv(struct igb_adapter *adapter, | 4441 | static inline void igb_rx_checksum_adv(struct igb_adapter *adapter, |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index c45e4e7999ea..42b803d5cfd3 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -459,23 +459,16 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector, | |||
459 | u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); | 459 | u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); |
460 | 460 | ||
461 | skb_record_rx_queue(skb, q_vector - &adapter->q_vector[0]); | 461 | skb_record_rx_queue(skb, q_vector - &adapter->q_vector[0]); |
462 | if (skb->ip_summed == CHECKSUM_UNNECESSARY) { | 462 | if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) { |
463 | if (adapter->vlgrp && is_vlan && (tag != 0)) | 463 | if (adapter->vlgrp && is_vlan && (tag != 0)) |
464 | vlan_gro_receive(napi, adapter->vlgrp, tag, skb); | 464 | vlan_gro_receive(napi, adapter->vlgrp, tag, skb); |
465 | else | 465 | else |
466 | napi_gro_receive(napi, skb); | 466 | napi_gro_receive(napi, skb); |
467 | } else { | 467 | } else { |
468 | if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) { | 468 | if (adapter->vlgrp && is_vlan && (tag != 0)) |
469 | if (adapter->vlgrp && is_vlan && (tag != 0)) | 469 | vlan_hwaccel_rx(skb, adapter->vlgrp, tag); |
470 | vlan_hwaccel_receive_skb(skb, adapter->vlgrp, tag); | 470 | else |
471 | else | 471 | netif_rx(skb); |
472 | netif_receive_skb(skb); | ||
473 | } else { | ||
474 | if (adapter->vlgrp && is_vlan && (tag != 0)) | ||
475 | vlan_hwaccel_rx(skb, adapter->vlgrp, tag); | ||
476 | else | ||
477 | netif_rx(skb); | ||
478 | } | ||
479 | } | 472 | } |
480 | } | 473 | } |
481 | 474 | ||