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 <pshe...@nicira.com>
---
 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
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to