Difference between revisions of "VPPHostStack"

From fd.io
Jump to: navigation, search
(VCL socket client/server)
Line 29: Line 29:
 
=== VCL socket client/server ===
 
=== VCL socket client/server ===
  
For more details see the tutorial [VPP/VPPCommunicationsLibrary | here]
+
For more details see the tutorial [[VPP/VPPCommunicationsLibrary | here]]
  
 
== Session Layer Architecture ==
 
== Session Layer Architecture ==

Revision as of 23:07, 6 March 2018

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

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

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. It does not offer any support for async communication
  • VCL API that offers a POSIX-like interface. It comes with its own epoll implementation.
  • POSIX API through LD_PRELOAD

A number of test applications can be used to exercise these APIs.

Builtin Echo Server/Client

Once two vpp instances are brought and conf, the builtin echo apps can be

External Echo Server/Client

VCL socket client/server

For more details see the tutorial here

Session Layer Architecture

Session API Diagram

Running List of Presentations