diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-11-23 16:02:40 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-24 10:58:33 -0800 |
commit | 3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee (patch) | |
tree | d7ca8e9b65da4829fd62010a5baeb8dc84ae766a /drivers/net/sfc/rx.c | |
parent | 1241e951af060c16cd851a83a045ca3a80288383 (diff) | |
download | linux-stable-3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee.tar.gz linux-stable-3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee.tar.bz2 linux-stable-3eadb7b0ec39d7ee45804d691c96fa2fbc3745ee.zip |
sfc: Record RX queue number on GRO path
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/rx.c')
-rw-r--r-- | drivers/net/sfc/rx.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/sfc/rx.c b/drivers/net/sfc/rx.c index 9e33391db355..9f22d15d3d50 100644 --- a/drivers/net/sfc/rx.c +++ b/drivers/net/sfc/rx.c @@ -473,6 +473,8 @@ static void efx_rx_packet_lro(struct efx_channel *channel, skb->ip_summed = checksummed ? CHECKSUM_UNNECESSARY : CHECKSUM_NONE; + skb_record_rx_queue(skb, channel->channel); + gro_result = napi_gro_frags(napi); } else { struct sk_buff *skb = rx_buf->skb; @@ -578,6 +580,8 @@ void __efx_rx_packet(struct efx_channel *channel, * at the ethernet header */ rx_buf->skb->protocol = eth_type_trans(rx_buf->skb, efx->net_dev); + + skb_record_rx_queue(rx_buf->skb, channel->channel); } if (likely(checksummed || rx_buf->page)) { @@ -593,8 +597,6 @@ void __efx_rx_packet(struct efx_channel *channel, /* Set the SKB flags */ skb->ip_summed = CHECKSUM_NONE; - skb_record_rx_queue(skb, channel->channel); - /* Pass the packet up */ netif_receive_skb(skb); |