summaryrefslogtreecommitdiff
path: root/include/openvswitch/types.h
diff options
context:
space:
mode:
authorDaniele Di Proietto <diproiettod@vmware.com>2015-11-15 22:07:25 -0800
committerDaniele Di Proietto <diproiettod@vmware.com>2016-07-27 17:58:44 -0700
commita489b16854b590004e3234573721fd0f676b3295 (patch)
treec5f5e45ee260f7a2e026b52fef874018f4495e66 /include/openvswitch/types.h
parent206b60d48f9ab99e90b0b81b377cb1c7ff481ff7 (diff)
downloadopenvswitch-a489b16854b590004e3234573721fd0f676b3295.tar.gz
conntrack: New userspace connection tracker.
This commit adds the conntrack module. It is a connection tracker that resides entirely in userspace. Its primary user will be the dpif-netdev datapath. The module main goal is to provide conntrack_execute(), which offers a convenient interface to implement the datapath ct() action. The conntrack module uses two submodules to deal with the l4 protocol details (conntrack-other for UDP and ICMP, conntrack-tcp for TCP). The conntrack-tcp submodule implementation is adapted from FreeBSD's pf subsystem, therefore it's BSD licensed. It has been slightly altered to match the OVS coding style and to allow the pickup of already established connections. Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> Acked-by: Antonio Fischetti <antonio.fischetti@intel.com> Acked-by: Joe Stringer <joe@ovn.org>
Diffstat (limited to 'include/openvswitch/types.h')
-rw-r--r--include/openvswitch/types.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/openvswitch/types.h b/include/openvswitch/types.h
index da56d4b47..2f5fcca28 100644
--- a/include/openvswitch/types.h
+++ b/include/openvswitch/types.h
@@ -108,6 +108,10 @@ static const ovs_u128 OVS_U128_MAX = { { UINT32_MAX, UINT32_MAX,
UINT32_MAX, UINT32_MAX } };
static const ovs_be128 OVS_BE128_MAX OVS_UNUSED = { { OVS_BE32_MAX, OVS_BE32_MAX,
OVS_BE32_MAX, OVS_BE32_MAX } };
+static const ovs_u128 OVS_U128_MIN OVS_UNUSED = { {0, 0, 0, 0} };
+static const ovs_u128 OVS_BE128_MIN OVS_UNUSED = { {0, 0, 0, 0} };
+
+#define OVS_U128_ZERO OVS_U128_MIN
/* A 64-bit value, in network byte order, that is only aligned on a 32-bit
* boundary. */