session: use half-open sessions for vc establishment 58/32258/14
authorFlorin Coras <fcoras@cisco.com>
Sat, 8 May 2021 02:39:43 +0000 (19:39 -0700)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 10 May 2021 20:53:32 +0000 (20:53 +0000)
commitea72764204dac0a1ab6412bc27b758faead2ca10
treed22e849e0e0a84b11c42373c1b97fb6b715d3098
parente2272ac27c31b8cf7ecf0ff8d4244f90034a09f4
session: use half-open sessions for vc establishment

Use half-open sessions to track virtual circuit connection
establishment. These sesssions can only be allocated and freed by the
thread that allocates half-open connections (main). Consequently, they
can only be freed on half-open cleanup notifications from transports.

Goal is to simplify state tracking within the session layer but it's
also a first step towards allowing builtin apps to track and cleanup
outstanding connects.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8a535906d13eb7f8966deb82333839de80f8049f
src/vnet/session/application.h
src/vnet/session/application_worker.c
src/vnet/session/session.c
src/vnet/session/session.h
src/vnet/session/session_cli.c
src/vnet/session/session_types.h
src/vnet/session/transport.c
src/vnet/session/transport_types.h
src/vnet/tcp/tcp.c