blob: 06236bc62045e17fc63a3d3655441ddd878f07be [file] [log] [blame]
Florin Corasb3f7d9b2020-01-03 00:57:33 +00001---
John DeNisco7c9fe922020-01-10 10:07:26 -05002name: VPP Comms Library
Florin Corasb3f7d9b2020-01-03 00:57:33 +00003maintainer: Florin Coras <fcoras@cisco.com>
4features:
5 - Abstracts vpp host stack sessions to integer session handles
6 - Exposes its own async communication functions, i.e., epoll, select, poll
7 - Supports multi-worker applications
8 - Sessions cannot be shared between multiple threads/processes
9 - VCL Locked Sessions (VLS):
10 - Ensure through locking that only one thread accesses a session at a
11 time
12 - Detects and registers forked processes as new VCL workers. It does not
13 register threads as new workers.
14 - LD_PRELOAD shim (LDP):
15 - Intercepts syscalls and injects them into VLS.
16 - Applications that are supported work with VCL and implicitly with VPP's
17 host stack without any code change
18 - It does not support all syscalls and syscall options
John DeNisco7c9fe922020-01-10 10:07:26 -050019description: "VPP Comms Library (VCL) simplifies app interaction with session layer
20 by exposing APIs that are similar to but not POSIX-compliant."
Florin Corasb3f7d9b2020-01-03 00:57:33 +000021state: production
22properties: [API, CLI, MULTITHREAD]