diff options
| -rw-r--r-- | net/ipv4/tcp_ipv4.c | 3 | ||||
| -rw-r--r-- | net/ipv6/tcp_ipv6.c | 3 |
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); |
