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