diff options
author | David Ahern <dsahern@gmail.com> | 2019-06-08 23:53:22 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-10 19:44:56 +0200 |
commit | f88c9aa12fd0cff9cbb74b490350e6f0fac68296 (patch) | |
tree | b532d0092407d1764e4be7e8c58ce6e48946b65d /include/net/nexthop.h | |
parent | tcp: Make tcp_fastopen_alloc_ctx static (diff) | |
download | linux-f88c9aa12fd0cff9cbb74b490350e6f0fac68296.tar.xz linux-f88c9aa12fd0cff9cbb74b490350e6f0fac68296.zip |
nexthops: Add ipv6 helper to walk all fib6_nh in a nexthop struct
IPv6 has traditionally had a single fib6_nh per fib6_info. With
nexthops we can have multiple fib6_nh associated with a fib6_info.
Add a nexthop helper to invoke a callback for each fib6_nh in a
'struct nexthop'. If the callback returns non-0, the loop is
stopped and the return value passed to the caller.
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/nexthop.h')
-rw-r--r-- | include/net/nexthop.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/nexthop.h b/include/net/nexthop.h index e019ed9b3dc3..25f1f9a8419b 100644 --- a/include/net/nexthop.h +++ b/include/net/nexthop.h @@ -305,4 +305,8 @@ static inline void nexthop_path_fib6_result(struct fib6_result *res, int hash) res->nh = &nhi->fib6_nh; } } + +int nexthop_for_each_fib6_nh(struct nexthop *nh, + int (*cb)(struct fib6_nh *nh, void *arg), + void *arg); #endif |