summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/user/zebra.rst7
-rw-r--r--zebra/main.c7
2 files changed, 13 insertions, 1 deletions
diff --git a/doc/user/zebra.rst b/doc/user/zebra.rst
index 8a394928c6..85f2a7af3e 100644
--- a/doc/user/zebra.rst
+++ b/doc/user/zebra.rst
@@ -48,6 +48,13 @@ Besides the common invocation options (:ref:`common-invocation-options`), the
.. seealso:: :ref:`zebra-vrf`
+.. option:: -o, --vrfdefaultname
+
+ When *Zebra* starts with this option, the default VRF name is changed to the
+ parameter.
+
+ .. seealso:: :ref:`zebra-vrf`
+
.. option:: --v6-rr-semantics
The linux kernel is receiving the ability to use the same route
diff --git a/zebra/main.c b/zebra/main.c
index 5e7c69382f..8db1c48f22 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -99,6 +99,7 @@ struct option longopts[] = {
{"ecmp", required_argument, NULL, 'e'},
{"label_socket", no_argument, NULL, 'l'},
{"retain", no_argument, NULL, 'r'},
+ {"vrfdefaultname", required_argument, NULL, 'o'},
#ifdef HAVE_NETLINK
{"vrfwnetns", no_argument, NULL, 'n'},
{"nl-bufsize", required_argument, NULL, 's'},
@@ -235,7 +236,7 @@ int main(int argc, char **argv)
frr_preinit(&zebra_di, argc, argv);
frr_opt_add(
- "bakz:e:l:r"
+ "bakz:e:l:o:r"
#ifdef HAVE_NETLINK
"s:n"
#endif
@@ -254,6 +255,7 @@ int main(int argc, char **argv)
" -l, --label_socket Socket to external label manager\n"
" -k, --keep_kernel Don't delete old routes which were installed by zebra.\n"
" -r, --retain When program terminates, retain added route by zebra.\n"
+ " -o, --vrfdefaultname Set default VRF name.\n"
#ifdef HAVE_NETLINK
" -n, --vrfwnetns Use NetNS as VRF backend\n"
" -s, --nl-bufsize Set netlink receive buffer size\n"
@@ -296,6 +298,9 @@ int main(int argc, char **argv)
return 1;
}
break;
+ case 'o':
+ vrf_set_default_name(optarg);
+ break;
case 'z':
zserv_path = optarg;
if (!frr_zclient_addr(&dummy, &dummylen, optarg)) {