diff options
author | David Ahern <dsahern@gmail.com> | 2019-03-28 06:53:50 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-29 20:48:03 +0300 |
commit | 83c442515917812d4ff643e90cd456c630b7e762 (patch) | |
tree | d9071d0da220d818ea4a54d808218fa33e33b42f /include/net/ip6_fib.h | |
parent | faa041a40b9fa64913789fcc0161c7c73161f57e (diff) | |
download | linux-83c442515917812d4ff643e90cd456c630b7e762.tar.xz |
ipv6: Create init helper for fib6_nh
Similar to IPv4, consolidate the fib6_nh initialization into a helper.
As a new standalone function, add a cleanup path to put lwtstate on
error.
To avoid modifying fib6_config flags, move the reject check to a helper
that is invoked once by fib6_nh_init to reset the device and then
again in ip6_route_info_create to set the fib6_flags.
Signed-off-by: David Ahern <dsahern@gmail.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_fib.h')
-rw-r--r-- | include/net/ip6_fib.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 2acb78a762ee..ce1f81345c8e 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -444,6 +444,10 @@ static inline struct net_device *fib6_info_nh_dev(const struct fib6_info *f6i) return f6i->fib6_nh.nh_dev; } +int fib6_nh_init(struct net *net, struct fib6_nh *fib6_nh, + struct fib6_config *cfg, gfp_t gfp_flags, + struct netlink_ext_ack *extack); + static inline struct lwtunnel_state *fib6_info_nh_lwt(const struct fib6_info *f6i) { |