Florin Coras | b3f7d9b | 2020-01-03 00:57:33 +0000 | [diff] [blame^] | 1 | --- |
| 2 | name: VPP Comms Library (VCL) |
| 3 | maintainer: Florin Coras <fcoras@cisco.com> |
| 4 | features: |
| 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 |
| 19 | description: "VCL simplifies app interaction with session layer by exposing |
| 20 | APIs that are similar to but not POSIX-compliant." |
| 21 | state: production |
| 22 | properties: [API, CLI, MULTITHREAD] |