aboutsummaryrefslogtreecommitdiff
path: root/vswitchd/bridge.c
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2011-10-14 12:49:57 -0700
committerEthan Jackson <ethan@nicira.com>2011-10-17 15:03:03 -0700
commit65c3058c22803c7e8d8fd0bfbb84fe27456fb137 (patch)
tree88dd05f5dc01a6a554c2d940c007e21d2eb2bfca /vswitchd/bridge.c
parent3a1831242856a975d57c875b8f8987b819e8dd39 (diff)
vswitchd: New column "link_resets".
An interface's 'link_resets' column represents the number of times Open vSwitch has observed its link_state change.
Diffstat (limited to 'vswitchd/bridge.c')
-rw-r--r--vswitchd/bridge.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index b3c62187..d4335c10 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -238,6 +238,7 @@ bridge_init(const char *remote)
ovsdb_idl_omit_alert(idl, &ovsrec_interface_col_duplex);
ovsdb_idl_omit_alert(idl, &ovsrec_interface_col_link_speed);
ovsdb_idl_omit_alert(idl, &ovsrec_interface_col_link_state);
+ ovsdb_idl_omit_alert(idl, &ovsrec_interface_col_link_resets);
ovsdb_idl_omit_alert(idl, &ovsrec_interface_col_mtu);
ovsdb_idl_omit_alert(idl, &ovsrec_interface_col_ofport);
ovsdb_idl_omit_alert(idl, &ovsrec_interface_col_statistics);
@@ -1574,6 +1575,7 @@ bridge_run(void)
HMAP_FOR_EACH (iface, name_node, &br->iface_by_name) {
const char *link_state;
+ int64_t link_resets;
int current;
if (iface_is_synthetic(iface)) {
@@ -1591,6 +1593,9 @@ bridge_run(void)
link_state = netdev_get_carrier(iface->netdev) ? "up" : "down";
ovsrec_interface_set_link_state(iface->cfg, link_state);
+
+ link_resets = netdev_get_carrier_resets(iface->netdev);
+ ovsrec_interface_set_link_resets(iface->cfg, &link_resets, 1);
}
}