Difference between revisions of "VPPHostStack"
From fd.io
Florin.coras (Talk | contribs) (→Description) |
Florin.coras (Talk | contribs) |
||
Line 1: | Line 1: | ||
− | = Description = | + | == Description == |
− | VPP's host stack is a user space implementation of a number of transport, session and application layer protocols that leverages VPP's existing protocol stack. It roughly consists of four | + | VPP's host stack is a user space implementation of a number of transport, session and application layer protocols that leverages VPP's existing protocol stack. It roughly consists of four major components: |
* Session Layer that accepts pluggable transport protocols | * Session Layer that accepts pluggable transport protocols | ||
− | * Shared memory mechanisms for pushing data between | + | * Shared memory mechanisms for pushing data between VPP and applications |
* Transport protocol implementations (e.g. TCP, SCTP, UDP) | * Transport protocol implementations (e.g. TCP, SCTP, UDP) | ||
− | * Comms Library (VCL) | + | * Comms Library (VCL) and LD_PRELOAD Library |
− | + | Applications can link against the following APIs for host-stack service: | |
+ | * Builtin C API. It can only be used by applications hosted within VPP | ||
+ | * "Raw" session layer API | ||
+ | * VCL API that offers a POSIX-like interface | ||
+ | * POSIX API through LD_PRELOAD | ||
− | = Running List of Presentations = | + | == Start Here == |
+ | |||
+ | [[VPP/Setting_Up_Your_Dev_Environment|Set Up Dev Environment]] - Explains how to set up a VPP development environment and the requirements for using the build tools | ||
+ | |||
+ | == Getting Started == | ||
+ | |||
+ | Simple testing of the stack can be driven from a number of layers. | ||
+ | |||
+ | |||
+ | == Running List of Presentations == | ||
* [[Media:Vpp-hoststack.pdf|DPDK Summit North America 2017]] | * [[Media:Vpp-hoststack.pdf|DPDK Summit North America 2017]] | ||
* [[Media:Vpp-hoststack-kc.pdf|FD.io Mini Summit KubeCon 2017]] | * [[Media:Vpp-hoststack-kc.pdf|FD.io Mini Summit KubeCon 2017]] | ||
− | = Session Layer Architecture = | + | == Session Layer Architecture == |
+ | |||
[[File:Session API.png|550px|center|Session API Diagram]] | [[File:Session API.png|550px|center|Session API Diagram]] |
Revision as of 22:55, 6 March 2018
Contents
Description
VPP's host stack is a user space implementation of a number of transport, session and application layer protocols that leverages VPP's existing protocol stack. It roughly consists of four major components:
- Session Layer that accepts pluggable transport protocols
- Shared memory mechanisms for pushing data between VPP and applications
- Transport protocol implementations (e.g. TCP, SCTP, UDP)
- Comms Library (VCL) and LD_PRELOAD Library
Applications can link against the following APIs for host-stack service:
- Builtin C API. It can only be used by applications hosted within VPP
- "Raw" session layer API
- VCL API that offers a POSIX-like interface
- POSIX API through LD_PRELOAD
Start Here
Set Up Dev Environment - Explains how to set up a VPP development environment and the requirements for using the build tools
Getting Started
Simple testing of the stack can be driven from a number of layers.