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>
This commit is contained in:

committed by
David S. Miller

parent
6e2895a8e3
commit
fee6d4c777
@@ -26,11 +26,11 @@ int l3mdev_master_ifindex_rcu(struct net_device *dev)
|
||||
|
||||
if (netif_is_l3_master(dev)) {
|
||||
ifindex = dev->ifindex;
|
||||
} else if (dev->flags & IFF_SLAVE) {
|
||||
} else if (netif_is_l3_slave(dev)) {
|
||||
struct net_device *master;
|
||||
|
||||
master = netdev_master_upper_dev_get_rcu(dev);
|
||||
if (master && netif_is_l3_master(master))
|
||||
if (master)
|
||||
ifindex = master->ifindex;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ u32 l3mdev_fib_table_rcu(const struct net_device *dev)
|
||||
if (netif_is_l3_master(dev)) {
|
||||
if (dev->l3mdev_ops->l3mdev_fib_table)
|
||||
tb_id = dev->l3mdev_ops->l3mdev_fib_table(dev);
|
||||
} else if (dev->flags & IFF_SLAVE) {
|
||||
} else if (netif_is_l3_slave(dev)) {
|
||||
/* Users of netdev_master_upper_dev_get_rcu need non-const,
|
||||
* but current inet_*type functions take a const
|
||||
*/
|
||||
@@ -62,7 +62,7 @@ u32 l3mdev_fib_table_rcu(const struct net_device *dev)
|
||||
const struct net_device *master;
|
||||
|
||||
master = netdev_master_upper_dev_get_rcu(_dev);
|
||||
if (master && netif_is_l3_master(master) &&
|
||||
if (master &&
|
||||
master->l3mdev_ops->l3mdev_fib_table)
|
||||
tb_id = master->l3mdev_ops->l3mdev_fib_table(master);
|
||||
}
|
||||
|
Reference in New Issue
Block a user