#include "resend.h"
#include "babel_zebra.h"
-
-static void babel_init (int argc, char **argv);
static void babel_fail(void);
static void babel_init_random(void);
static void babel_replace_by_null(int fd);
ZCAP_NET_RAW,
ZCAP_BIND
};
+
static struct zebra_privs_t babeld_privs =
{
#if defined(FRR_USER)
.vty_group = VTY_GROUP,
#endif
.caps_p = _caps_p,
- .cap_num_p = 2,
+ .cap_num_p = array_size(_caps_p),
.cap_num_i = 0
};
int
main(int argc, char **argv)
{
- struct thread thread;
- /* and print banner too */
- babel_init(argc, argv);
- while (thread_fetch (master, &thread)) {
- thread_call (&thread);
- }
- return 0;
-}
-
-/* make initialisations witch don't need infos about kernel(interfaces, etc.) */
-static void
-babel_init(int argc, char **argv)
-{
- int rc;
+ int rc;
- frr_preinit (&babeld_di, argc, argv);
- frr_opt_add ("", longopts, "");
+ frr_preinit (&babeld_di, argc, argv);
+ frr_opt_add ("", longopts, "");
babel_init_random();
}
/* create the threads handler */
- master = thread_master_create ();
+ master = frr_init ();
/* Library inits. */
zprivs_init (&babeld_privs);
schedule_neighbours_check(5000, 1);
zlog_notice ("BABELd %s starting: vty@%d", BABEL_VERSION, babel_vty_port);
+
+ frr_config_fork();
+ frr_run(master);
+
+ return 0;
}
static void