Add connection tracking mark support.
authorJoe Stringer <joestringer@nicira.com>
Fri, 18 Sep 2015 20:58:00 +0000 (13:58 -0700)
committerJoe Stringer <joestringer@nicira.com>
Tue, 13 Oct 2015 22:34:15 +0000 (15:34 -0700)
commit8e53fe8cf7a178cf9702fb1bb916f4645058e5e7
tree1eeee5cf97d09d7ed99f4fdd52aaf2bbbe0500a2
parent07659514c3c1e8998a4935a998b627d716c559f9
Add connection tracking mark support.

This patch adds a new 32-bit metadata field to the connection tracking
interface. When a mark is specified as part of the ct action and the
connection is committed, the value is saved with the current connection.
Subsequent ct lookups with the table specified will expose this metadata
as the "ct_mark" field in the flow.

For example, to allow new TCP connections from port 1->2 and only allow
established connections from port 2->1, and to associate a mark with those
connections:

    table=0,priority=1,action=drop
    table=0,arp,action=normal
    table=0,in_port=1,tcp,action=ct(commit,exec(set_field:1->ct_mark)),2
    table=0,in_port=2,ct_state=-trk,tcp,action=ct(table=1)
    table=1,in_port=2,ct_state=+trk,ct_mark=1,tcp,action=1

Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
30 files changed:
NEWS
datapath/flow_netlink.c
datapath/linux/compat/include/linux/openvswitch.h
lib/dpif-netdev.c
lib/flow.c
lib/flow.h
lib/match.c
lib/match.h
lib/meta-flow.c
lib/meta-flow.h
lib/nx-match.c
lib/odp-execute.c
lib/odp-util.c
lib/odp-util.h
lib/ofp-actions.c
lib/ofp-actions.h
lib/packets.h
ofproto/ofproto-dpif-sflow.c
ofproto/ofproto-dpif-xlate.c
ofproto/ofproto-dpif.c
ofproto/ofproto-unixctl.man
tests/dpif-netdev.at
tests/odp.at
tests/ofp-actions.at
tests/ofproto-dpif.at
tests/ofproto.at
tests/ovs-ofctl.at
tests/system-traffic.at
tests/test-odp.c
utilities/ovs-ofctl.8.in