ipv4: nexthop version of fib_info_nh_uses_dev
Similar to the last path, need to fix fib_info_nh_uses_dev for
external nexthops to avoid referencing multiple nh_grp structs.
Move the device check in fib_info_nh_uses_dev to a helper and
create a nexthop version that is called if the fib_info uses an
external nexthop.
Fixes: 430a049190
("nexthop: Add support for nexthop groups")
Signed-off-by: David Ahern <dsahern@gmail.com>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
af7888ad9e
commit
1fd1c768f3
@ -447,6 +447,16 @@ static inline int fib_num_tclassid_users(struct net *net)
|
||||
#endif
|
||||
int fib_unmerge(struct net *net);
|
||||
|
||||
static inline bool nhc_l3mdev_matches_dev(const struct fib_nh_common *nhc,
|
||||
const struct net_device *dev)
|
||||
{
|
||||
if (nhc->nhc_dev == dev ||
|
||||
l3mdev_master_ifindex_rcu(nhc->nhc_dev) == dev->ifindex)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Exported by fib_semantics.c */
|
||||
int ip_fib_check_default(__be32 gw, struct net_device *dev);
|
||||
int fib_sync_down_dev(struct net_device *dev, unsigned long event, bool force);
|
||||
|
Reference in New Issue
Block a user