mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
net: Add skb_record_rx_queue() calls to multiqueue capable drivers.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d5a9e24afb
commit
0c8dfc830a
@ -3007,6 +3007,8 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget)
|
||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
}
|
||||
|
||||
skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]);
|
||||
|
||||
#ifdef BCM_VLAN
|
||||
if (hw_vlan)
|
||||
vlan_hwaccel_receive_skb(skb, bp->vlgrp, vtag);
|
||||
|
@ -1325,6 +1325,7 @@ static void bnx2x_tpa_stop(struct bnx2x *bp, struct bnx2x_fastpath *fp,
|
||||
|
||||
skb->protocol = eth_type_trans(skb, bp->dev);
|
||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
skb_record_rx_queue(skb, queue);
|
||||
|
||||
{
|
||||
struct iphdr *iph;
|
||||
|
@ -1937,6 +1937,7 @@ static void rx_eth(struct adapter *adap, struct sge_rspq *rq,
|
||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||
} else
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
skb_record_rx_queue(skb, qs - &adap->sge.qs[0]);
|
||||
|
||||
if (unlikely(p->vlan_valid)) {
|
||||
struct vlan_group *grp = pi->vlan_grp;
|
||||
|
@ -3751,6 +3751,7 @@ static void igb_receive_skb(struct igb_ring *ring, u8 status,
|
||||
struct igb_adapter * adapter = ring->adapter;
|
||||
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,
|
||||
|
@ -414,6 +414,7 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
|
||||
bool is_vlan = (status & IXGBE_RXD_STAT_VP);
|
||||
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->vlgrp && is_vlan && (tag != 0))
|
||||
vlan_gro_receive(napi, adapter->vlgrp, tag, skb);
|
||||
|
@ -768,6 +768,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
|
||||
|
||||
skb->ip_summed = ip_summed;
|
||||
skb->protocol = eth_type_trans(skb, dev);
|
||||
skb_record_rx_queue(skb, cq->ring);
|
||||
|
||||
/* Push it up the stack */
|
||||
if (priv->vlgrp && (be32_to_cpu(cqe->vlan_my_qpn) &
|
||||
|
@ -1324,6 +1324,7 @@ myri10ge_rx_done(struct myri10ge_slice_state *ss, struct myri10ge_rx_buf *rx,
|
||||
skb_shinfo(skb)->nr_frags = 0;
|
||||
}
|
||||
skb->protocol = eth_type_trans(skb, dev);
|
||||
skb_record_rx_queue(skb, ss - &mgp->ss[0]);
|
||||
|
||||
if (mgp->csum_flag) {
|
||||
if ((skb->protocol == htons(ETH_P_IP)) ||
|
||||
|
@ -3390,6 +3390,7 @@ static int niu_process_rx_pkt(struct niu *np, struct rx_ring_info *rp)
|
||||
rp->rx_bytes += skb->len;
|
||||
|
||||
skb->protocol = eth_type_trans(skb, np->dev);
|
||||
skb_record_rx_queue(skb, rp->rx_channel);
|
||||
netif_receive_skb(skb);
|
||||
|
||||
return num_rcr;
|
||||
|
@ -1436,6 +1436,7 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev,
|
||||
qdev->stats.rx_packets++;
|
||||
qdev->stats.rx_bytes += skb->len;
|
||||
skb->protocol = eth_type_trans(skb, ndev);
|
||||
skb_record_rx_queue(skb, rx_ring - &qdev->rx_ring[0]);
|
||||
if (qdev->vlgrp && (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_V)) {
|
||||
QPRINTK(qdev, RX_STATUS, DEBUG,
|
||||
"Passing a VLAN packet upstream.\n");
|
||||
|
@ -7542,6 +7542,7 @@ static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp)
|
||||
|
||||
sp->mac_control.stats_info->sw_stat.mem_freed += skb->truesize;
|
||||
send_up:
|
||||
skb_record_rx_queue(skb, ring_no);
|
||||
queue_rx_frame(skb, RXD_GET_VLAN_TAG(rxdp->Control_2));
|
||||
aggregate:
|
||||
sp->mac_control.rings[ring_no].rx_bufs_left -= 1;
|
||||
|
@ -575,6 +575,8 @@ 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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user