| --- |
| name: Session Layer |
| maintainer: Florin Coras <fcoras@cisco.com> |
| features: |
| - Manages allocation and tracking of sessions (6-tuple lookup tables) |
| - App namespaces that constrain application access to network resources |
| - Conveys data and notifications (ctrl and io) between transport protocols |
| and apps |
| - Transport protocol interface: |
| - Provides generic transport protocol template |
| - Converts between transport and application representation of data |
| - Schedules sessions/connections for sending |
| - Application interface: |
| - Maintains per application state |
| - Manages allocation of shared memory resources used for exchanging data |
| between applications and transports |
| - Exposes a native C and a binary api for builtin and external apps |
| respectively |
| description: "The session layer facilitates the interaction between northbound |
| applications and southbound transport protocols. To this end, |
| northbound, through the app-interface sub layer, the session |
| layer exposes APIs for applications to interact with abstract |
| units of communication, i.e., sessions. And southbound, through |
| the transport protocol interface, it exposes APIs that allow |
| transport protocols to exchange data and events (ctrl and io) |
| with applications, without actually being aware of how that |
| communication is carried out." |
| state: production |
| properties: [API, CLI, STATS, MULTITHREAD] |