ovn: Add stateful ACL support.
authorJustin Pettit <jpettit@nicira.com>
Fri, 16 Oct 2015 04:14:40 +0000 (21:14 -0700)
committerJustin Pettit <jpettit@nicira.com>
Fri, 16 Oct 2015 07:23:45 +0000 (00:23 -0700)
commit78aab811be52cecb6dea3dc937bb9bc4e558e422
tree927c7a9a0c5a1437563b1c693b0fb3080f9d5995
parent2ddf7558f2a726a440bfbfecce5045ec3ebcef08
ovn: Add stateful ACL support.

Add support for the "allow-related" ACL action.  This is dependent on
the OVS conntrack functionality, which is not available on all platforms
or kernel versions.

Here is a sample policy that will allow all tenants in logical switch
"ls0" to SSH to each other.  Anyone can make an HTTP request to "lp0".
All other IP traffic is dropped:

  ovn-nbctl acl-add ls0 from-lport 100 ip allow-related
  ovn-nbctl acl-add ls0 to-lport 100 tcp.dst==22 allow-related
  ovn-nbctl acl-add ls0 to-lport 100 "outport == \"lp0\" \
            && tcp.dst==80" allow-related
  ovn-nbctl acl-add ls0 to-lport 1 ip drop

Note: Kernel conntrack support is checked into the mainline Linux
kernel, but hasn't been backported to the main OVS repo yet.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
18 files changed:
ovn/TODO
ovn/controller/binding.c
ovn/controller/binding.h
ovn/controller/lflow.c
ovn/controller/lflow.h
ovn/controller/ovn-controller.8.xml
ovn/controller/ovn-controller.c
ovn/controller/ovn-controller.h
ovn/controller/physical.c
ovn/controller/physical.h
ovn/lib/actions.c
ovn/lib/actions.h
ovn/northd/ovn-northd.8.xml
ovn/northd/ovn-northd.c
ovn/ovn-architecture.7.xml
ovn/ovn-sb.xml
tests/ovn.at
tests/test-ovn.c