[ovs-dev] [PATCH v2] ofproto/ofproto.c: After port_mod + barrier, port config may not be updated

Ben Pfaff blp at nicira.com
Thu Oct 18 19:10:14 UTC 2012


On Fri, Oct 19, 2012 at 03:43:50AM +0900, Isaku Yamahata wrote:
> On Thu, Oct 18, 2012 at 11:31:03AM -0700, Ben Pfaff wrote:
> > On Thu, Oct 18, 2012 at 08:08:52AM +0900, Isaku Yamahata wrote:
> > > The following OF packets may produce the wrong result as follows.
> > > It depends on how ovs-vswitchd serves OF packets. Sending the OF packets
> > > in single TCP packet will increase the possiblity.
> > > 
> > > OF request:
> > >   feature request
> > >   port_mod with config LINK DOWN
> > >   barrier
> > >   feature request
> > > 
> > > The replies:
> > >   feature reply with port config UP
> > >   barrier
> > >   feature reply with port config UP (this should be DOWN because
> > >                                      it's after barrier)
> > >   port status with port config = DOWN and port status = DOWN
> > > 
> > > The direct cause is updte_port_config() @ ofproto/ofproto.c doesn't update
> > > ofputil_phy_port::config. And later the config member is updated
> > > by update_port() in main loop().
> > > It seems that it tries to produce port_status event due to config change.
> > > But changing other OFPC flags doesn't generate port_status event, so it's
> > > consistent not to generate the event when OFPC_LINK_DOWN flag is changed.
> > > 
> > > Signed-off-by: Isaku Yamahata <yamahata at valinux.co.jp>
> > 
> > You did a good job preserving the existing properties of this code, but
> > the existing properties are really confusing and I'm having a really
> > hard time figuring out why they exist.  That's bad, because I'm almost
> > certainly the original author of this code.
> > 
> > I think I need to take some time to figure out why this code is so odd,
> > before we continue to hack on it more.  I'll try to do that tomorrow.
> 
> I see. FYI here's the related issues I'm seeing.
> - Similar issue when setting advertise value.
> - If setting advertise failed, the error is ignored.
>   Should the error be propagated to port_mod request?

Yes, I agree that those are all issues.



More information about the dev mailing list