]> git.baikalelectronics.ru Git - kernel.git/commit
ipv6: Enable RFS sk_rxhash tracking for ipv6 sockets (v2)
authorNeil Horman <nhorman@tuxdriver.com>
Wed, 6 Apr 2011 20:07:09 +0000 (13:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Apr 2011 20:07:09 +0000 (13:07 -0700)
commit3f85bbd2e615d4207a981626d97d458faaf2b4dd
tree07f64d971a4783a71b612602da42e7faf8b14dd5
parente0cbb7cdec73a4fd0a9b2751f1988b05334e737f
ipv6: Enable RFS sk_rxhash tracking for ipv6 sockets (v2)

properly record sk_rxhash in ipv6 sockets (v2)

Noticed while working on another project that flows to sockets which I had open
on a test systems weren't getting steered properly when I had RFS enabled.
Looking more closely I found that:

1) The affected sockets were all ipv6
2) They weren't getting steered because sk->sk_rxhash was never set from the
incomming skbs on that socket.

This was occuring because there are several points in the IPv4 tcp and udp code
which save the rxhash value when a new connection is established.  Those calls
to sock_rps_save_rxhash were never added to the corresponding ipv6 code paths.
This patch adds those calls.  Tested by myself to properly enable RFS
functionalty on ipv6.

Change notes:
v2:
Filtered UDP to only arm RFS on bound sockets (Eric Dumazet)

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c