diff options
author | Ido Schimmel <idosch@nvidia.com> | 2020-11-04 15:30:27 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-11-06 11:28:49 -0800 |
commit | 968a83f8cf6fd5a107289c57ee3197a52c72f02c (patch) | |
tree | c5fbc6d6374662afca3a5bfffb20d51c06a1c2be /net | |
parent | 1ec69d187cb8f564af570df7edf2c500dcb13702 (diff) | |
download | lwn-968a83f8cf6fd5a107289c57ee3197a52c72f02c.tar.gz lwn-968a83f8cf6fd5a107289c57ee3197a52c72f02c.zip |
rtnetlink: Add RTNH_F_TRAP flag
The flag indicates to user space that the nexthop is not programmed to
forward packets in hardware, but rather to trap them to the CPU. This is
needed, for example, when the MAC of the nexthop neighbour is not
resolved and packets should reach the CPU to trigger neighbour
resolution.
The flag will be used in subsequent patches by netdevsim to test nexthop
objects programming to device drivers and in the future by mlxsw as
well.
Changes since RFC:
* Reword commit message
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/fib_semantics.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index 1f75dc686b6b..f70b9a0c4957 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c @@ -1644,6 +1644,8 @@ int fib_nexthop_info(struct sk_buff *skb, const struct fib_nh_common *nhc, *flags |= (nhc->nhc_flags & RTNH_F_ONLINK); if (nhc->nhc_flags & RTNH_F_OFFLOAD) *flags |= RTNH_F_OFFLOAD; + if (nhc->nhc_flags & RTNH_F_TRAP) + *flags |= RTNH_F_TRAP; if (!skip_oif && nhc->nhc_dev && nla_put_u32(skb, RTA_OIF, nhc->nhc_dev->ifindex)) |