struct netdev *netdev;
error = netdev_open_default(iface_name, &netdev);
- if (netdev) {
+ if (!error) {
if (!netdev_get_etheraddr(netdev, mac->addr)) {
n_local_macs++;
}
struct ovsdb_idl *idl;
int retval;
+ proctitle_init(argc, argv);
set_program_name(argv[0]);
time_init();
vlog_init();
remote = parse_options(argc, argv);
signal(SIGPIPE, SIG_IGN);
process_init();
+ ovsrec_init();
die_if_already_running();
daemonize_start();
retval = unixctl_server_create(NULL, &unixctl);
if (retval) {
- ovs_fatal(retval, "could not listen for vlog connections");
+ exit(EXIT_FAILURE);
}
if (brc_open(&brc_sock)) {
ovsdb_idl_txn_wait(txn);
poll_block();
}
- ovsdb_idl_txn_destroy(txn);
switch (status) {
case TXN_INCOMPLETE:
case TXN_TRY_AGAIN:
/* xxx Handle this better! */
- printf("xxx We need to try again!\n");
+ VLOG_ERR("OVSDB transaction needs retry");
break;
case TXN_ERROR:
- /* xxx Is this what we want to do? */
- ovs_fatal(0, "transaction error");
-
+ /* xxx Handle this better! */
+ VLOG_ERR("OVSDB transaction failed: %s",
+ ovsdb_idl_txn_get_error(txn));
+ break;
+
default:
NOT_REACHED();
}
+ ovsdb_idl_txn_destroy(txn);
nl_sock_wait(brc_sock, POLLIN);
ovsdb_idl_wait(idl);