Sometimes the ofproto layer creates a flow which is not liked by the revalidation for various reasons. This behavior, while not critical might impact the performance. This series aims to fix a lot of these bugs.
The detection has been done by modifying OVS to revalidate a flow as soon as it is installed (this is not included in the series, I'd be happy to discuss strategies to merge something like that upstream). If the revalidation complains there's a bug. This series fixes all the bugs found in the testsuite. The first commits are trivial fixes to various components in OVS. The last three commits address more complicated problems and I'd be happy to discuss alternative (maybe simpler) solutions. Daniele Di Proietto (9): dpif-netdev: Initialize match.tun_md in various places. ofproto-dpif-xlate: Fix revalidation in execute_controller_action(). tnl-ports: Generate mask with correct prerequisites. odp-util: Commit ICMP set only for ICMP packets. odp-util: Return exact mask if netlink mask attribute is missing. odp-util: Correctly [de]serialize mask for ND attributes. ofproto-dpif-xlate: Generate right mask when checking prereqs. ofproto-dpif-xlate: Don't unwildcard tunnel attributes on set. ofproto-dpif-xlate: Do not include non existing MPLS lse in wc. lib/dpctl.c | 2 +- lib/dpif-netdev.c | 48 +++++----- lib/flow.h | 38 ++++++-- lib/meta-flow.c | 202 +++++++++++++++++++++++++++++------------- lib/meta-flow.h | 6 +- lib/nx-match.c | 12 +-- lib/odp-util.c | 53 ++++++++--- lib/odp-util.h | 4 +- lib/tnl-ports.c | 6 +- ofproto/ofproto-dpif-upcall.c | 2 +- ofproto/ofproto-dpif-xlate.c | 26 +++++- tests/mpls-xlate.at | 2 +- tests/test-odp.c | 2 +- 13 files changed, 278 insertions(+), 125 deletions(-) -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev