Add support for connection tracking helper/ALGs.
authorJoe Stringer <joestringer@nicira.com>
Tue, 15 Sep 2015 21:29:16 +0000 (14:29 -0700)
committerJoe Stringer <joestringer@nicira.com>
Tue, 13 Oct 2015 22:34:16 +0000 (15:34 -0700)
commitd787ad39b8eb8fb9136837e1c65d0a18a1056eda
treec233e0ce5d00b526d3316c4c70028b2156f39123
parent9daf23484fb1f0d8fe8bf807a82c3d5b571a3dea
Add support for connection tracking helper/ALGs.

This patch adds support for specifying a "helper" or ALG to assist
connection tracking for protocols that consist of multiple streams.
Initially, only support for FTP is included.

Below is an example set of flows to allow FTP control connections from
port 1->2 to establish active data connections in the reverse direction:

    table=0,priority=1,action=drop
    table=0,arp,action=normal
    table=0,in_port=1,tcp,action=ct(alg=ftp,commit),2
    table=0,in_port=2,tcp,ct_state=-trk,action=ct(table=1)
    table=1,in_port=2,tcp,ct_state=+trk+est,action=1
    table=1,in_port=2,tcp,ct_state=+trk+rel,action=ct(commit),1

Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
16 files changed:
datapath/linux/compat/include/linux/openvswitch.h
include/sparse/netinet/in.h
include/windows/netinet/in.h
lib/netlink.c
lib/netlink.h
lib/odp-util.c
lib/ofp-actions.c
lib/ofp-actions.h
lib/ofp-parse.c
lib/ofp-parse.h
ofproto/ofproto-dpif-xlate.c
tests/atlocal.in
tests/odp.at
tests/ofp-actions.at
tests/system-traffic.at
utilities/ovs-ofctl.8.in