[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241004091724.61344-1-equinox@diac24.net>
Date: Fri, 4 Oct 2024 11:16:38 +0200
From: David Lamparter <equinox@...c24.net>
To: David Ahern <dsahern@...il.com>
Cc: netdev@...r.kernel.org,
David Lamparter <equinox@...c24.net>
Subject: [PATCH iproute2-next] rt_names: read `rt_addrprotos.d` directory
`rt_addrprotos` doesn't currently use the `.d` directory thing - add it.
My magic 8-ball predicts we might be grabbing a value or two for use in
FRRouting at some point in the future. Let's make it so we can ship
those in a separate file when it's time.
Signed-off-by: David Lamparter <equinox@...c24.net>
---
etc/iproute2/rt_addrprotos.d/README | 2 ++
lib/rt_names.c | 3 +++
man/man8/ip-address.8.in | 5 ++++-
3 files changed, 9 insertions(+), 1 deletion(-)
create mode 100644 etc/iproute2/rt_addrprotos.d/README
diff --git a/etc/iproute2/rt_addrprotos.d/README b/etc/iproute2/rt_addrprotos.d/README
new file mode 100644
index 000000000000..092115b12423
--- /dev/null
+++ b/etc/iproute2/rt_addrprotos.d/README
@@ -0,0 +1,2 @@
+Each file in this directory is an rt_addrprotos configuration file. iproute2
+commands scan this directory processing all files that end in '.conf'.
diff --git a/lib/rt_names.c b/lib/rt_names.c
index e967e0cac5b4..f44b1e4ba34e 100644
--- a/lib/rt_names.c
+++ b/lib/rt_names.c
@@ -315,6 +315,9 @@ static void rtnl_addrprot_initialize(void)
ret = rtnl_tab_initialize(CONF_USR_DIR "/rt_addrprotos",
rtnl_addrprot_tab,
ARRAY_SIZE(rtnl_addrprot_tab));
+
+ rtnl_tab_initialize_dir("rt_addrprotos.d", rtnl_addrprot_tab,
+ ARRAY_SIZE(rtnl_addrprot_tab));
}
const char *rtnl_addrprot_n2a(__u8 id, char *buf, int len)
diff --git a/man/man8/ip-address.8.in b/man/man8/ip-address.8.in
index d37dddb7b1a9..6c3f07f1173a 100644
--- a/man/man8/ip-address.8.in
+++ b/man/man8/ip-address.8.in
@@ -303,7 +303,10 @@ receive multicast traffic.
the protocol identifier of this route.
.I ADDRPROTO
may be a number or a string from the file
-.BR "/etc/iproute2/rt_addrprotos" .
+.BR @SYSCONF_USR_DIR@..._addrprotos " or " @SYSCONF_ETC_DIR@..._addrprotos
+(has precedence if exists). A directory named
+.BR rt_addrprotos.d
+is also scanned in either location.
If the protocol ID is not given,
.B ip assumes protocol 0. Several protocol
--
2.45.2
Powered by blists - more mailing lists