This patch set backports the recent upstream conntrack fixes and new features to the OVS tree kernel module, and adds the OVS userspace support.
Patch 1/22 is an unrelated datapath backport, and patch 22/22 allows compiling against Linux 4.10. Each new feature is introduced in two different commits, the first is the datapath backport, the second the corresponding userspace datapath and non-datapath functionality, including OVS system tests. In one instance I have squashed the system test with the datapath backport. Compile would fail after the first patch due to missing userspace code for new enums. We may decide to squash the datapath and userspace changes together for the merge, but for now the review should be more straightforward with the separation. System tests have been most recently run on Linux 3.16, on which the geneve tests fail, but that should have nothing to do with this series. v2: - Fix compilation on Linux 3.10 and 3.11 - Fix 32-bit compiles. Florian Westphal (2): datapath: add and use skb_nfct helper datapath: add and use nf_ct_set helper Jarno Rajahalme (19): datapath: Fix comments for skb->_nfct datapath: Use inverted tuple in ovs_ct_find_existing() if NATted. datapath: Do not trigger events for unconfirmed connections. datapath: Unionize ovs_key_ct_label with a u32 array. datapath: Simplify labels length logic. datapath: Refactor labels initialization. datapath: Inherit master's labels. netlink: Simplify nl_msg_start_nested(). lib: Check match and action prerequisities with 'match'. datapath: Add original direction conntrack tuple to sw_flow_key. flow: Make room after ct_state. odp: Support conntrack orig tuple key. actions: Add resubmit with conntrack tuple. compat: nf_ct_delete compat. datapath: Add force commit. conntrack: Force commit. datapath: Add a missing comment. tests: Add an FTP test without conntrack. datapath: Allow compiling against Linux 4.10 stephen hemminger (1): datapath: make ndo_get_stats64 a void function acinclude.m4 | 13 +- build-aux/extract-ofp-fields | 3 + datapath/actions.c | 2 + datapath/conntrack.c | 292 +++++++++++++---- datapath/conntrack.h | 10 +- datapath/flow.c | 34 +- datapath/flow.h | 49 ++- datapath/flow_netlink.c | 85 +++-- datapath/flow_netlink.h | 7 +- datapath/linux/compat/include/linux/openvswitch.h | 33 +- datapath/linux/compat/include/linux/skbuff.h | 11 + .../compat/include/net/netfilter/nf_conntrack.h | 8 + .../include/net/netfilter/nf_conntrack_core.h | 37 +++ datapath/vport-internal_dev.c | 6 +- include/openvswitch/flow.h | 16 +- include/openvswitch/match.h | 16 + include/openvswitch/meta-flow.h | 141 +++++++- include/openvswitch/ofp-actions.h | 15 +- lib/bundle.c | 4 +- lib/bundle.h | 3 +- lib/conntrack.c | 59 +++- lib/conntrack.h | 2 +- lib/dpif-netdev.c | 8 +- lib/flow.c | 221 +++++++++---- lib/flow.h | 50 +++ lib/learn.c | 15 +- lib/learn.h | 3 +- lib/match.c | 118 ++++++- lib/meta-flow.c | 193 ++++++++++- lib/meta-flow.xml | 92 ++++++ lib/multipath.c | 4 +- lib/multipath.h | 3 +- lib/netlink.c | 2 +- lib/nx-match.c | 55 +++- lib/nx-match.h | 10 +- lib/odp-execute.c | 4 + lib/odp-util.c | 144 ++++++++- lib/odp-util.h | 8 +- lib/ofp-actions.c | 161 +++++++--- lib/ofp-parse.c | 2 +- lib/ofp-util.c | 9 +- lib/packets.h | 7 +- ofproto/ofproto-dpif-rid.h | 2 +- ofproto/ofproto-dpif-sflow.c | 2 + ofproto/ofproto-dpif-trace.c | 13 +- ofproto/ofproto-dpif-xlate.c | 84 ++++- ofproto/ofproto-dpif.c | 4 +- ofproto/ofproto.c | 5 +- tests/odp.at | 18 +- tests/ofp-actions.at | 16 + tests/ofproto-dpif.at | 174 ++++++++-- tests/ofproto.at | 7 + tests/ovs-ofctl.at | 2 +- tests/system-traffic.at | 354 ++++++++++++++++++++- tests/test-conntrack.c | 9 +- utilities/ovs-ofctl.8.in | 31 +- utilities/ovs-ofctl.c | 6 +- 57 files changed, 2314 insertions(+), 368 deletions(-) -- 2.1.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev