目录
功能详细信息:
基于ACL的转发
安全组的ACL
地址解析协议
邻接
双向转发检测
位索引显式复制
粘接
缓冲区元数据更改跟踪器
对静态http或https服务器的内置URL支持
警察
分类
数据平面对象
动态主机配置协议
GPRS隧道协议
通用路由封装
IP邻居数据库
IP安全
IP隧道中的IP
IPFIX探针
英特尔IPSecMB库提供的IPSec加密引擎
Openssl库提供的IPSec加密引擎
本机实现提供的IPSec加密引擎
IPv6邻居发现
互联网组管理协议
L2TPv3
第2层转发
第三层交叉连接
链路聚合控制协议
链路层发现协议
负载均衡器
定位器ID分离协议控制平面
定位器ID分离协议通用协议扩展
地址和端口的映射
多协议标签交换
NSH
Netmap设备
网络地址解读
网络延迟模拟器
PG
PPPoE
管道装置
QUIC协议
服务质量
SRv6-服务链接动态代理
SRv6-服务链接伪装代理
SRv6-服务链接静态代理
SRv6 Mobuile
IPv6的分段路由(SRv6)
MPLS的分段路由
会话层
源VRF选择
静态HTTP https服务器
TLS OpenSSL
点按设备
基于时间范围的MAC地址过滤器
传输控制协议
传输层安全
隧道基础设施
用户数据报协议
VNET GSO
VPP通讯库
Virtio PCI设备
虚拟路由器冗余协议
虚拟可扩展局域网
局域网
主机接口设备AF_PACKET
rdma设备驱动程序
vlib / unix
vmxnet3设备驱动程序
VPP版本:v20.09-rc0-77-g5bb3e81e7
维护者:Neale Ranns [email protected]
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/abf
维护者:Andrew Yourtchenko [email protected]
ACL插件允许在IP地址所有权级别(通过通过MACIP ACL锁定IP-MAC关联)以及在入站和出站ACL中使用网络和传输级别策略来实施访问控制策略。对于非初始片段,仅在网络层上进行匹配。有状态ACL中的会话状态按接口维护(例如,出站接口ACL创建会话,而入站ACL匹配会话),这简化了设计和操作。对于TCP处理,会话处理跟踪“已建立”(同时看到SYN段和可见的ACK)和“瞬态”(所有其他TCP状态)会话。
入站MACIP ACL
无状态入站和出站ACL
有状态的入站和出站ACL
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/acl
维护者:Neale Ranns [email protected]
如RFC826中所述的地址解析协议(ARP)的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/arp
维护者:Neale Ranns [email protected]
邻接表示到达直接连接的邻居所需的下一跳信息。
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/adj
维护者:Klement Sekera [email protected]
双向转发检测(BFD)的实现。
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/bfd
维护者:Neale Ranns [email protected]
位索引显式复制(BIER)的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/bier
维护者:Steven Luong [email protected]
绑定实施
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/bonding
维护者:Dave Barach [email protected]
缓冲区元数据更改跟踪器(mdata)使用图形节点之前/之后的主循环性能回调挂钩捕获缓冲区元数据,然后比较和总结每个节点的结果。回答问题“特定图形节点会更改哪些缓冲区元数据?” 通过直接观察。启用前对性能的影响为零。
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/mdata
维护者:Dave Barach [email protected]
(builtinurl)插件将一组URL添加到静态http / https服务器。当前URL,所有URL返回.json fmt中的数据:/version.json-vpp版本信息 /interface_list.json-接口列表 / interface_stats-通过HTTP POST的单个接口 / interface_stats-通过HTTP GET的所有intfcs。
功能成熟度级别:开发
支持:API CLI MULTITHREAD
源代码:https ://git.fd.io/vpp/tree/src/plugins/builtinurl
维护者:Dave Barach [email protected]
一个非常简单/快速的源地址白名单功能
功能成熟度级别:实验
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/cop
维护者:Dave Barach [email protected]
掩码/匹配包分类器
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/classify
维护者:Neale Ranns [email protected]
数据平面对象(DPO)
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/dpo
维护者:Dave Barach dave@ barachs.net,Neale Ranns [email protected]
动态主机配置协议(DHCP)客户端的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/dhcp
维护者:倪洪军[email protected]
GPRS隧道协议的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/gtpu
维护者:Neale Ranns [email protected]
通用路由封装(GRE)的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
尚未实施:
-GRE密钥
源代码:https : //git.fd.io/vpp/tree/src/vnet/gre
维护者:Neale Ranns [email protected]
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/ip-neighbor
维护者:Neale Ranns [email protected]
IPSec的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/ipsec
维护者:Ole Troan [email protected]
如RFC2473中所述,通过IP {v4,v6}隧道实现IP {v4,v6}。该模块还实现了6RD(RFC5969)的边界中继。
IPv4 / IPv6上的IPv4 / IPv6封装
ICMPv4 / ICMPv6代理
6RD(RFC5969)
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
尚未实现:
-隧道PMTUD-跟踪隧道状态的FIB状态-IPv6扩展标头(“隧道封装限制”选项)
源代码:https : //git.fd.io/vpp/tree/src/vnet/ipip
维护者:Ole Troan [email protected]
IPFIX流量探头。适用于L2或IP输入功能路径。
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
尚未实现:
-输出路径-通过IPv6导出-通过TCP / SCTP导出
源代码:https : //git.fd.io/vpp/tree/src/plugins/flowprobe
维护者:Neale Ranns [email protected]
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/crypto_ipsecmb
维护者:Damjan Marion [email protected]
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https ://git.fd.io/vpp/tree/src/plugins/crypto_openssl
维护者:Damjan Marion [email protected]
本机加密引擎的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/crypto_native
维护者:Neale Ranns [email protected]
如RFC4861和RFC4862中所述的IPv6邻居发现协议的实现。
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/ip6-nd
维护者:Neale Ranns [email protected]
Internet组管理协议(IGMP)的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/igmp
维护者:未维护
L2TPv3(RFC3931)的初始和不完整实施。
功能成熟度级别:试验性
支持:API CLI
源代码:https://git.fd.io/vpp/tree/src/vnet/
维护者:John Lo [email protected]
第2层桥接和交叉连接支持
第2层(L2)桥接域(BD)中多个接口的桥接
在L2桥接或xconnect接口上重写VLAN标记
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/l2
维护者:Neale Ranns [email protected]
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/l3xc
维护者:Steven Luong [email protected]
链路聚合控制协议实现(LACP)
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/lacp
维护者:Klement Sekera [email protected]
链路层发现协议(LLDP)实施
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/lldp
维护人员:Pfister [email protected],倪洪军hong [email protected]
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/lb
维护者:Florin Coras [email protected]
定位器ID分离协议控制平面(LISP)的实现
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/lisp-cp
维护者:Florin Coras [email protected]
定位器ID分离协议通用协议扩展(LISP-GPE)的实现
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/lisp-gpe
维护者:Ole Troan [email protected]
地址和端口映射(MAP):IPv4作为一种服务机制。隧道或转换IPv4地址,IPv4子网或共享的IPv4地址。在共享IPv4地址模式下,仅支持UDP,TCP和受限的ICMP。
LW46 BR(RFC7596)
MAP-E BR(RFC7597)
MAP-T BR(RFC7599)
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/map
维护者:Neale Ranns [email protected]
多协议标签交换(MPLS)的实现
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/mpls
维护者:倪洪军 hongjun.ni @ intel.com,Vengada [email protected]
证监会的NSH
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/nsh
维护者:Damjan Marion [email protected]
创建一个netmap接口,这是一个高速用户空间接口,该接口允许VPP在不使用DPDK的情况下修补到linux名称空间,linux容器或物理NIC。
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
尚未实现:
-API转储
源代码:https : //git.fd.io/vpp/tree/src/deprecated/netmap
维护人员:Ole Troan ot @ cisco.com,Filip Varga [email protected]
网络地址转换(NAT)插件提供了多种地址转换功能。这些可以用于多种不同的情况。CPE,CGN等
NAT44
CGN-确定性NAT
NAT64
NAT66
DS-lite
464XLAT
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/nat
维护者:Dave Barach [email protected]
引入了可配置的网络延迟和丢失
功能成熟度级别:生产
支持:CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/nsim
维护者:Dave Barach [email protected]
高速包发生器
功能成熟度级别:生产
支持:CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/pg
维护者:倪洪军[email protected]
以太网上的PPP
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/pppoe
维护者:Damjan Marion [email protected]
创建一个管道设备接口,该接口可以将数据包在管道的一侧双向传递到管道的另一侧。尽管行为与UNIX管道相似,但它不是基于主机的管道。
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
尚未实现:
-不使用硬件地址-不支持标记流量-通过sw_if_index进行API转储过滤
源代码:https : //git.fd.io/vpp/tree/src/vnet/devices/pipe
维护者:Aloys Augustin [email protected]
IETF QUIC协议实施
功能成熟度级别:实验
支持:API CLI STATS MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/quic
维护者:Neale Ranns [email protected]
服务质量(QoS)的保证
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/qos
维护者:Francois Clad [email protected]
SRv6动态代理
功能成熟度级别:生产
支持:CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/srv6-ad
维护者:Francois Clad [email protected]
SRv6伪装代理
功能成熟度级别:生产
支持:CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/srv6-am
维护者:Francois Clad [email protected]
SRv6静态代理
功能成熟度级别:生产
支持:CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/srv6-as
维护者:村上哲也[email protected]
SRv6移动端功能。支持GTP4.D,GTP4.E,GTP6.D,GTP6.D.Di和GTP6.E。
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/srv6-mobile
维护者:Pablo Camarillo [email protected]
完整的SRv6网络编程实现
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/srv6
维护者:Pablo Camarillo [email protected]
SR-MPLS
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/srmpls
维护者:Florin Coras [email protected]
会话层促进了北向应用程序和南向传输协议之间的交互。为此,会话层通过应用程序接口子层向北,公开API供应用程序与抽象通信单元(即会话)进行交互。向南,通过传输协议接口,它公开了API,这些API允许传输协议与应用程序交换数据和事件(ctrl和io),而实际上并不知道该通信是如何进行的。
传输协议接口
应用界面
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/session
维护者:Neale Ranns [email protected]
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/svs
维护者:Dave Barach [email protected]
一个简单的静态静态http / https服务器缓存内置的vpp主机堆栈应用程序。支持HTTP GET和HTTP POST方法。
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/http_static
维护者:Florin Coras [email protected],俞平[email protected]
用于VPP主机堆栈的TLS OpenSSL插件
功能成熟度级别:实验
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/tlsopenssl
维护人员:[email protected] [email protected] [email protected]
创建一个Tap V2设备接口,该接口连接到主机系统上的Tap接口。
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/devices/tap
维护者:Dave Barach [email protected]
设备输入/输出弧驱动器级别MAC过滤器。检查是否允许流量往返于给定的MAC地址,并采取适当的措施。适用于家庭网关用例,其中按位计费WAN流量。
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/plugins/mactime
维护者:Florin Coras [email protected]
高速和大规模传输控制协议(TCP)实现
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/tcp
维护人员:Florin Coras [email protected],俞平[email protected]
传输层安全性(TLS)协议实现,由一组充当现有TLS实现的包装器的引擎组成,例如OpenSSL,Picotls和MbedTLS,以及将引擎集成到VPP主机堆栈的框架
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/vnet/tls
维护者:Neale Ranns [email protected]
隧道基础设施
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/tunnel
维护者:Florin Coras [email protected]
用户数据报协议(UDP)实现
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/udp
维护者:[email protected] [email protected]
通用细分卸载
功能成熟度级别:实验
支持:API CLI
尚未实施:
-全面测试,GRE,日内瓦
源代码:https : //git.fd.io/vpp/tree/src/vnet/gso
维护者:Florin Coras [email protected]
VPP通信库(VCL)通过公开与POSIX兼容但不兼容POSIX的API,简化了与会话层的应用交互。
VCL锁定的会话(VLS)
LD_PRELOAD垫片(LDP)
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vcl
维护人员:[email protected] [email protected]
Virtio实施
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
尚未实现:
-通过sw_if_index进行API转储过滤
源代码:https : //git.fd.io/vpp/tree/src/vnet/devices/virtio
维护者:马修·史密斯[email protected]
虚拟路由器冗余协议实施(VRRPv3)
适用于IPv4和IPv6的VRRPv3(RFC 5798)
VRRP虚拟MAC地址支持
VRRP虚拟路由器的支持接口类型
RFC 5798中未指定的其他功能
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/vrrp
维护者:John Lo [email protected]
虚拟可扩展LAN(VXLAN)隧道支持跨越L3网络的L2覆盖网络
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/vxlan
维护者:倪洪军[email protected]
VxLAN-GPE隧道处理
功能成熟度级别:生产
支持:API CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vnet/vxlan-gpe
维护者:Damjan Marion [email protected]
创建一个主机接口,该接口将连接到veth对的一侧的linux AF_PACKET接口。veth对必须已经存在。创建后,新的主机接口将在VPP中存在,名称为“ host-',在哪里'是指定的veth对的名称。使用“ show interface”命令显示主机接口详细信息。
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
尚未实现:
-sw_if_index和名称以外的API转储详细信息
源代码:https : //git.fd.io/vpp/tree/src/vnet/devices/af_packet
维护者:BenoîtGanne [email protected]
rdma设备驱动程序支持
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/rdma
维护者:Dave Barach [email protected]
特定于Linux的支持例程
功能成熟度级别:生产
支持:CLI MULTITHREAD
源代码:https://git.fd.io/vpp/tree/src/vlib/unix
维护者:Steven Luong [email protected]
vmxnet3设备驱动程序支持
功能成熟度级别:生产
支持:API CLI STATS MULTITHREAD
源代码:https : //git.fd.io/vpp/tree/src/plugins/vmxnet3