vcl: support multi-threads with session migration 64/27864/9
authorhanlin <hanlin_wang@163.com>
Mon, 13 Jul 2020 03:09:15 +0000 (11:09 +0800)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 12 Aug 2020 01:57:18 +0000 (01:57 +0000)
commita3a489691d7f2813702fae2d915120743b860d62
tree23a22a25ebe051be37244c45fc3a0732cc296e0d
parent40c07ce7a78af69f7354222d4663a65cd5572049
vcl: support multi-threads with session migration

Currently, mutlti-threads only support one dispatch thread and multiple
worker threads, eventually only dispatch thread is a vcl worker and can
interact with epoll.
This patch will register all threads as vcl worker, and then each
thread can interact with epoll now. Moreover, session migration also
supported, such as socket created in thread A and used (bind, connect
and etc.) in thread B.

Type: feature

Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: Iab0b43a33466968c1423d7d20faf1460c8589d91
src/vcl/ldp.c
src/vcl/vcl_cfg.c
src/vcl/vcl_locked.c
src/vcl/vcl_locked.h
src/vcl/vcl_private.c
src/vcl/vcl_private.h
src/vcl/vppcom.c
src/vnet/session/application_interface.h
src/vnet/session/session_types.h