aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>2009-09-30 08:08:37 -0400
committerDavid S. Miller <davem@davemloft.net>2009-09-30 23:03:02 -0400
commit6ad3810b0ec9e00eb00500ec4f7a554aa8f5a577 (patch)
treee0385eb32a670752f7dff95ad4bcb09817b467f4
parentaad719182d9c6a785931efe87b978eb6f7742e0e (diff)
ixgbe: Remove ATR computation for UDP traffic
ATR support for UDP on 82599 needs to be redesigned, since the current model doesn't make much sense. The fallout from having it in though is it causes all UDP traffic to still compute the ATR hashes on transmit, which are useless. This removal will return upwards of 10% of relative computational overhead in forwarding tests. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 960967399209..1cbc6a318b67 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -5091,7 +5091,6 @@ static void ixgbe_atr(struct ixgbe_adapter *adapter, struct sk_buff *skb,
5091 /* Right now, we support IPv4 only */ 5091 /* Right now, we support IPv4 only */
5092 struct ixgbe_atr_input atr_input; 5092 struct ixgbe_atr_input atr_input;
5093 struct tcphdr *th; 5093 struct tcphdr *th;
5094 struct udphdr *uh;
5095 struct iphdr *iph = ip_hdr(skb); 5094 struct iphdr *iph = ip_hdr(skb);
5096 struct ethhdr *eth = (struct ethhdr *)skb->data; 5095 struct ethhdr *eth = (struct ethhdr *)skb->data;
5097 u16 vlan_id, src_port, dst_port, flex_bytes; 5096 u16 vlan_id, src_port, dst_port, flex_bytes;
@@ -5105,12 +5104,6 @@ static void ixgbe_atr(struct ixgbe_adapter *adapter, struct sk_buff *skb,
5105 dst_port = th->dest; 5104 dst_port = th->dest;
5106 l4type |= IXGBE_ATR_L4TYPE_TCP; 5105 l4type |= IXGBE_ATR_L4TYPE_TCP;
5107 /* l4type IPv4 type is 0, no need to assign */ 5106 /* l4type IPv4 type is 0, no need to assign */
5108 } else if(iph->protocol == IPPROTO_UDP) {
5109 uh = udp_hdr(skb);
5110 src_port = uh->source;
5111 dst_port = uh->dest;
5112 l4type |= IXGBE_ATR_L4TYPE_UDP;
5113 /* l4type IPv4 type is 0, no need to assign */
5114 } else { 5107 } else {
5115 /* Unsupported L4 header, just bail here */ 5108 /* Unsupported L4 header, just bail here */
5116 return; 5109 return;