diff options
Diffstat (limited to 'bgpd/bgp_main.c')
| -rw-r--r-- | bgpd/bgp_main.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c index e0834604b2..6643795f55 100644 --- a/bgpd/bgp_main.c +++ b/bgpd/bgp_main.c @@ -77,6 +77,7 @@ static const struct option longopts[] = { {"no_kernel", no_argument, NULL, 'n'}, {"skip_runas", no_argument, NULL, 'S'}, {"ecmp", required_argument, NULL, 'e'}, + {"int_num", required_argument, NULL, 'I'}, {0}}; /* signal definitions */ @@ -371,15 +372,17 @@ int main(int argc, char **argv) char *bgp_address = NULL; int no_fib_flag = 0; int skip_runas = 0; + int instance = 0; frr_preinit(&bgpd_di, argc, argv); frr_opt_add( - "p:l:Sne:" DEPRECATED_OPTIONS, longopts, + "p:l:Sne:I:" DEPRECATED_OPTIONS, longopts, " -p, --bgp_port Set BGP listen port number (0 means do not listen).\n" " -l, --listenon Listen on specified address (implies -n)\n" " -n, --no_kernel Do not install route to kernel.\n" " -S, --skip_runas Skip capabilities checks, and changing user and group IDs.\n" - " -e, --ecmp Specify ECMP to use.\n"); + " -e, --ecmp Specify ECMP to use.\n" + " -I, --int_num Set instance number (label-manager)\n"); /* Command line argument treatment. */ while (1) { @@ -410,7 +413,7 @@ int main(int argc, char **argv) if (multipath_num > MULTIPATH_NUM || multipath_num <= 0) { flog_err( - BGP_ERR_MULTIPATH, + EC_BGP_MULTIPATH, "Multipath Number specified must be less than %d and greater than 0", MULTIPATH_NUM); return 1; @@ -426,6 +429,12 @@ int main(int argc, char **argv) case 'S': skip_runas = 1; break; + case 'I': + instance = atoi(optarg); + if (instance > (unsigned short)-1) + zlog_err("Instance %i out of range (0..%u)", + instance, (unsigned short)-1); + break; default: frr_help_exit(1); break; @@ -448,7 +457,7 @@ int main(int argc, char **argv) bgp_vrf_init(); /* BGP related initialization. */ - bgp_init(); + bgp_init((unsigned short)instance); snprintf(bgpd_di.startinfo, sizeof(bgpd_di.startinfo), ", bgp@%s:%d", (bm->address ? bm->address : "<all>"), bm->port); |
