Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/vhost/net.c
net/bridge/br_device.c
Fix merge conflict in drivers/vhost/net.c with guidance from
Stephen Rothwell.
Revert the effects of net-2.6 commit 573201f36f
since net-next-2.6 has fixes that make bridge netpoll work properly thus
we don't need it disabled.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1910,8 +1910,16 @@ static int dev_gso_segment(struct sk_buff *skb)
|
||||
*/
|
||||
static inline void skb_orphan_try(struct sk_buff *skb)
|
||||
{
|
||||
if (!skb_tx(skb)->flags)
|
||||
struct sock *sk = skb->sk;
|
||||
|
||||
if (sk && !skb_tx(skb)->flags) {
|
||||
/* skb_tx_hash() wont be able to get sk.
|
||||
* We copy sk_hash into skb->rxhash
|
||||
*/
|
||||
if (!skb->rxhash)
|
||||
skb->rxhash = sk->sk_hash;
|
||||
skb_orphan(skb);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2029,8 +2037,7 @@ u16 skb_tx_hash(const struct net_device *dev, const struct sk_buff *skb)
|
||||
if (skb->sk && skb->sk->sk_hash)
|
||||
hash = skb->sk->sk_hash;
|
||||
else
|
||||
hash = (__force u16) skb->protocol;
|
||||
|
||||
hash = (__force u16) skb->protocol ^ skb->rxhash;
|
||||
hash = jhash_1word(hash, hashrnd);
|
||||
|
||||
return (u16) (((u64) hash * dev->real_num_tx_queues) >> 32);
|
||||
@@ -2053,12 +2060,11 @@ static inline u16 dev_cap_txqueue(struct net_device *dev, u16 queue_index)
|
||||
static struct netdev_queue *dev_pick_tx(struct net_device *dev,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
u16 queue_index;
|
||||
int queue_index;
|
||||
struct sock *sk = skb->sk;
|
||||
|
||||
if (sk_tx_queue_recorded(sk)) {
|
||||
queue_index = sk_tx_queue_get(sk);
|
||||
} else {
|
||||
queue_index = sk_tx_queue_get(sk);
|
||||
if (queue_index < 0) {
|
||||
const struct net_device_ops *ops = dev->netdev_ops;
|
||||
|
||||
if (ops->ndo_select_queue) {
|
||||
|
Reference in New Issue
Block a user