summaryrefslogtreecommitdiff
path: root/zebra
diff options
context:
space:
mode:
authorIgor Ryzhov <idryzhov@gmail.com>2024-12-27 21:33:39 +0200
committerIgor Ryzhov <idryzhov@gmail.com>2025-01-15 23:38:27 +0200
commit300f8dbda4bc7efdab90809fbff5f9799c0ec2aa (patch)
tree72a4cdba181d9c90528f098d41dee08e862d2b6c /zebra
parent6f214d97d1a7883ea8d5866e10db31daffa0325a (diff)
lib: introduce global -w option for VRF netns backend
Current -n option is only for zebra and mgmtd. All other daemons receive the VRF backend configuration from zebra upon connection to it. This leads to a potential race condition - daemons need to know the backend before they start reading their config, but they can be not connected to zebra yet at this point. As the VRF backend cannot change during runtime, let's introduce a new global -w option for setting netns backend, to make sure that all daemons know their VRF backend immediately after start. The reason for introducing a new option instead of making -n global is that ospfd already uses -n for another purposes. Signed-off-by: Igor Ryzhov <idryzhov@gmail.com>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/zebra/main.c b/zebra/main.c
index f84bfa6eb0..fd242e762a 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -377,7 +377,7 @@ int main(int argc, char **argv)
" --v6-with-v4-nexthops Underlying dataplane supports v6 routes with v4 nexthops\n"
#ifdef HAVE_NETLINK
" -s, --nl-bufsize Set netlink receive buffer size\n"
- " -n, --vrfwnetns Use NetNS as VRF backend\n"
+ " -n, --vrfwnetns Use NetNS as VRF backend (deprecated, use -w)\n"
" --v6-rr-semantics Use v6 RR semantics\n"
#else
" -s, Set kernel socket receive buffer size\n"
@@ -438,6 +438,8 @@ int main(int argc, char **argv)
break;
#ifdef HAVE_NETLINK
case 'n':
+ fprintf(stderr,
+ "The -n option is deprecated, please use global -w option instead.\n");
vrf_configure_backend(VRF_BACKEND_NETNS);
break;
case OPTION_V6_RR_SEMANTICS: