aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/tcp_ipv4.c3
-rw-r--r--net/ipv6/tcp_ipv6.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 9c7d7621466b..8893598a4124 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1429,6 +1429,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
1429 struct dst_entry *dst = sk->sk_rx_dst; 1429 struct dst_entry *dst = sk->sk_rx_dst;
1430 1430
1431 sock_rps_save_rxhash(sk, skb); 1431 sock_rps_save_rxhash(sk, skb);
1432 sk_mark_napi_id(sk, skb);
1432 if (dst) { 1433 if (dst) {
1433 if (inet_sk(sk)->rx_dst_ifindex != skb->skb_iif || 1434 if (inet_sk(sk)->rx_dst_ifindex != skb->skb_iif ||
1434 dst->ops->check(dst, 0) == NULL) { 1435 dst->ops->check(dst, 0) == NULL) {
@@ -1450,6 +1451,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
1450 1451
1451 if (nsk != sk) { 1452 if (nsk != sk) {
1452 sock_rps_save_rxhash(nsk, skb); 1453 sock_rps_save_rxhash(nsk, skb);
1454 sk_mark_napi_id(sk, skb);
1453 if (tcp_child_process(sk, nsk, skb)) { 1455 if (tcp_child_process(sk, nsk, skb)) {
1454 rsk = nsk; 1456 rsk = nsk;
1455 goto reset; 1457 goto reset;
@@ -1661,7 +1663,6 @@ process:
1661 if (sk_filter(sk, skb)) 1663 if (sk_filter(sk, skb))
1662 goto discard_and_relse; 1664 goto discard_and_relse;
1663 1665
1664 sk_mark_napi_id(sk, skb);
1665 skb->dev = NULL; 1666 skb->dev = NULL;
1666 1667
1667 bh_lock_sock_nested(sk); 1668 bh_lock_sock_nested(sk);
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index ace29b60813c..fd8e50b380e7 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1293,6 +1293,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1293 struct dst_entry *dst = sk->sk_rx_dst; 1293 struct dst_entry *dst = sk->sk_rx_dst;
1294 1294
1295 sock_rps_save_rxhash(sk, skb); 1295 sock_rps_save_rxhash(sk, skb);
1296 sk_mark_napi_id(sk, skb);
1296 if (dst) { 1297 if (dst) {
1297 if (inet_sk(sk)->rx_dst_ifindex != skb->skb_iif || 1298 if (inet_sk(sk)->rx_dst_ifindex != skb->skb_iif ||
1298 dst->ops->check(dst, np->rx_dst_cookie) == NULL) { 1299 dst->ops->check(dst, np->rx_dst_cookie) == NULL) {
@@ -1322,6 +1323,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1322 */ 1323 */
1323 if (nsk != sk) { 1324 if (nsk != sk) {
1324 sock_rps_save_rxhash(nsk, skb); 1325 sock_rps_save_rxhash(nsk, skb);
1326 sk_mark_napi_id(sk, skb);
1325 if (tcp_child_process(sk, nsk, skb)) 1327 if (tcp_child_process(sk, nsk, skb))
1326 goto reset; 1328 goto reset;
1327 if (opt_skb) 1329 if (opt_skb)
@@ -1454,7 +1456,6 @@ process:
1454 if (sk_filter(sk, skb)) 1456 if (sk_filter(sk, skb))
1455 goto discard_and_relse; 1457 goto discard_and_relse;
1456 1458
1457 sk_mark_napi_id(sk, skb);
1458 skb->dev = NULL; 1459 skb->dev = NULL;
1459 1460
1460 bh_lock_sock_nested(sk); 1461 bh_lock_sock_nested(sk);