[PATCH net-next v4 05/10] ipv6: expose the route deletion reason in RTM_DELROUTE

From: Yuyang Huang

Date: Wed Jul 29 2026 - 08:19:00 EST


Emit RTA_DEL_REASON from rt6_fill_node() when the deletion reason is
not RTA_DEL_REASON_UNSPEC, and reserve room for it in
rt6_nlmsg_size().

Every caller still passes RTA_DEL_REASON_UNSPEC.

Signed-off-by: Yuyang Huang <sigefriedhyy@xxxxxxxxx>
---
net/ipv6/route.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index b30becf3f56b..b67c8a31ccd6 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -5749,6 +5749,7 @@ static size_t rt6_nlmsg_size(struct fib6_info *f6i)
+ nla_total_size(sizeof(struct rta_cacheinfo))
+ nla_total_size(TCP_CA_NAME_MAX) /* RTAX_CC_ALGO */
+ nla_total_size(1) /* RTA_PREF */
+ + nla_total_size(4) /* RTA_DEL_REASON */
+ nexthop_len;
}

@@ -5964,6 +5965,10 @@ static int rt6_fill_node(struct net *net, struct sk_buff *skb,
if (rtnl_put_cacheinfo(skb, dst, 0, expires, dst ? dst->error : 0) < 0)
goto nla_put_failure;

+ if (del_reason != RTA_DEL_REASON_UNSPEC &&
+ nla_put_u32(skb, RTA_DEL_REASON, del_reason))
+ goto nla_put_failure;
+
if (nla_put_u8(skb, RTA_PREF, IPV6_EXTRACT_PREF(rt6_flags)))
goto nla_put_failure;

--
2.43.0