session: add support for proxying apps 33/9133/5
authorFlorin Coras <fcoras@cisco.com>
Tue, 31 Oct 2017 08:51:04 +0000 (01:51 -0700)
committerDamjan Marion <dmarion.lists@gmail.com>
Wed, 1 Nov 2017 09:29:25 +0000 (09:29 +0000)
commit7999e83a41ebad8a3f02cfcb2809cdb3aae919ba
tree58d7c95c87c3bb27bbeb045e22b4c6967defccc3
parentdf36f2176d7e90dcd3e895b08ee2d69f42d15426
session: add support for proxying apps

To enable this, applications set the proxy flag in their attach requests
and pass the transport protocols they want to act as proxies for as part
of the attach options.

When proxy is enabled, session rules that point incoming packets to the
proxy app are addedd to the local and global session tables, if these
scopes are accessible to the app. In particular, in case of the former,
the rule accepts packets from all sources and all ports destined to the
namespace's supporting interface address on any port. While in case of
the latter, a generic any destination and any port rule is addedd.

Change-Id: I791f8c1cc083350f02e26a2ac3bdbbfbfa19ece3
Signed-off-by: Florin Coras <fcoras@cisco.com>
15 files changed:
src/vnet/ip/ip.c
src/vnet/session/application.c
src/vnet/session/application.h
src/vnet/session/application_interface.c
src/vnet/session/application_interface.h
src/vnet/session/mma_template.c
src/vnet/session/session.c
src/vnet/session/session_lookup.c
src/vnet/session/session_lookup.h
src/vnet/session/session_test.c
src/vnet/tcp/builtin_client.c
src/vnet/tcp/builtin_http_server.c
src/vnet/tcp/builtin_proxy.c
src/vnet/tcp/builtin_server.c
src/vnet/udp/builtin_server.c