aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/bonding/bond_alb.c6
-rw-r--r--drivers/net/bonding/bonding.h18
2 files changed, 2 insertions, 22 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 018235263596..27b03fab60eb 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -694,10 +694,8 @@ static struct slave *rlb_choose_channel(struct sk_buff *skb, struct bonding *bon
694 client_info->ntt = 0; 694 client_info->ntt = 0;
695 } 695 }
696 696
697 if (bond_vlan_used(bond)) { 697 if (!vlan_get_tag(skb, &client_info->vlan_id))
698 if (!vlan_get_tag(skb, &client_info->vlan_id)) 698 client_info->tag = 1;
699 client_info->tag = 1;
700 }
701 699
702 if (!client_info->assigned) { 700 if (!client_info->assigned) {
703 u32 prev_tbl_head = bond_info->rx_hashtbl_used_head; 701 u32 prev_tbl_head = bond_info->rx_hashtbl_used_head;
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index 4abc925823e1..f7ab16185f68 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -261,24 +261,6 @@ struct bonding {
261#endif /* CONFIG_DEBUG_FS */ 261#endif /* CONFIG_DEBUG_FS */
262}; 262};
263 263
264/* if we hold rtnl_lock() - call vlan_uses_dev() */
265static inline bool bond_vlan_used(struct bonding *bond)
266{
267 struct net_device *upper;
268 struct list_head *iter;
269
270 rcu_read_lock();
271 netdev_for_each_upper_dev_rcu(bond->dev, upper, iter) {
272 if (upper->priv_flags & IFF_802_1Q_VLAN) {
273 rcu_read_unlock();
274 return true;
275 }
276 }
277 rcu_read_unlock();
278
279 return false;
280}
281
282#define bond_slave_get_rcu(dev) \ 264#define bond_slave_get_rcu(dev) \
283 ((struct slave *) rcu_dereference(dev->rx_handler_data)) 265 ((struct slave *) rcu_dereference(dev->rx_handler_data))
284 266