Fixed according to comments from Ben.
v1-v2:
- Refresh iface on every iface create.
--8<--------------------------cut here-------------------------->8--
There is no need to refresh status and stats for existing devices
if iface mtu is missing in ovs-db as missing MTU could just mean
error in last MTU read for that device.
So we can just refresh stats for devices which are just created.
Signed-off-by: Pravin B Shelar <[email protected]>
---
vswitchd/bridge.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index 7e24937..2ea146c 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -75,6 +75,7 @@ struct iface {
struct netdev *netdev; /* Network device. */
const char *type; /* Usually same as cfg->type. */
const struct ovsrec_interface *cfg;
+ bool need_refresh; /* Refresh iface after create. */
};
struct mirror {
@@ -1189,9 +1190,10 @@ bridge_add_ofproto_ports(struct bridge *br)
}
/* Populate stats columns in new Interface rows. */
- if (iface->netdev && !iface->cfg->mtu) {
+ if (iface->netdev && iface->need_refresh) {
iface_refresh_stats(iface);
iface_refresh_status(iface);
+ iface->need_refresh = false;
}
/* Delete the iface if we failed. */
@@ -2929,6 +2931,7 @@ iface_create(struct port *port, const struct
ovsrec_interface *if_cfg)
iface->tag = tag_create_random();
iface->netdev = NULL;
iface->cfg = if_cfg;
+ iface->need_refresh = true;
hmap_insert(&br->iface_by_name, &iface->name_node, hash_string(name, 0));
--
1.7.1
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev