FD.io/VPP — VPP 的软件架构
目录
文章目录
- 目录
- VPP 的分层架构
- VPP INFRA(基础设施层)
- VLIB(矢量处理库层)
- VNET(网络协议栈层)
- Plugins(插件 APP 层)
- VPP 的软件架构
- VPP TLDK Project
VPP 的分层架构
VPP INFRA(基础设施层)
- 源码路径:./src/vppinfra
VPP INFRA 包含核心库的源代码,是一系列基本 C 服务库的集合,还提供了高性能的数据结构,例如:Vectors、Rings、Hashing、Timers、Bitmaps、Pools、Hashes 以及一些基本库函数。
VLIB(矢量处理库层)
- 源码路径:./src/{vlib, vlibapi, vlibmemory}
VLIB 是一个矢量(Vector)处理库,提供了对 Vector 的处理函数,还提供了各种对 Application 的管理功能。包括:Buffers 管理、Graph Node 管理、多线程支持(Threading)、数据包跟踪(Tracing)、计数器(Counters)等功能,还实现了 Debug CLI 功能。
VNET(网络协议栈层)
- 源码路径:./src/vnet
VNET 是 VPP 实现的用户态网络协议栈,与 VPP 的 Network Interface(L2-4)协同工作,执行 Session 和 Traffic Management,并与 Devices(设备)和 CP(Control Plane,数据控制平面)配合使用。
Plugins(插件 APP 层)
VPP 内建了越来越丰富的数据平面插件集合,并且在 VPP 中,新建一个自定义的 Plugin 插件也很简单。
VPP 的软件架构
Pros
- Kernel independent
- All packet processing done in user space
- DPDK based (or netmap, virtio, host, etc.)
- Includes full scale L2/L3 Networking stack
- Routing decision made by VPP
- Also includes bridge implementation
- Good plugins framework
- Integrated with external management: Honeycomb
Cons
- Young project
- Many open areas
- Open Stack integration / Neutron
- Lack of Transport Layer integration
- Control Plane API & Stack
But what about L4/L7?
- TLDK Project
VPP TLDK Project
TLDK Application Layer
- Using TLDK Library to process TCP and UDP packets
Purpose Built Application
- Using TLDK API Directly (VPP node)
- Provides highest performance
BSD Socket Layer
- A standard BSD socket layer for applications using sockets by design
- Lower performance, but good compatibility
LD_PRELOAD Socket Layer
- Used to allow a ‘native binary Linux’ application to be ported in to the
system
Allows for existing application to work without any change
FD.io/VPP — VPP 的软件架构相关推荐
- FD.io VPP 20.09版本正式发布:往期VPP文章回顾+下载地址+相关链接
目录 下载RPM/DEB包 往期文章回顾与推荐 FD.io是一些项目和库的集合,基于DPDK并逐渐演化,支持在通用硬件平台上部署灵活可变的业务.FD.io为软件定义基础设施的开发者提供了一个通用平台, ...
- FD.io/VPP — IPSec
目录 文章目录 目录 VPP/IPSec Configuration Use case 1 HTTP Server configuration strongSwan initiator configu ...
- FD.io/VPP — VPP 的配置与运行
目录 文章目录 目录 配置 80-vpp.conf startup.conf 可以配置 VPP 的 Threading Modes 运行示例 non-DPDK 模式运行 VPP DPDK 模式运行 V ...
- FD.io/VPP — VPP 的安装部署
目录 文章目录 目录 源码编译安装 Troubleshooting 问题 1:Errors were encountered while processing 问题 2:NASM is not ins ...
- FD.io/VPP — Overview
目录 文章目录 目录 FD.io VPP FD.io 官网:https://fd.io FD.io(Fast data – Input/Output)是 Linux 基金会下属的一个开源项目,成立于 ...
- FD.io VPP官方邮件列表
https://www.mail-archive.com/vpp-dev@lists.fd.io/ 邮件内容更新截至2020年9月21日17:23:47 Messages by Thread [vpp ...
- FD.io VPP:用户文档:VPP RPM包的构建与离线安装
VPP RPM包的构建与离线安装 RToax 2020年9月 要开始使用VPP进行开发,您需要获取所需的VPP源代码,然后构建软件包. 1. 设置代理 如果你的服务器本地可以连接互联网,则跳过设置代理 ...
- FD.io VPP:CentOS7下构建自己的VPP RPM包
FD.io VPP:用户文档 构建VPP RToax 2020年9月 要开始使用VPP进行开发,您需要获取所需的VPP源代码,然后构建软件包. 1. 设置代理 如果你的服务器本地可以连接互联网,则跳过 ...
- FD.io VPP的C语言接口如何使用:FD.io VPP: How To Use The C API
目录 引言 - Introduction C语言API概述 - C API Overview 运行环境 - The Runtime Environment API回顾 - Message API Re ...
- How-to: Build VPP FD.IO development environment with Mellanox DPDK PMD.
目录 References Prerequisite Installation, Compilation and Configuration VPP is an open-source Vector ...
最新文章
- [翻译] Ruby Golf
- 2020届 AAAI Fellow名单新鲜出炉!!!深度学习三巨头终于齐聚
- 机房管理系列之门禁系统
- BZOJ2131免费的馅饼 DP+树状数组
- Android之jni解决JNIEnv跨线程问题
- ogm session_带有Hibernate OGM的NoSQL –第三部分:在WildFly上构建REST应用程序
- 如何为JBoss Developer Studio 8设置BPM和规则工具
- java 遍历hashmap key_Java5种遍历HashMap数据的写法
- 原生js实现类似jq的trigger
- 自己动手架设linux下Web服务器(图)5
- Python装饰器详解,详细介绍它的应用场景
- python脚本字符串拼接_Python脚本分割和连接字符串
- css 悬停动画_CSS3缩放图像动画效果悬停
- 本地虚拟机部署java项目(tomcat8 ,jdk8,VMWare)
- vue引入自己写的js文件
- 学习总结-《父与子的编程之旅》chapter 10
- LOJ#6070. 「2017 山东一轮集训 Day4」基因 解题报告
- 计算机瞬间黑屏又自动恢复,电脑显示器突然黑屏然后过几秒又自动恢复过来为什么?-显示器黑屏几秒又好...
- win10 开机不显示bios选单的一种解决办法
- 2008,AMD发展史上的一个分水岭
热门文章
- DNS重绑定DNS Rebinding攻击
- linux中if语句s,linux 中 if 语句条件的含义
- html标签里写js,JS事件(HTML标签内)
- python的concat函数_python concat函数
- delphi中的函数传参如何传枚举参数_shell脚本的函数介绍使用和工作常用案例。建议收藏...
- 解决arXiv上传LaTeXpaper的坑
- 科学家从脑电图中解读大脑的运动意图
- 手把手教你使用 1D 卷积和 LSTM 混合模型做 EEG 信号识别
- 小猫咪小狗狗也有智能「手表」了,可监测健康,识别情绪,还防乱跑|CES 2022...
- 能打造新型CPU的有机分子元件登Nature,用if语句攒出决策树,一个顶数千晶体管...