aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index b31d5d69a467..e904c476b112 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2015,8 +2015,12 @@ static struct netdev_queue *dev_pick_tx(struct net_device *dev,
2015 if (dev->real_num_tx_queues > 1) 2015 if (dev->real_num_tx_queues > 1)
2016 queue_index = skb_tx_hash(dev, skb); 2016 queue_index = skb_tx_hash(dev, skb);
2017 2017
2018 if (sk && rcu_dereference_check(sk->sk_dst_cache, 1)) 2018 if (sk) {
2019 sk_tx_queue_set(sk, queue_index); 2019 struct dst_entry *dst = rcu_dereference_check(sk->sk_dst_cache, 1);
2020
2021 if (dst && skb_dst(skb) == dst)
2022 sk_tx_queue_set(sk, queue_index);
2023 }
2020 } 2024 }
2021 } 2025 }
2022 2026