From: Yuyang Huang <sigefriedhyy@gmail.com>
To: Yuyang Huang <sigefriedhyy@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Chris J Arges <carges@cloudflare.com>,
Daniel Zahka <daniel.zahka@gmail.com>,
David Ahern <dsahern@kernel.org>, David Wei <dw@davidwei.uk>,
Dimitri Daskalakis <dimitri.daskalakis1@gmail.com>,
Donald Hunter <donald.hunter@gmail.com>,
Eric Dumazet <edumazet@google.com>,
Ido Schimmel <idosch@nvidia.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Shuah Khan <shuah@kernel.org>, Simon Horman <horms@kernel.org>,
Stanislav Fomichev <sdf@fomichev.me>,
Willem de Bruijn <willemb@google.com>,
linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
netdev@vger.kernel.org
Subject: [PATCH net-next v6 09/10] netlink: specs: rt-route: add the route deletion reason
Date: Sat, 8 Aug 2026 09:56:41 +0900 [thread overview]
Message-ID: <20260808005642.26901-10-sigefriedhyy@gmail.com> (raw)
In-Reply-To: <20260808005642.26901-1-sigefriedhyy@gmail.com>
Add the del-reason attribute and its enum to the route attribute set,
and to the getroute reply, which the route notifications reuse.
The attribute is absent from the newroute and delroute request lists.
RTA_DEL_REASON is above strict_start_type in rtm_ipv6_policy, so
encoding it in a request is rejected with -EINVAL.
Signed-off-by: Yuyang Huang <sigefriedhyy@gmail.com>
---
Documentation/netlink/specs/rt-route.yaml | 34 +++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/Documentation/netlink/specs/rt-route.yaml b/Documentation/netlink/specs/rt-route.yaml
index 9f4a1a253676..253037ea5176 100644
--- a/Documentation/netlink/specs/rt-route.yaml
+++ b/Documentation/netlink/specs/rt-route.yaml
@@ -78,6 +78,27 @@ definitions:
-
name: rta-used
type: u32
+ -
+ name: del-reason
+ type: enum
+ name-prefix: rt-del-reason-
+ enum-name: rt-del-reason
+ doc: |
+ Why the kernel deleted a route. New causes may be appended. The
+ value space is family-agnostic, a value is never reinterpreted
+ per address family.
+ entries:
+ -
+ name: unspec
+ doc: The deletion path does not record a cause.
+ -
+ name: expired
+ doc: The RTF_EXPIRES lifetime ran out and the route was garbage
+ collected.
+ -
+ name: ra-withdrawn
+ doc: A Router Advertisement withdrew the route with a zero
+ lifetime.
attribute-sets:
-
@@ -185,6 +206,18 @@ attribute-sets:
type: u32
byte-order: big-endian
display-hint: hex
+ -
+ name: del-reason
+ type: u32
+ enum: del-reason
+ doc: |
+ Emitted only on RTM_DELROUTE notifications, and only when the
+ deletion path records a cause. An absent attribute means
+ either an older kernel or a deletion path that does not
+ record its cause, consumers must treat absent and unspec
+ identically. Currently only IPv6 deletion paths record a
+ cause. The attribute is notification-only, the kernel rejects
+ it in requests.
-
name: metrics
name-prefix: rtax-
@@ -299,6 +332,7 @@ operations:
- dport
- nh-id
- flowlabel
+ - del-reason
dump:
request:
value: 26
--
2.43.0
next prev parent reply other threads:[~2026-08-08 0:57 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-08 0:56 [PATCH net-next v6 00/10] ipv6: report why a route was deleted in RTM_DELROUTE Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 01/10] ipv6: add ip6_del_rt_reason() Yuyang Huang
2026-08-09 8:50 ` Ido Schimmel
2026-08-09 12:30 ` Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 02/10] ipv6: propagate the route deletion reason to fib6_del_route() Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 03/10] ipv6: record the reason for kernel-initiated route deletions Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 04/10] ipv6: add a deletion reason argument to rt6_fill_node() Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 05/10] ipv6: expose the route deletion reason in RTM_DELROUTE Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 06/10] ipv6: add inet6_rt_del_notify() Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 07/10] netlink: specs: rt-route: add route notifications Yuyang Huang
2026-08-08 0:56 ` [PATCH net-next v6 08/10] netlink: specs: rt-route: split out the request attribute list Yuyang Huang
2026-08-08 0:56 ` Yuyang Huang [this message]
2026-08-08 0:56 ` [PATCH net-next v6 10/10] selftests: net: verify RTA_DEL_REASON on route deletion Yuyang Huang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260808005642.26901-10-sigefriedhyy@gmail.com \
--to=sigefriedhyy@gmail.com \
--cc=carges@cloudflare.com \
--cc=daniel.zahka@gmail.com \
--cc=davem@davemloft.net \
--cc=dimitri.daskalakis1@gmail.com \
--cc=donald.hunter@gmail.com \
--cc=dsahern@kernel.org \
--cc=dw@davidwei.uk \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@fomichev.me \
--cc=shuah@kernel.org \
--cc=willemb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox