From 1101a0b4708d87505d80c4641c4adadd5c6ece36 Mon Sep 17 00:00:00 2001 From: Andrew Evans Date: Tue, 28 Jun 2011 13:17:54 -0700 Subject: [PATCH] bridge: Populate interface status/statistics as soon as a port is added. Currently there's a lag of up to five seconds before the status and statistics columns in the Interface table are populated when a port is first added to a bridge. This may confuse systems that expect those columns to be populated right away. Bug #6145. --- vswitchd/bridge.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index d0a5764d3..935440323 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -195,7 +195,9 @@ static void iface_set_mac(struct iface *); static void iface_set_ofport(const struct ovsrec_interface *, int64_t ofport); static void iface_configure_qos(struct iface *, const struct ovsrec_qos *); static void iface_configure_cfm(struct iface *); -static bool iface_refresh_cfm_stats(struct iface *iface); +static bool iface_refresh_cfm_stats(struct iface *); +static void iface_refresh_stats(struct iface *); +static void iface_refresh_status(struct iface *); static bool iface_get_carrier(const struct iface *); static bool iface_is_synthetic(const struct iface *); @@ -866,6 +868,12 @@ bridge_add_ofproto_ports(struct bridge *br) iface->name, strerror(error)); } + /* Populate stats columns in new Interface rows. */ + if (!iface->cfg->mtu) { + iface_refresh_stats(iface); + iface_refresh_status(iface); + } + /* Add the port, if necessary. */ if (iface->netdev && iface->ofp_port < 0) { uint16_t ofp_port; -- 2.43.0