Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
This commit is contained in:
@@ -2273,11 +2273,9 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb,
|
||||
if (skb_rx_queue_recorded(skb)) {
|
||||
u16 index = skb_get_rx_queue(skb);
|
||||
if (unlikely(index >= dev->num_rx_queues)) {
|
||||
if (net_ratelimit()) {
|
||||
pr_warning("%s received packet on queue "
|
||||
"%u, but number of RX queues is %u\n",
|
||||
dev->name, index, dev->num_rx_queues);
|
||||
}
|
||||
WARN_ONCE(dev->num_rx_queues > 1, "%s received packet "
|
||||
"on queue %u, but number of RX queues is %u\n",
|
||||
dev->name, index, dev->num_rx_queues);
|
||||
goto done;
|
||||
}
|
||||
rxqueue = dev->_rx + index;
|
||||
@@ -2815,13 +2813,24 @@ static int __netif_receive_skb(struct sk_buff *skb)
|
||||
if (!skb->skb_iif)
|
||||
skb->skb_iif = skb->dev->ifindex;
|
||||
|
||||
/*
|
||||
* bonding note: skbs received on inactive slaves should only
|
||||
* be delivered to pkt handlers that are exact matches. Also
|
||||
* the deliver_no_wcard flag will be set. If packet handlers
|
||||
* are sensitive to duplicate packets these skbs will need to
|
||||
* be dropped at the handler. The vlan accel path may have
|
||||
* already set the deliver_no_wcard flag.
|
||||
*/
|
||||
null_or_orig = NULL;
|
||||
orig_dev = skb->dev;
|
||||
master = ACCESS_ONCE(orig_dev->master);
|
||||
if (master) {
|
||||
if (skb_bond_should_drop(skb, master))
|
||||
if (skb->deliver_no_wcard)
|
||||
null_or_orig = orig_dev;
|
||||
else if (master) {
|
||||
if (skb_bond_should_drop(skb, master)) {
|
||||
skb->deliver_no_wcard = 1;
|
||||
null_or_orig = orig_dev; /* deliver only exact match */
|
||||
else
|
||||
} else
|
||||
skb->dev = master;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user