blob: fc38b7544ce4c1dd95b956278ff5c15d08953923 [file] [log] [blame]
---
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]