int main(int argc, char *argv[])
{
- const char *ctl_path = BFDD_CONTROL_SOCKET;
+ char ctl_path[512];
+ bool ctlsockused = false;
int opt;
/* Initialize system sockets. */
frr_opt_add("", longopts,
" --bfdctl Specify bfdd control socket\n");
+ snprintf(ctl_path, sizeof(ctl_path), BFDD_CONTROL_SOCKET,
+ "", "");
while (true) {
opt = frr_getopt(argc, argv, NULL);
if (opt == EOF)
switch (opt) {
case OPTION_CTLSOCK:
- ctl_path = optarg;
+ strlcpy(ctl_path, optarg, sizeof(ctl_path));
+ ctlsockused = true;
break;
default:
}
}
+ if (bfdd_di.pathspace && !ctlsockused)
+ snprintf(ctl_path, sizeof(ctl_path), BFDD_CONTROL_SOCKET,
+ "/", bfdd_di.pathspace);
+
#if 0 /* TODO add support for JSON configuration files. */
parse_config(conf);
#endif
AC_DEFINE_UNQUOTED([LDPD_SOCKET], ["$frr_statedir/ldpd.sock"], [ldpd control socket])
AC_DEFINE_UNQUOTED([ZEBRA_SERV_PATH], ["$frr_statedir%s%s/zserv.api"], [zebra api socket])
-AC_DEFINE_UNQUOTED([BFDD_CONTROL_SOCKET], ["$frr_statedir/bfdd.sock"], [bfdd control socket])
+AC_DEFINE_UNQUOTED([BFDD_CONTROL_SOCKET], ["$frr_statedir%s%s/bfdd.sock"], [bfdd control socket])
AC_DEFINE_UNQUOTED([DAEMON_VTY_DIR], ["$frr_statedir"], [daemon vty directory])
AC_DEFINE_UNQUOTED([DAEMON_DB_DIR], ["$frr_statedir"], [daemon database directory])