session: rules tables 65/8865/21
authorFlorin Coras <fcoras@cisco.com>
Tue, 17 Oct 2017 07:03:13 +0000 (00:03 -0700)
committerDave Barach <openvpp@barachs.net>
Sat, 28 Oct 2017 19:56:39 +0000 (19:56 +0000)
commit1c7104514cd40d2377caca36cf40c13b791bc5aa
tree2b95bb11dd8658e826ad8cb3fe4d399adbab7e01
parentae5a02f8235b9a243df09b42e932ae5f238e366b
session: rules tables

This introduces 5-tuple lookup tables that may be used to implement
custom session layer actions at connection establishment time (session
layer perspective).

The rules table build mask-match-action lookup trees that for a given
5-tuple key return the action for the first longest match. If rules
overlap, ordering is established by tuple longest match with the
following descending priority: remote ip, local ip, remote port, local
port.

At this time, the only match action supported is to forward packets to
the application identified by the action.

Change-Id: Icbade6fac720fa3979820d50cd7d6137f8b635c3
Signed-off-by: Florin Coras <fcoras@cisco.com>
25 files changed:
src/vat/api_format.c
src/vnet.am
src/vnet/ip/ip.c
src/vnet/ip/ip.h
src/vnet/session/application.c
src/vnet/session/application.h
src/vnet/session/application_namespace.c
src/vnet/session/application_namespace.h
src/vnet/session/mma_16.h [new file with mode: 0644]
src/vnet/session/mma_40.h [new file with mode: 0644]
src/vnet/session/mma_template.c [new file with mode: 0644]
src/vnet/session/mma_template.h [new file with mode: 0644]
src/vnet/session/session.api
src/vnet/session/session_api.c
src/vnet/session/session_lookup.c
src/vnet/session/session_lookup.h
src/vnet/session/session_rules_table.c [new file with mode: 0644]
src/vnet/session/session_rules_table.h [new file with mode: 0644]
src/vnet/session/session_table.c
src/vnet/session/session_table.h
src/vnet/session/session_test.c
src/vnet/session/transport.c
src/vnet/session/transport.h
src/vnet/tcp/tcp_input.c
src/vpp/api/custom_dump.c