diff options
author | Zheng Da <zhengda1936@gmail.com> | 2010-02-27 14:28:22 +0100 |
---|---|---|
committer | Zheng Da <zhengda1936@gmail.com> | 2010-02-27 14:28:22 +0100 |
commit | 1288bc521d37d34d809ad46f4d14cc662bcfe688 (patch) | |
tree | a9dcf864af68bf20c6db51fa61973ebd169da6cd /libdde_linux26/lib/src/net | |
parent | 5b14fbc2aeedc2501b032d8ea6b4b68eafaf321b (diff) |
Use adapted dev_queue_xmit to transmit packets in DDE Linux.
Diffstat (limited to 'libdde_linux26/lib/src/net')
-rw-r--r-- | libdde_linux26/lib/src/net/core/dev.c | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/libdde_linux26/lib/src/net/core/dev.c b/libdde_linux26/lib/src/net/core/dev.c index 65b4ba42..64917332 100644 --- a/libdde_linux26/lib/src/net/core/dev.c +++ b/libdde_linux26/lib/src/net/core/dev.c @@ -1777,8 +1777,6 @@ static struct netdev_queue *dev_pick_tx(struct net_device *dev, if (ops->ndo_select_queue) queue_index = ops->ndo_select_queue(dev, skb); - else if (dev->real_num_tx_queues > 1) - queue_index = simple_tx_hash(dev, skb); skb_set_queue_mapping(skb, queue_index); return netdev_get_tx_queue(dev, queue_index); @@ -1813,7 +1811,6 @@ int dev_queue_xmit(struct sk_buff *skb) { struct net_device *dev = skb->dev; struct netdev_queue *txq; - struct Qdisc *q; int rc = -ENOMEM; /* GSO will handle the following emulations directly. */ @@ -1851,27 +1848,10 @@ gso: rcu_read_lock_bh(); txq = dev_pick_tx(dev, skb); - q = rcu_dereference(txq->qdisc); #ifdef CONFIG_NET_CLS_ACT skb->tc_verd = SET_TC_AT(skb->tc_verd,AT_EGRESS); #endif - if (q->enqueue) { - spinlock_t *root_lock = qdisc_lock(q); - - spin_lock(root_lock); - - if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) { - kfree_skb(skb); - rc = NET_XMIT_DROP; - } else { - rc = qdisc_enqueue_root(skb, q); - qdisc_run(q); - } - spin_unlock(root_lock); - - goto out; - } /* The device has no queue. Common case for software devices: loopback, all the sorts of tunnels... |