Skip to content

Commit

Permalink
e1000: use GRO for receive
Browse files Browse the repository at this point in the history
E1000 can benefit from calling the GRO receive functions.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
jbrandeb authored and davem330 committed Sep 23, 2010
1 parent 338c15e commit 6a08d19
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3664,13 +3664,14 @@ static void e1000_consume_page(struct e1000_buffer *bi, struct sk_buff *skb,
static void e1000_receive_skb(struct e1000_adapter *adapter, u8 status,
__le16 vlan, struct sk_buff *skb)
{
if (unlikely(adapter->vlgrp && (status & E1000_RXD_STAT_VP))) {
vlan_hwaccel_receive_skb(skb, adapter->vlgrp,
le16_to_cpu(vlan) &
E1000_RXD_SPC_VLAN_MASK);
} else {
netif_receive_skb(skb);
}
skb->protocol = eth_type_trans(skb, adapter->netdev);

if ((unlikely(adapter->vlgrp && (status & E1000_RXD_STAT_VP))))
vlan_gro_receive(&adapter->napi, adapter->vlgrp,
le16_to_cpu(vlan) & E1000_RXD_SPC_VLAN_MASK,
skb);
else
napi_gro_receive(&adapter->napi, skb);
}

/**
Expand Down Expand Up @@ -3828,8 +3829,6 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
goto next_desc;
}

skb->protocol = eth_type_trans(skb, netdev);

e1000_receive_skb(adapter, status, rx_desc->special, skb);

next_desc:
Expand Down Expand Up @@ -3992,8 +3991,6 @@ static bool e1000_clean_rx_irq(struct e1000_adapter *adapter,
((u32)(rx_desc->errors) << 24),
le16_to_cpu(rx_desc->csum), skb);

skb->protocol = eth_type_trans(skb, netdev);

e1000_receive_skb(adapter, status, rx_desc->special, skb);

next_desc:
Expand Down

0 comments on commit 6a08d19

Please sign in to comment.