From: David Lamparter Date: Fri, 4 Oct 2024 09:16:38 +0000 (+0200) Subject: rt_names: read `rt_addrprotos.d` directory X-Git-Tag: v6.13.0~15^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b43f84a0a9fe75c0a39d0b8ff6dc1f03df1c985d;p=thirdparty%2Fiproute2.git 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 Signed-off-by: David Ahern --- diff --git a/etc/iproute2/rt_addrprotos.d/README b/etc/iproute2/rt_addrprotos.d/README new file mode 100644 index 000000000..092115b12 --- /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 723f0917b..7dc194b15 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 d37dddb7b..6c3f07f11 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@/rt_addrprotos " or " @SYSCONF_ETC_DIR@/rt_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