Hi, Ben

This's my mistake to forget to mention what version I use.

Yes, if I use seq_change(), this problem is fixed.

BR.
Brandon

========================================================================

鄭盛謙 Brandon Cheng

EstiNet Technologies Inc.

Tainan Branch Office: 12F., No.1-72, Zhonghua Rd., Yongkang Dist.,

                                  Tainan City 71084, Taiwan, R.O.C

Tel : +886 6 3125124 ext. 211

Fax: +886 6 3124617

========================================================================

2017-02-03 1:55 GMT+08:00 Ben Pfaff <[email protected]>:

> OK, if you do that, does it fix the problem?
>
> (But, when you report a bug, you should mention what version you're
> using, especially when it's years old.)
>
> On Thu, Feb 02, 2017 at 10:09:51AM +0800, Brandon Cheng wrote:
> > Hi, Ben
> >
> > Sorry I replied too late. Because I'm busy for other jobs during these
> > weeks.
> >
> > I use openvswitch 2.1.2, so no  netdev_change_seq_changed() API to be
> used.
> >
> > Could I use seq_change() instead of netdev_change_seq_changed()?
> >
> > BR.
> >
> > Brandon
> >
> >
> > 2017-02-01 7:14 GMT+08:00 Ben Pfaff <[email protected]>:
> >
> > > On Fri, Jan 13, 2017 at 01:03:32PM -0800, Ben Pfaff wrote:
> > > > On Wed, Jan 11, 2017 at 04:05:51PM +0800, Brandon Cheng wrote:
> > > > > After all statements of netdev_linux_update_flags() executed
> > > successfully,
> > > > > it also executes seq_change() to tell ofproto_run() something
> changed
> > > to
> > > > > update ovsdb.
> > > > >
> > > > > And in order to config port to linkup can update ovsdb.
> > > > > it needs to use "a->config == b->config" instead of "&&
> !((a->config ^
> > > > > b->config) & OFPUTIL_PC_PORT_DOWN)" in the ofport_equal() of
> ofproto.c.
> > > > >
> > > > > For example:
> > > > > step1: # ovs-ofctl mod-port br0 14 down -O openflow13 ---->although
> > > port 16
> > > > > is actually down, it doesn't update ovsdb, so config of port 16 is
> > > still up
> > > > > in the ovsdb.
> > > > > step2: # ovs-ofctl mod-port br0 14 up -O openflow13   ----> because
> > > config
> > > > > of port 16 in the ovsdb is still up, this up action will not be
> > > executed.
> > > > > So that this port can't be up forever.
> > > > >
> > > > > Is this a bug?
> > > >
> > > > Please test this patch.
> > > >
> > > > diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
> > > > index a5a9ec1..1eadbbd 100644
> > > > --- a/lib/netdev-linux.c
> > > > +++ b/lib/netdev-linux.c
> > > > @@ -2742,6 +2742,7 @@ update_flags(struct netdev_linux *netdev, enum
> > > netdev_flags off,
> > > >      if (new_flags != old_flags) {
> > > >          error = set_flags(netdev_get_name(&netdev->up), new_flags);
> > > >          get_flags(&netdev->up, &netdev->ifi_flags);
> > > > +        netdev_change_seq_changed(&netdev->up);
> > > >      }
> > > >
> > > >      return error;
> > >
> > > Brandon, does this fix the problem?
> > >
> > > Thanks,
> > >
> > > Ben.
> > >
>
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to