diff options
Diffstat (limited to 'isisd/isis_main.c')
| -rw-r--r-- | isisd/isis_main.c | 214 | 
1 files changed, 99 insertions, 115 deletions
diff --git a/isisd/isis_main.c b/isisd/isis_main.c index 674592f46b..463e3abcf3 100644 --- a/isisd/isis_main.c +++ b/isisd/isis_main.c @@ -2,17 +2,17 @@   * IS-IS Rout(e)ing protocol - isis_main.c   *   * Copyright (C) 2001,2002   Sampo Saaristo - *                           Tampere University of Technology       + *                           Tampere University of Technology   *                           Institute of Communications Engineering   * - * This program is free software; you can redistribute it and/or modify it  - * under the terms of the GNU General Public Licenseas published by the Free  - * Software Foundation; either version 2 of the License, or (at your option)  + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public Licenseas published by the Free + * Software Foundation; either version 2 of the License, or (at your option)   * any later version.   * - * This program is distributed in the hope that it will be useful,but WITHOUT  - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for  + * This program is distributed in the hope that it will be useful,but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for   * more details.   *   * You should have received a copy of the GNU General Public License along @@ -61,30 +61,24 @@  #define ISISD_VTY_PORT       2608  /* isisd privileges */ -zebra_capabilities_t _caps_p[] = { -  ZCAP_NET_RAW, -  ZCAP_BIND -}; +zebra_capabilities_t _caps_p[] = {ZCAP_NET_RAW, ZCAP_BIND};  struct zebra_privs_t isisd_privs = {  #if defined(FRR_USER) -  .user = FRR_USER, +	.user = FRR_USER,  #endif  #if defined FRR_GROUP -  .group = FRR_GROUP, +	.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), -  .cap_num_i = 0 -}; +	.caps_p = _caps_p, +	.cap_num_p = sizeof(_caps_p) / sizeof(*_caps_p), +	.cap_num_i = 0};  /* isisd options */ -struct option longopts[] = { -  {0} -}; +struct option longopts[] = {{0}};  /* Master of threads. */  struct thread_master *master; @@ -98,132 +92,122 @@ void sigterm(void);  void sigusr1(void); -static __attribute__((__noreturn__)) void -terminate (int i) +static __attribute__((__noreturn__)) void terminate(int i)  { -  isis_zebra_stop (); -  exit (i); +	isis_zebra_stop(); +	exit(i);  }  /*   * Signal handlers   */ -void -sighup (void) +void sighup(void)  { -  zlog_err ("SIGHUP/reload is not implemented for isisd"); -  return; +	zlog_err("SIGHUP/reload is not implemented for isisd"); +	return;  } -__attribute__((__noreturn__)) void -sigint (void) +__attribute__((__noreturn__)) void sigint(void)  { -  zlog_notice ("Terminating on signal SIGINT"); -  terminate (0); +	zlog_notice("Terminating on signal SIGINT"); +	terminate(0);  } -__attribute__((__noreturn__)) void -sigterm (void) +__attribute__((__noreturn__)) void sigterm(void)  { -  zlog_notice ("Terminating on signal SIGTERM"); -  terminate (0); +	zlog_notice("Terminating on signal SIGTERM"); +	terminate(0);  } -void -sigusr1 (void) +void sigusr1(void)  { -  zlog_debug ("SIGUSR1 received"); -  zlog_rotate(); +	zlog_debug("SIGUSR1 received"); +	zlog_rotate();  } -struct quagga_signal_t isisd_signals[] = -{ -  { -   .signal = SIGHUP, -   .handler = &sighup, -   }, -  { -   .signal = SIGUSR1, -   .handler = &sigusr1, -   }, -  { -   .signal = SIGINT, -   .handler = &sigint, -   }, -  { -   .signal = SIGTERM, -   .handler = &sigterm, -   }, +struct quagga_signal_t isisd_signals[] = { +	{ +		.signal = SIGHUP, +		.handler = &sighup, +	}, +	{ +		.signal = SIGUSR1, +		.handler = &sigusr1, +	}, +	{ +		.signal = SIGINT, +		.handler = &sigint, +	}, +	{ +		.signal = SIGTERM, +		.handler = &sigterm, +	},  }; -FRR_DAEMON_INFO(isisd, ISIS, -	.vty_port = ISISD_VTY_PORT, +FRR_DAEMON_INFO(isisd, ISIS, .vty_port = ISISD_VTY_PORT, -	.proghelp = "Implementation of the IS-IS routing protocol.", -	.copyright = "Copyright (c) 2001-2002 Sampo Saaristo," -		  " Ofer Wald and Hannes Gredler", +		.proghelp = "Implementation of the IS-IS routing protocol.", +		.copyright = +			"Copyright (c) 2001-2002 Sampo Saaristo," +			" Ofer Wald and Hannes Gredler", -	.signals = isisd_signals, -	.n_signals = array_size(isisd_signals), +		.signals = isisd_signals, +		.n_signals = array_size(isisd_signals), -	.privs = &isisd_privs, -) +		.privs = &isisd_privs, )  /*   * Main routine of isisd. Parse arguments and handle IS-IS state machine.   */ -int -main (int argc, char **argv, char **envp) +int main(int argc, char **argv, char **envp)  { -  int opt; +	int opt; -  frr_preinit (&isisd_di, argc, argv); -  frr_opt_add ("", longopts, ""); +	frr_preinit(&isisd_di, argc, argv); +	frr_opt_add("", longopts, ""); -  /* Command line argument treatment. */ -  while (1) -    { -      opt = frr_getopt (argc, argv, NULL); +	/* Command line argument treatment. */ +	while (1) { +		opt = frr_getopt(argc, argv, NULL); -      if (opt == EOF) -	break; +		if (opt == EOF) +			break; -      switch (opt) -	{ -	case 0: -	  break; -	default: -	  frr_help_exit (1); -	  break; +		switch (opt) { +		case 0: +			break; +		default: +			frr_help_exit(1); +			break; +		}  	} -    } - -  vty_config_lockless (); -  /* thread master */ -  master = frr_init (); - -  /* -   *  initializations -   */ -  access_list_init(); -  vrf_init (NULL, NULL, NULL, NULL); -  prefix_list_init(); -  isis_init (); -  isis_circuit_init (); -  isis_spf_cmds_init (); -  isis_redist_init (); -  isis_route_map_init(); -  isis_mpls_te_init(); - -  /* create the global 'isis' instance */ -  isis_new (1); - -  isis_zebra_init(master); - -  frr_config_fork (); -  frr_run (master); - -  /* Not reached. */ -  exit (0); + +	vty_config_lockless(); +	/* thread master */ +	master = frr_init(); + +	/* +	 *  initializations +	 */ +	access_list_init(); +	vrf_init(NULL, NULL, NULL, NULL); +	prefix_list_init(); +	isis_init(); +	isis_circuit_init(); +	isis_spf_cmds_init(); +	isis_redist_init(); +	isis_route_map_init(); +	isis_mpls_te_init(); + +	/* create the global 'isis' instance */ +	isis_new(1); + +	isis_zebra_init(master); + +	frr_config_fork(); +	frr_run(master); + +	/* Not reached. */ +	exit(0);  }  | 
