I folded in the following incremental locally:
--- a/lib/ipf.c
+++ b/lib/ipf.c
@@ -533,8 +533,6 @@ ipf_list_state_transition(struct ipf *ipf, struct
ipf_list *ipf_list,
case IPF_LIST_STATE_LAST_SEEN:
if (ff) {
next_state = IPF_LIST_STATE_FIRST_LAST_SEEN;
-} else if (lf) {
-next_state = IPF_LIST_STATE_LAST_SEEN;
} else {
next_state = IPF_LIST_STATE_LAST_SEEN;
}
@@ -768,7 +766,7 @@ ipf_list_key_eq(const struct ipf_list_key *key1,
static struct ipf_list *
ipf_list_key_lookup(struct ipf *ipf, const struct ipf_list_key *key,
uint32_t hash)
-/* OVS_REQUIRES(ipf->ipf_lock) */
+OVS_REQUIRES(ipf->ipf_lock)
{
struct ipf_list *ipf_list;
HMAP_FOR_EACH_WITH_HASH (ipf_list, node, hash, >frag_lists) {
On Wed, Feb 13, 2019 at 3:34 PM Darrell Ball wrote:
> Fragmentation handling is added for supporting conntrack.
> Both v4 and v6 are supported.
>
> After discussion with several people, I decided to not store
> configuration state in the database to be more consistent with
> the kernel in future, similarity with other conntrack configuration
> which will not be in the database as well and overall simplicity.
> Accordingly, fragmentation handling is enabled by default.
>
> This patch enables fragmentation tests for the userspace datapath.
>
> Signed-off-by: Darrell Ball
> ---
> Documentation/faq/releases.rst | 51 +-
> NEWS | 10 +-
> include/sparse/netinet/ip6.h |1 +
> lib/automake.mk |4 +-
> lib/conntrack.c | 22 +-
> lib/conntrack.h |4 +
> lib/ct-dpif.c| 58 +-
> lib/ct-dpif.h| 12 +-
> lib/dpctl.c | 215 +-
> lib/dpctl.man| 36 +
> lib/dpif-netdev.c| 65 +-
> lib/dpif-netlink.c |9 +-
> lib/dpif-provider.h | 53 +-
> lib/ipf.c| 1528
> ++
> lib/ipf.h| 63 ++
> tests/system-kmod-macros.at | 46 +-
> tests/system-traffic.at | 51 +-
> tests/system-userspace-macros.at | 186 -
> 18 files changed, 2332 insertions(+), 82 deletions(-)
> create mode 100644 lib/ipf.c
> create mode 100644 lib/ipf.h
>
> diff --git a/Documentation/faq/releases.rst
> b/Documentation/faq/releases.rst
> index cd7254b..a78152b 100644
> --- a/Documentation/faq/releases.rst
> +++ b/Documentation/faq/releases.rst
> @@ -105,31 +105,32 @@ Q: Are all features available with all datapaths?
> The following table lists the datapath supported features from an Open
> vSwitch user's perspective.
>
> -= == == = ===
> -Feature Linux upstream Linux OVS tree Userspace Hyper-V
> -= == == = ===
> -NAT 4.6YESYes NO
> -Connection tracking 4.3YESPARTIAL PARTIAL
> -Tunnel - LISP NO YESNONO
> -Tunnel - STT NO YESNOYES
> -Tunnel - GRE 3.11 YESYES YES
> -Tunnel - VXLAN3.12 YESYES YES
> -Tunnel - Geneve 3.18 YESYES YES
> -Tunnel - GRE-IPv6 4.18 YESYES NO
> -Tunnel - VXLAN-IPv6 4.3YESYES NO
> -Tunnel - Geneve-IPv6 4.4YESYES NO
> -Tunnel - ERSPAN 4.18 YESYES NO
> -Tunnel - ERSPAN-IPv6 4.18 YESYES NO
> -QoS - PolicingYESYESYES NO
> -QoS - Shaping YESYESNONO
> -sFlow YESYESYES NO
> -IPFIX 3.10 YESYES NO
> -Set actionYESYESYES PARTIAL
> -NIC Bonding YESYESYES YES
> -Multiple VTEPsYESYESYES YES
> -Meters4.15 YESYES NO
> -Conntrack zone limit 4.18 YESNONO
> -= == == = ===
> +== == == =
> ===
> +FeatureLinux upstream Linux OVS tree Userspace
> Hyper-V
> +== == == =
> ===
> +Connection tracking 4.3YES YES
> YES
> +Conntrack Fragment Reass. 4.3YES