return idl->change_seqno;
}
+bool
+ovsdb_idl_has_ever_connected(const struct ovsdb_idl *idl)
+{
+ return ovsdb_idl_get_seqno(idl) != 0;
+}
+
void
ovsdb_idl_force_reconnect(struct ovsdb_idl *idl)
{
#ifndef OVSDB_IDL_H
#define OVSDB_IDL_H 1
+#include <stdbool.h>
#include <stdint.h>
struct json;
void ovsdb_idl_wait(struct ovsdb_idl *);
unsigned int ovsdb_idl_get_seqno(const struct ovsdb_idl *);
+bool ovsdb_idl_has_ever_connected(const struct ovsdb_idl *);
void ovsdb_idl_force_reconnect(struct ovsdb_idl *);
enum ovsdb_idl_txn_status {
ovs = ovsrec_open_vswitch_first(idl);
brc_recv_update(ovs);
- if (!ovs && ovsdb_idl_get_seqno(idl)) {
+ if (!ovs && ovsdb_idl_has_ever_connected(idl)) {
static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 1);
VLOG_WARN_RL(&rl, "%s: database does not contain any Open vSwitch "
"configuration", remote);