diff options
Diffstat (limited to 'pimd/pim_main.c')
| -rw-r--r-- | pimd/pim_main.c | 162 | 
1 files changed, 78 insertions, 84 deletions
diff --git a/pimd/pim_main.c b/pimd/pim_main.c index a80059535d..b8e6d8ad3d 100644 --- a/pimd/pim_main.c +++ b/pimd/pim_main.c @@ -20,7 +20,7 @@  #include <zebra.h>  #include "log.h" -#include "privs.h"  +#include "privs.h"  #include "version.h"  #include <getopt.h>  #include "command.h" @@ -49,115 +49,109 @@  extern struct host host; -struct option longopts[] = { -  { 0 } -}; +struct option longopts[] = {{0}};  /* pimd privileges */ -zebra_capabilities_t _caps_p [] =  -{ -  ZCAP_NET_ADMIN, -  ZCAP_SYS_ADMIN, -  ZCAP_NET_RAW, -  ZCAP_BIND, +zebra_capabilities_t _caps_p[] = { +	ZCAP_NET_ADMIN, ZCAP_SYS_ADMIN, ZCAP_NET_RAW, ZCAP_BIND,  };  /* pimd privileges to run with */ -struct zebra_privs_t pimd_privs = -{ +struct zebra_privs_t pimd_privs = {  #if defined(FRR_USER) && defined(FRR_GROUP) -  .user = FRR_USER, -  .group = FRR_GROUP, +	.user = FRR_USER, +	.group = FRR_GROUP,  #endif  #ifdef VTY_GROUP -  .vty_group = VTY_GROUP, +	.vty_group = VTY_GROUP,  #endif -  .caps_p = _caps_p, -  .cap_num_p = sizeof(_caps_p)/sizeof(_caps_p[0]), -  .cap_num_i = 0 -}; - -FRR_DAEMON_INFO(pimd, PIM, -	.vty_port = PIMD_VTY_PORT, - -	.proghelp = "Implementation of the PIM routing protocol.", - -	.signals = pimd_signals, -	.n_signals = 4 /* XXX array_size(pimd_signals) XXX*/, +	.caps_p = _caps_p, +	.cap_num_p = sizeof(_caps_p) / sizeof(_caps_p[0]), +	.cap_num_i = 0}; -	.privs = &pimd_privs, -) +FRR_DAEMON_INFO(pimd, PIM, .vty_port = PIMD_VTY_PORT, +		.proghelp = "Implementation of the PIM routing protocol.", -int main(int argc, char** argv, char** envp) { -  frr_preinit(&pimd_di, argc, argv); -  frr_opt_add("", longopts, ""); +		.signals = pimd_signals, +		.n_signals = 4 /* XXX array_size(pimd_signals) XXX*/, -  /* this while just reads the options */ -  while (1) { -    int opt; +		.privs = &pimd_privs, ) -    opt = frr_getopt(argc, argv, NULL); -    if (opt == EOF) -      break; -     -    switch (opt) { -    case 0: -      break; -    default: -      frr_help_exit (1); -      break; -    } -  } - -  master = frr_init(); - -  /*  -   * Initializations -   */ -  pim_vrf_init (); -  access_list_init(); -  prefix_list_init (); -  prefix_list_add_hook (pim_prefix_list_update); -  prefix_list_delete_hook (pim_prefix_list_update); - -  pim_route_map_init (); -  pim_init(); -  pim_msdp_init (master); - -  /* -   * Initialize zclient "update" and "lookup" sockets -   */ -  pim_zebra_init(); -  pim_bfd_init (); - -  frr_config_fork(); +int main(int argc, char **argv, char **envp) +{ +	frr_preinit(&pimd_di, argc, argv); +	frr_opt_add("", longopts, ""); + +	/* this while just reads the options */ +	while (1) { +		int opt; + +		opt = frr_getopt(argc, argv, NULL); + +		if (opt == EOF) +			break; + +		switch (opt) { +		case 0: +			break; +		default: +			frr_help_exit(1); +			break; +		} +	} + +	master = frr_init(); + +	/* +	 * Initializations +	 */ +	pim_vrf_init(); +	access_list_init(); +	prefix_list_init(); +	prefix_list_add_hook(pim_prefix_list_update); +	prefix_list_delete_hook(pim_prefix_list_update); + +	pim_route_map_init(); +	pim_init(); +	pim_msdp_init(master); + +	/* +	 * Initialize zclient "update" and "lookup" sockets +	 */ +	pim_zebra_init(); +	pim_bfd_init(); + +	frr_config_fork();  #ifdef PIM_DEBUG_BYDEFAULT -  zlog_notice("PIM_DEBUG_BYDEFAULT: Enabling all debug commands"); -  PIM_DO_DEBUG_PIM_EVENTS; -  PIM_DO_DEBUG_PIM_PACKETS; -  PIM_DO_DEBUG_PIM_TRACE; -  PIM_DO_DEBUG_IGMP_EVENTS; -  PIM_DO_DEBUG_IGMP_PACKETS; -  PIM_DO_DEBUG_IGMP_TRACE; -  PIM_DO_DEBUG_ZEBRA; +	zlog_notice("PIM_DEBUG_BYDEFAULT: Enabling all debug commands"); +	PIM_DO_DEBUG_PIM_EVENTS; +	PIM_DO_DEBUG_PIM_PACKETS; +	PIM_DO_DEBUG_PIM_TRACE; +	PIM_DO_DEBUG_IGMP_EVENTS; +	PIM_DO_DEBUG_IGMP_PACKETS; +	PIM_DO_DEBUG_IGMP_TRACE; +	PIM_DO_DEBUG_ZEBRA;  #endif  #ifdef PIM_CHECK_RECV_IFINDEX_SANITY -  zlog_notice("PIM_CHECK_RECV_IFINDEX_SANITY: will match sock/recv ifindex"); +	zlog_notice( +		"PIM_CHECK_RECV_IFINDEX_SANITY: will match sock/recv ifindex");  #ifdef PIM_REPORT_RECV_IFINDEX_MISMATCH -  zlog_notice("PIM_REPORT_RECV_IFINDEX_MISMATCH: will report sock/recv ifindex mismatch"); +	zlog_notice( +		"PIM_REPORT_RECV_IFINDEX_MISMATCH: will report sock/recv ifindex mismatch");  #endif  #endif  #ifdef PIM_UNEXPECTED_KERNEL_UPCALL -  zlog_notice("PIM_UNEXPECTED_KERNEL_UPCALL: report unexpected kernel upcall"); +	zlog_notice( +		"PIM_UNEXPECTED_KERNEL_UPCALL: report unexpected kernel upcall");  #endif -  frr_run(master); +	frr_run(master); -  /* never reached */ -  return 0; +	/* never reached */ +	return 0;  }  | 
