FD.io VPP 20.05 官方文档 总目录:用户文档+开发文档+命令行

tech2024-01-06  71

https://docs.fd.io/vpp/20.05/index.html

 

Vector Packet Processing


 

FD.io VPP

▼Vector Packet Processing

▼User Documentation

 Intel AVF device plugin for VPP(Intel® Ethernet Adaptive Virtual Function Specification)

 BFD module(BFD是Bidirectional Forwarding Detection的缩写,它是一个用于检测两个转发点之间故障的网络协议,在RFC 5880有详细的描述。BFD协议原理与配置随着网络应用的广泛部署,如果网络发生中断,可能会影响业务正常运行并造成重大损失。)

 VPP IPSec implementation using DPDK Cryptodev API(DPDK Crypto Device Driver documentation)

 DHCPv6 prefix delegation

 IPFIX flow record plugin(IPFIX 是基于“流”的概念,一个流是指,来自相同的子接口,有相同的源和目的IP 地址,协议类型,相同的源和目的协议端口号,以及相同ToS 的报文,通常为5 元组。IPFIX 会记录这个流的统计信息,包括:时间戳,报文数,总的字节数。)

 VPP Inband OAM (iOAM)(In-Band OAM)(In-band:频内,指那些数据控制已经被固定的网络协议,In-band 控制的控制数据通常和主要的传输数据公用用同样的连接链路(以太网通道),属于应用层管理。Out-band:频外,又被称为熄灯(Lights out Mangement,LOM)管理,弥补了In-band的缺点,是指那些数据传输信道独立于正常的网络传输,被管理设备即使在关机状态甚至故障的状态下,都可以进行修复重开机或是日志监控等管理作业。)

 VPP Link Aggregation Control Protocol (LACP) implementation(基于IEEE802.3ad标准的LACP(链路汇聚控制协议)是一种实现链路动态汇聚的协议。LACP协议通过LACPDU(链路汇聚控制协议数据单元)与对端交互信息。启用某端口的LACP协议后,该端口将通过发送LACPDU向对端通告自己的系统优先级、系统MAC地址、端口优先级、端口号和操作Key。对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够汇聚的端口,从而双方可以对端口加入或退出某个动态汇聚组达成一致。)

 Load Balancer plugin for VPP(Improve Performance of Kube-proxy and GTP-U using VPP:https://schd.ws/hosted_files/ossna2017/1e/VPP_K8S_GTPU_OSSNA.pdf)

 VPP Link Layer Discovery Protocol (LLDP) implementation(链路层发现协议(LLDP)是一个厂商无关的二层协议,它允许网络设备在本地子网中通告自己的设备标识和性能。它提供了一种标准的链路层发现方式。LLDP协议使得接入网络的一台设备的主要能力,管理地址,设备标识,接口标识等信息发送给同一个局域网的其他设备,当一个设备从网络中接收到其它设备的信息时,就将这些信息以MIB的形式存储起来。)

 VPP MAP and Lw4o6 implementation(MAP-E虚拟重组:MAP-E实现支持处理IPv4片段以及IPv4-in-IPv6内部和外部片段。之所以称为虚拟重组,是因为片段实际上并未重组。而是保留一些有关第一个片段的元数据,并将其重新用于后续片段。Lw4o6:面向IPv6平滑过渡的IPv4服务方案)

 Marvel device plugin for VPP( How-to: Build VPP FD.IO with Mellanox DPDK PMD on top CentOS 7.7 with inbox drivers.)

 MTU Introduction(最大传输单元(Maximum Transmission Unit,MTU)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。是包或帧的最大长度,一般以字节记。如果MTU过大,在碰到路由器时会被拒绝转发,因为它不能处理过大的包。如果太小,因为协议一定要在包(或帧)上加上包头,那实际传送的数据量就会过小,这样也划不来。大部分操作系统会提供给用户一个默认值,该值一般对用户是比较合适的)

 Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers(目前属于IPV6过渡阶段,NAT64是一种实现IPV4和IPV6之间网络互访的技术。NE40E支持IPV4和IPV6双协议栈,NAT64可以用于IPV4主动访问IPV6,也可以用于IPV6主动访问IPV4,这两个在产品手册中都有配置案例。https://support.huawei.com/enterprise/zh/knowledge/EKB1100016358)

 Active-Passive NAT HA(HA高可用群集NAT模式lvs部署-系统,安全)

 QoS Hierarchical Scheduler(QoS分层调度程序:)

 RDMA (ibverb) Ethernet driver(RDMA(Remote Direct Memory Access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。)

 SELinux - VPP Custom SELinux Policy(SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。)

 VPP SPAN implementation(Switched Port Analyzer (SPAN):SPAN技术主要是用来监控交换机上的数据流,大体分为两种类型,本地SPAN和远程SPAN. ----Local Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN),实现方法上稍有不同。 利用SPAN技术我们可以把交换机上某些想要被监控端口(以下简称受控端口)的数据流COPY或MIRROR一 份,发送给连接在监控端口上的流量分析仪,比如CISCO的IDS或是装了SNIFFER工具的PC. 受控端口和 监控端口可以在同一台交换机上(本地SPAN),也可以在不同的交换机上(远程SPAN))

 SR-MPLS: Segment Routing for MPLS(多协议标签交换(英语:Multi-Protocol Label Switching,缩写为MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。Segment routing is a network technology focused on addressing the limitations of existing IP and Multiprotocol Label Switching (MPLS) networks in terms of simplicity, scale, and ease of operation. It is a foundation for application engineered routing as it prepares the networks for new business models where applications can control the network behavior.)

►SRv6: Segment Routing for IPv6(SRv6: Segment Routing for IPv6,SR(Segment Routing)是源路由技术的一种,SRv6即SR技术在IPv6网络平面的应用。SRv6技术在IPv6报文中新增SRH(Segment Routing Header)报头,用于存储128bit IPv6地址格式的SRv6 SID(segment ID)列表。128位SRv6 SID主要由三部分组成,标识节点位置的LOC字段(IPv6前缀格式,可路由)、标识服务和功能的FUNC字段(本地识别)以及存储相关参数的ARG字段(见图1)。一个标准的SRv6 SID可以定义特定节点的路径信息及服务和功能信息。由基本的SRv6定义,我们可以看到SRv6的几个特征:SID可路由、通过SID可同时定义节点路径和功能服务信息。SRv6 Network Programming (draft-filsfils-spring-srv6-network-programming) )

 vcl-ldpreload: a LD_PRELOAD library that uses the VPP Communications Library (VCL).(User can LD_PRELOAD any application that uses POSIX socket API. NOTE: The sources have been moved to .../vpp/src/vcl and libvcl_ldpreload.so is built with VPP and can be found in .../vpp/build-root/install-vpp[_debug]-native/vpp/lib,https://docs.fd.io/vpp/20.05/d6/dcf/vcl_ldpreload_doc.html)

 VMWARE vmxnet3 device driver plugin(VMXNET3卡看起来像一个10 Gbit的物理设备。注意:还有两个过时的半虚拟化适配器称为VMXNET和VMXNET2(有时是增强的VMXNET),但是只要虚拟机至少有硬件版本7,就应该只使用VMXNET3适配器。)

▼Developer Documentation

 Test Framework Documentation(Test framework documentation for VPP 20.05,https://docs.fd.io/vpp/20.05/vpp_make_test/html/)

 Sample plugin for VPP(This is the VPP sample plugin demonstrates how to create a new plugin that integrates with VPP. The sample code implements a trival macswap algorithim that demonstrates plugin runtime integration with the VPP graph hierachy, api and cli.这是VPP示例插件,演示了如何创建与VPP集成的新插件。 该示例代码实现了一个简单的macswap算法,该算法演示了插件运行时与VPP图形hierachy,api和cli的集成。)

 Binary API support(VPP提供了一种二进制API方案,以允许各种各样的客户端代码对数据平面表进行编程。 在撰写本文时,有数百种二进制API。消息在* .api文件中定义。 如今,大约有50个api文件,随着人们添加可编程功能,更多文件将陆续到来。 API文件编译器源位于src / tools / vppapigen中。)

 VPP API module

 ACL plugin constant-time lookup design

 Multicore support for ACL plugin

 Lookup contexts aka "ACL as a service"

►Shared Memory Packet Interface (memif) Library

 Syslog protocol support

 IPFIX support

 Statistics

 VPP interface stats client

 VPP API Language

 Handoff queue demo plugin

 Code coverage analysis with lcov

 Buffer metadata change tracker

►Release Notes

►Debug CLI

►Startup Configuration

 Node Identifiers

►Modules

►Namespaces

►Data Structures

►Source

 

 

Test framework documentation for VPP 20.05


Contents

1. VPP Test Framework 1.1. Overview1.2. Anatomy of a test case1.3. Logging1.4. Parallel test execution1.5. Test temporary directory and VPP life cycle1.6. Virtual environment1.7. Naming conventions1.8. Automatically generated addresses1.9. Packet flow in the VPP Test Framework1.10. Test framework objects1.11. How VPP APIs/CLIs are called1.12. Utility methods1.13. Example: how to add a new test2. Module documentation 2.1. bfd module2.2. debug module2.3. debug_internal module2.4. discover_tests module2.5. framework module2.6. hook module2.7. ipfix module2.8. lisp module2.9. log module2.10. remote_test module2.11. run_tests module2.12. sanity_import_vpp_papi module2.13. sanity_run_vpp module2.14. template_bd module2.15. template_classifier module2.16. template_ipsec module2.17. test_abf module2.18. test_acl_plugin module2.19. test_acl_plugin_conns module2.20. test_acl_plugin_l2l3 module2.21. test_acl_plugin_macip module2.22. test_bfd module2.23. test_bier module2.24. test_bihash module2.25. test_bond module2.26. test_buffers module2.27. test_cdp module2.28. test_classifier module2.29. test_classifier_ip6 module2.30. test_classify_l2_acl module2.31. test_cli module2.32. test_container module2.33. test_crypto module2.34. test_dhcp module2.35. test_dhcp6 module2.36. test_dns module2.37. test_dslite module2.38. test_dvr module2.39. test_endian module2.40. test_fib module2.41. test_flowprobe module2.42. test_gbp module2.43. test_geneve module2.44. test_gre module2.45. test_gso module2.46. test_gtpu module2.47. test_igmp module2.48. test_interface_crud module2.49. test_ip4 module2.50. test_ip4_irb module2.51. test_ip4_vrf_multi_instance module2.52. test_ip6 module2.53. test_ip6_vrf_multi_instance module2.54. test_ip_ecmp module2.55. test_ip_mcast module2.56. test_ipip module2.57. test_ipsec_ah module2.58. test_ipsec_api module2.59. test_ipsec_esp module2.60. test_ipsec_nat module2.61. test_ipsec_tun_if_esp module2.62. test_l2_fib module2.63. test_l2_flood module2.64. test_l2bd module2.65. test_l2bd_arp_term module2.66. test_l2bd_multi_instance module2.67. test_l2tp module2.68. test_l2xc module2.69. test_l2xc_multi_instance module2.70. test_l3xc module2.71. test_lb module2.72. test_lb_api module2.73. test_lisp module2.74. test_mactime module2.75. test_map module2.76. test_map_br module2.77. test_memif module2.78. test_mpcap module2.79. test_mpls module2.80. test_mtu module2.81. test_nat module2.82. test_neighbor module2.83. test_node_variants module2.84. test_offload module2.85. test_p2p_ethernet module2.86. test_pcap module2.87. test_ping module2.88. test_pipe module2.89. test_pppoe module2.90. test_punt module2.91. test_qos module2.92. test_quic module2.93. test_reassembly module2.94. test_session module2.95. test_sixrd module2.96. test_span module2.97. test_sparse_vec module2.98. test_srmpls module2.99. test_srv6 module2.100. test_srv6_ad module2.101. test_srv6_as module2.102. test_srv6_mobile module2.103. test_srv6_un module2.104. test_stats_client module2.105. test_string module2.106. test_svs module2.107. test_syslog module2.108. test_tap module2.109. test_tcp module2.110. test_tls module2.111. test_trace_filter module2.112. test_udp module2.113. test_urpf module2.114. test_util module2.115. test_vapi module2.116. test_vcl module2.117. test_vhost module2.118. test_vlib module2.119. test_vom module2.120. test_vpe_api module2.121. test_vppinfra module2.122. test_vrrp module2.123. test_vtr module2.124. test_vxlan module2.125. test_vxlan6 module2.126. test_vxlan_gbp module2.127. test_vxlan_gpe module2.128. util module2.129. vpp_acl module2.130. vpp_bier module2.131. vpp_bond_interface module2.132. vpp_bvi_interface module2.133. vpp_devices module2.134. vpp_dhcp module2.135. vpp_gre_interface module2.136. vpp_igmp module2.137. vpp_interface module2.138. vpp_ip module2.139. vpp_ip_route module2.140. vpp_ipip_tun_interface module2.141. vpp_ipsec module2.142. vpp_ipsec_tun_interface module2.143. vpp_l2 module2.144. vpp_lb module2.145. vpp_lo_interface module2.146. vpp_memif module2.147. vpp_mpls_tunnel_interface module2.148. vpp_neighbor module2.149. vpp_object module2.150. vpp_papi_provider module2.151. vpp_pg_interface module2.152. vpp_policer module2.153. vpp_pppoe_interface module2.154. vpp_qos module2.155. vpp_srv6 module2.156. vpp_sub_interface module2.157. vpp_teib module2.158. vpp_tunnel_interface module2.159. vpp_udp_encap module2.160. vpp_vhost_interface module2.161. vpp_vxlan_gbp_tunnel module2.162. vpp_vxlan_tunnel module2.163. vrf module3. Indices and tables

 

 

 

 

最新回复(0)