]> git.proxmox.com Git - ovs.git/commit
ct-dpif, dpif-netlink: Add conntrack timeout policy support
authorYi-Hung Wei <yihung.wei@gmail.com>
Wed, 28 Aug 2019 22:14:24 +0000 (15:14 -0700)
committerJustin Pettit <jpettit@ovn.org>
Thu, 26 Sep 2019 20:50:17 +0000 (13:50 -0700)
commit1f1613183733781084f001ce0116bd4d6eee3d32
tree7c27f96969efc00434571bb727230dea5020c6b1
parent934f54a1bcb6823e38db8c7dc6dda5af2fb38b0c
ct-dpif, dpif-netlink: Add conntrack timeout policy support

This patch first defines the dpif interface for a datapath to support
adding, deleting, getting and dumping conntrack timeout policy.
The timeout policy is identified by a 4 bytes unsigned integer in
datapath, and it currently support timeout for TCP, UDP, and ICMP
protocols.

Moreover, this patch provides the implementation for Linux kernel
datapath in dpif-netlink.

In Linux kernel, the timeout policy is maintained per L3/L4 protocol,
and it is identified by 32 bytes null terminated string.  On the other
hand, in vswitchd, the timeout policy is a generic one that consists of
all the supported L4 protocols.  Therefore, one of the main task in
dpif-netlink is to break down the generic timeout policy into 6
sub policies (ipv4 tcp, udp, icmp, and ipv6 tcp, udp, icmp),
and push down the configuration using the netlink API in
netlink-conntrack.c.

This patch also adds missing symbols in the windows datapath so
that the build on windows can pass.

Appveyor CI:
* https://ci.appveyor.com/project/YiHungWei/ovs/builds/26387754

Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
Acked-by: Alin Gabriel Serdean <aserdean@ovn.org>
Signed-off-by: Justin Pettit <jpettit@ovn.org>
14 files changed:
Documentation/faq/releases.rst
datapath-windows/include/OvsDpInterfaceCtExt.h
datapath-windows/ovsext/Netlink/NetlinkProto.h
include/windows/automake.mk
include/windows/linux/netfilter/nfnetlink_cttimeout.h [new file with mode: 0644]
lib/ct-dpif.c
lib/ct-dpif.h
lib/dpif-netdev.c
lib/dpif-netlink.c
lib/dpif-netlink.h
lib/dpif-provider.h
lib/netlink-conntrack.c
lib/netlink-conntrack.h
lib/netlink-protocol.h