Thanks, applied to master and branch-2.1.

On Thu, Jan 30, 2014 at 04:11:13PM -0800, Justin Pettit wrote:
> Acked-by: Justin Pettit <[email protected]>
> 
> 
> On 1/30/14, 3:40 PM, "Ben Pfaff" <[email protected]> wrote:
> 
> >Database transactions can occasionally fail due to concurrent changes in
> >the database.  When that happens, the next transaction should repeat the
> >changes that ovs-vswitchd tried to make the first time (adjusted for the
> >changes to the database).
> >
> >The code to report the OpenFlow port number in use didn't do that.  It set
> >the ofport field once when it created the port and never set it again,
> >even
> >if the transaction to set it failed.  This commit fixes the problem.
> >
> >Bug #23047.
> >Reported-by: Suganya Ramachandran <[email protected]>
> >Signed-off-by: Ben Pfaff <[email protected]>
> >---
> > AUTHORS           |    1 +
> > vswitchd/bridge.c |    7 +++----
> > 2 files changed, 4 insertions(+), 4 deletions(-)
> >
> >diff --git a/AUTHORS b/AUTHORS
> >index 08ebdba..f1b129b 100644
> >--- a/AUTHORS
> >+++ b/AUTHORS
> >@@ -237,6 +237,7 @@ Spiro Kourtessis        [email protected]
> > Srini Seetharaman       [email protected]
> > Stephen Hemminger       [email protected]
> > Stephen Finucane        [email protected]
> >+Suganya Ramachandran    [email protected]
> > Takayuki HAMA           [email protected]
> > Teemu Koponen           [email protected]
> > Timothy Chen            [email protected]
> >diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
> >index e6be975..5b1aec3 100644
> >--- a/vswitchd/bridge.c
> >+++ b/vswitchd/bridge.c
> >@@ -1,4 +1,4 @@
> >-/* Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
> >+/* Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
> >  *
> >  * Licensed under the Apache License, Version 2.0 (the "License");
> >  * you may not use this file except in compliance with the License.
> >@@ -575,6 +575,7 @@ bridge_reconfigure(const struct ovsrec_open_vswitch
> >*ovs_cfg)
> >             port_configure(port);
> > 
> >             LIST_FOR_EACH (iface, port_elem, &port->ifaces) {
> >+                iface_set_ofport(iface->cfg, iface->ofp_port);
> >                 iface_configure_cfm(iface);
> >                 iface_configure_qos(iface, port->cfg->qos);
> >                 iface_set_mac(iface, port->cfg->fake_bridge ? br->ea :
> >NULL);
> >@@ -1478,7 +1479,6 @@ iface_create(struct bridge *br, const struct
> >ovsrec_interface *iface_cfg,
> >     ovs_assert(!iface_lookup(br, iface_cfg->name));
> >     error = iface_do_create(br, iface_cfg, port_cfg, &ofp_port, &netdev);
> >     if (error) {
> >-        iface_set_ofport(iface_cfg, OFPP_NONE);
> >         iface_clear_db_record(iface_cfg);
> >         return false;
> >     }
> >@@ -1503,8 +1503,6 @@ iface_create(struct bridge *br, const struct
> >ovsrec_interface *iface_cfg,
> >     hmap_insert(&br->ifaces, &iface->ofp_port_node,
> >                 hash_ofp_port(ofp_port));
> > 
> >-    iface_set_ofport(iface->cfg, ofp_port);
> >-
> >     /* Populate initial status in database. */
> >     iface_refresh_stats(iface);
> >     iface_refresh_status(iface);
> >@@ -3539,6 +3537,7 @@ static void
> > iface_clear_db_record(const struct ovsrec_interface *if_cfg)
> > {
> >     if (!ovsdb_idl_row_is_synthetic(&if_cfg->header_)) {
> >+        iface_set_ofport(if_cfg, OFPP_NONE);
> >         ovsrec_interface_set_status(if_cfg, NULL);
> >         ovsrec_interface_set_admin_state(if_cfg, NULL);
> >         ovsrec_interface_set_duplex(if_cfg, NULL);
> >-- 
> >1.7.10.4
> >
> >_______________________________________________
> >dev mailing list
> >[email protected]
> >http://openvswitch.org/mailman/listinfo/dev
> 
> 
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to