From f2b90faa706077b24bb3c2af4b9c58d8afa8cba4 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Fri, 17 Jun 2011 03:45:15 +0000 Subject: [PATCH] --- yaml --- r: 253877 b: refs/heads/master c: 1eddceadb0d6441cd39b2c38705a8f5fec86e770 h: refs/heads/master i: 253875: 9596d0d689926cc4a5b7a31c9df51ddfcc281438 v: v3 --- [refs] | 2 +- trunk/net/ipv4/af_inet.c | 1 + trunk/net/ipv4/tcp_ipv4.c | 1 + trunk/net/ipv6/tcp_ipv6.c | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index fd40cafe60b5..7520d3830742 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cab758ef30e0e40f783627abc4b66d1b48fecd49 +refs/heads/master: 1eddceadb0d6441cd39b2c38705a8f5fec86e770 diff --git a/trunk/net/ipv4/af_inet.c b/trunk/net/ipv4/af_inet.c index 9c1926027a26..eae1f676f870 100644 --- a/trunk/net/ipv4/af_inet.c +++ b/trunk/net/ipv4/af_inet.c @@ -676,6 +676,7 @@ int inet_accept(struct socket *sock, struct socket *newsock, int flags) lock_sock(sk2); + sock_rps_record_flow(sk2); WARN_ON(!((1 << sk2->sk_state) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT | TCPF_CLOSE))); diff --git a/trunk/net/ipv4/tcp_ipv4.c b/trunk/net/ipv4/tcp_ipv4.c index a7d6671e33b8..708dc203b034 100644 --- a/trunk/net/ipv4/tcp_ipv4.c +++ b/trunk/net/ipv4/tcp_ipv4.c @@ -1589,6 +1589,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb) goto discard; if (nsk != sk) { + sock_rps_save_rxhash(nsk, skb->rxhash); if (tcp_child_process(sk, nsk, skb)) { rsk = nsk; goto reset; diff --git a/trunk/net/ipv6/tcp_ipv6.c b/trunk/net/ipv6/tcp_ipv6.c index d1fd28711ba5..87551ca568cd 100644 --- a/trunk/net/ipv6/tcp_ipv6.c +++ b/trunk/net/ipv6/tcp_ipv6.c @@ -1644,6 +1644,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) * the new socket.. */ if(nsk != sk) { + sock_rps_save_rxhash(nsk, skb->rxhash); if (tcp_child_process(sk, nsk, skb)) goto reset; if (opt_skb)