On Fri, Dec 02, 2011 at 10:55:28AM -0800, Ansis Atteka wrote:
> On Fri, Dec 2, 2011 at 9:55 AM, Ben Pfaff <b...@nicira.com> wrote:
> 
> > On Thu, Dec 01, 2011 at 07:55:21PM -0800, Ansis Atteka wrote:
> > > Some while ago Netlink Family names were changed from ODP_*
> > > to OVS_*. This leaded to upgrade related issues when the new ovs-dpctl
> > > wanted to remove existing datapaths from the old kernel module
> > > by using 'ovs_datapath' instead of 'odp_datapath' name.
> > >
> > > Issue #8548
> >
> > I believe that adding some compatibility is the right approach, but I
> > think that this is not the right way to do it.
> >
> > We can't modify include/linux/openvswitch.h for this because that file
> > is supposed to go upstream.
> >
> > I don't think that we should make dpif-linux.c treat the older
> > "odp_datapath" identically to the newer "ovs_datapath", because there
> > are undoubtedly important changes that will cause many (most?)
> > operations to fail in the older protocol.
> >
> I mostly agree with this.
> 
> I haven't looked into GIT history how much our Netlink protocol has changed
> between odp_datapath and ovs_datapath, so I do not have strong opinion
> about this. But the thing is that operations can also fail between two
> different ovs_datapath versions that go under the same name as well.
> 
> In the past ovs-dpctl has always tried to treat two different versions of
> ovs_datapath the same way. And the commit that changed odp_* to ovs_* was
> pure refactoring. That was the reason why I thought that using them as
> fall-back alias would not be more risky than what we have been doing all
> the time.

I agree that that was our strategy.  We need to change it.  I can go
over the details, if it would help.

> >        * Support only the most basic operations, e.g. dump, open,
> >          close, destroy, and fail the rest with an error.
> 
> Agree. Initially I wanted to go the same approach by limiting fall-back
> only to ovs-dpctl commands that are needed to unload the kernel module. But
> If I understand it correctly then this would require in dpif_linux_init()
> knowledge whether it is being called from ovs-dpctl and what operations
> user wants to execute. Will look into this.

If you do add a new linux-old datapath then this doesn't require any
such knowledge or special cases, as far as I can tell.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to