diff options
author | Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> | 2014-01-02 13:24:28 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-02 02:41:22 -0500 |
commit | fbe4d4565badba393a94927e16ae66654a025dca (patch) | |
tree | 289cd898e894410cf76450986a4275957943bb58 /drivers/net/tun.c | |
parent | 56022a8fdd874c56bb61d8c82559e43044d1aa06 (diff) | |
download | op-kernel-dev-fbe4d4565badba393a94927e16ae66654a025dca.zip op-kernel-dev-fbe4d4565badba393a94927e16ae66654a025dca.tar.gz |
tun, rfs: fix the incorrect hash value
The code incorrectly save the queue index as the hash, so this patch
is fixing it with the hash received in the stack receive path.
Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tun.c')
-rw-r--r-- | drivers/net/tun.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 3cf0457..09f6662 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -378,8 +378,8 @@ static u16 tun_select_queue(struct net_device *dev, struct sk_buff *skb) if (txq) { e = tun_flow_find(&tun->flows[tun_hashfn(txq)], txq); if (e) { - txq = e->queue_index; tun_flow_save_rps_rxhash(e, txq); + txq = e->queue_index; } else /* use multiply and shift instead of expensive divide */ txq = ((u64)txq * numqueues) >> 32; |