aboutsummaryrefslogtreecommitdiffstats
path: root/net/l3mdev
diff options
context:
space:
mode:
authorDavid Ahern <dsa@cumulusnetworks.com>2015-10-05 11:51:24 -0400
committerDavid S. Miller <davem@davemloft.net>2015-10-07 07:27:43 -0400
commitfee6d4c777a125e56de9370db3b2bf359bf958d6 (patch)
tree19bf245321e6d1265e34f550fd479d83ffc69aed /net/l3mdev
parent6e2895a8e3824eb5611c97a015a3b6d678b4503e (diff)
net: Add netif_is_l3_slave
IPv6 addrconf keys off of IFF_SLAVE so can not use it for L3 slave. Add a new private flag and add netif_is_l3_slave function for checking it. Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/l3mdev')
-rw-r--r--net/l3mdev/l3mdev.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/l3mdev/l3mdev.c b/net/l3mdev/l3mdev.c
index ddf75ad41713..8e5ead366e7f 100644
--- a/net/l3mdev/l3mdev.c
+++ b/net/l3mdev/l3mdev.c
@@ -26,11 +26,11 @@ int l3mdev_master_ifindex_rcu(struct net_device *dev)
26 26
27 if (netif_is_l3_master(dev)) { 27 if (netif_is_l3_master(dev)) {
28 ifindex = dev->ifindex; 28 ifindex = dev->ifindex;
29 } else if (dev->flags & IFF_SLAVE) { 29 } else if (netif_is_l3_slave(dev)) {
30 struct net_device *master; 30 struct net_device *master;
31 31
32 master = netdev_master_upper_dev_get_rcu(dev); 32 master = netdev_master_upper_dev_get_rcu(dev);
33 if (master && netif_is_l3_master(master)) 33 if (master)
34 ifindex = master->ifindex; 34 ifindex = master->ifindex;
35 } 35 }
36 36
@@ -54,7 +54,7 @@ u32 l3mdev_fib_table_rcu(const struct net_device *dev)
54 if (netif_is_l3_master(dev)) { 54 if (netif_is_l3_master(dev)) {
55 if (dev->l3mdev_ops->l3mdev_fib_table) 55 if (dev->l3mdev_ops->l3mdev_fib_table)
56 tb_id = dev->l3mdev_ops->l3mdev_fib_table(dev); 56 tb_id = dev->l3mdev_ops->l3mdev_fib_table(dev);
57 } else if (dev->flags & IFF_SLAVE) { 57 } else if (netif_is_l3_slave(dev)) {
58 /* Users of netdev_master_upper_dev_get_rcu need non-const, 58 /* Users of netdev_master_upper_dev_get_rcu need non-const,
59 * but current inet_*type functions take a const 59 * but current inet_*type functions take a const
60 */ 60 */
@@ -62,7 +62,7 @@ u32 l3mdev_fib_table_rcu(const struct net_device *dev)
62 const struct net_device *master; 62 const struct net_device *master;
63 63
64 master = netdev_master_upper_dev_get_rcu(_dev); 64 master = netdev_master_upper_dev_get_rcu(_dev);
65 if (master && netif_is_l3_master(master) && 65 if (master &&
66 master->l3mdev_ops->l3mdev_fib_table) 66 master->l3mdev_ops->l3mdev_fib_table)
67 tb_id = master->l3mdev_ops->l3mdev_fib_table(master); 67 tb_id = master->l3mdev_ops->l3mdev_fib_table(master);
68 } 68 }