diff options
author | Ido Schimmel <idosch@mellanox.com> | 2020-01-14 12:23:12 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-01-15 03:53:35 +0100 |
commit | bb3c4ab93e44784c1e958bdbba7824bba40f23cd (patch) | |
tree | 382f6bf2f8de99794ce78aadf832f204f74745fb /include/net/ip6_fib.h | |
parent | ipv4: Add "offload" and "trap" indications to routes (diff) | |
download | linux-bb3c4ab93e44784c1e958bdbba7824bba40f23cd.tar.xz linux-bb3c4ab93e44784c1e958bdbba7824bba40f23cd.zip |
ipv6: Add "offload" and "trap" indications to routes
In a similar fashion to previous patch, add "offload" and "trap"
indication to IPv6 routes.
This is done by using two unused bits in 'struct fib6_info' to hold
these indications. Capable drivers are expected to set these when
processing the various in-kernel route notifications.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Acked-by: Roopa Prabhu <roopa@cumulusnetworks.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 | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index b579faea41e9..fd60a8ac02ee 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -192,7 +192,9 @@ struct fib6_info { dst_nopolicy:1, dst_host:1, fib6_destroying:1, - unused:3; + offload:1, + trap:1, + unused:1; struct rcu_head rcu; struct nexthop *nh; @@ -329,6 +331,13 @@ static inline void fib6_info_release(struct fib6_info *f6i) call_rcu(&f6i->rcu, fib6_info_destroy_rcu); } +static inline void fib6_info_hw_flags_set(struct fib6_info *f6i, bool offload, + bool trap) +{ + f6i->offload = offload; + f6i->trap = trap; +} + enum fib6_walk_state { #ifdef CONFIG_IPV6_SUBTREES FWS_S, |