On Fri, Nov 4, 2011 at 4:43 PM, Ben Pfaff <b...@nicira.com> wrote: > Feature #4886. > --- > lib/odp-util.c | 465 +++++++++++++++++-------------- > lib/odp-util.h | 17 +- > ofproto/ofproto-dpif.c | 724 > +++++++++++++++++++++++++++++------------------- > tests/automake.mk | 2 + > 4 files changed, 719 insertions(+), 489 deletions(-)
I'm still looking through the details of this but I have one high level concern that I'd like to bring up first: To me, compatibility is not so much about making a feature work even if one of the sides doesn't support it but ensuring that existing functionality continues to work even if unrelated things are added. For example, if one side supports IPv6 but the other does not, then I don't necessarily expect IPv6 to work at all unless I upgrade. However, if I'm doing L2 switching only and upgrade one half to a version that supports IPv6 then I don't expect a change in behavior. On the kernel side of things, this expectation is met after this patch. If userspace upgrades to support IPv6 but the kernel does not then performance will fall off a cliff for IPv6 traffic. This would likely be a pretty big surprise. So in that light, it seems to me that the ability to check which fields are important is much more than just an optimization and is actually a fairly core part of compatibility. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev