Commit bffc058934 (bridge: Add controller status to Controller table.) exposed
the underlying time in a particular connection state for each controller, but
this turns out not to be very useful, because controller state tends to
fluctuate even when the connection is unbroken. Change to set
"time_connected" or "time_disconnected" keys in the status column of the
Controller table.
Bug #4833.
---
ofproto/ofproto.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 49f99cb..c7872ba 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -1396,9 +1396,15 @@ ofproto_get_ofproto_controller_info(const struct ofproto
* ofproto,
cinfo->pairs.values[cinfo->pairs.n++] =
xstrdup(rconn_get_state(rconn));
- cinfo->pairs.keys[cinfo->pairs.n] = "time_in_state";
- cinfo->pairs.values[cinfo->pairs.n++] =
- xasprintf("%u", rconn_get_state_elapsed(rconn));
+ if (rconn_is_admitted(rconn)) {
+ cinfo->pairs.keys[cinfo->pairs.n] = "time_connected";
+ cinfo->pairs.values[cinfo->pairs.n++] =
+ xasprintf("%ld", time_now() -
rconn_get_last_connection(rconn));
+ } else {
+ cinfo->pairs.keys[cinfo->pairs.n] = "time_disconnected";
+ cinfo->pairs.values[cinfo->pairs.n++] =
+ xasprintf("%d", rconn_failure_duration(rconn));
+ }
}
}
--
1.7.2.3
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev