diff mbox

[net-next,bugfix] tun, rfs: fix the incorrect hash value

Message ID 1388640268-25575-1-git-send-email-zwu.kernel@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Zhiyong Wu Jan. 2, 2014, 5:24 a.m. UTC
From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>

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>
---
 drivers/net/tun.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Jason Wang Jan. 2, 2014, 5:41 a.m. UTC | #1
On 01/02/2014 01:24 PM, Zhi Yong Wu wrote:
> From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
>
> 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>
> ---
>  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;

Acked-by: Jason Wang <jasowang@redhat.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Jan. 2, 2014, 7:41 a.m. UTC | #2
From: Zhi Yong Wu <zwu.kernel@gmail.com>
Date: Thu,  2 Jan 2014 13:24:28 +0800

> From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
> 
> 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>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;