VPP22.02比上次发布新增了517个提交,其中包括229个修复。
发布亮点
本次发布改进了wireguard加密/解密路径,实现异步模式,可以提供更好的性能。
【提交:492d7790f 和 77e69ae2d1
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=492d7790f)和
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=77e69ae2d1)】
发布功能
1. 基础设施库
初步 RISC-V 支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6eb0f84e3)
Toeplitz哈希
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2e5921b08)
添加 bihash 12_4 模板
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d51250f5e)
2. 插件
加密 - ipsecmb
升级到 ipsecmb v1.1
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e15245d79)
DPDK
升级到DPDK v21.11
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6c75cd224)
添加 qat gen4-b 设备支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1c4415bfa)
HSI
添加协议栈拦截插件
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=68501d369)
移动网络IPv6 段路由
更新 GTP4/6.D 功能
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=be872a8dd)
3. SVM 库
支持出队列阈值通知
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fb079585c)
4. Sphinx 文件
消费fd.io 版本列表
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ae5609721)
5. VNET
设备驱动程序
在create_if 添加队列参数
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7d0e30bc6)
IPSec
记录从SA丢失的数据包数量
(bhttps://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e11203e5b)
IPv4 LPM
基于分类的ACL中加入ip punt的支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=abb2a4223)
通用接口
为新tx infra添加多tx队列支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0d05c0d21)
添加接口监视器cli
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=162ff5e41)
会话层
添加 session_sapi_enable_disable
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7b3a3df26)
为DSCP添加支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3ef8bf366)
添加消息队列拥塞检测
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=20c242316)
TAP 驱动程序
添加 num_tx_queues API
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=40edaf601)
6. VPP Comms 库
在VCL 添加DSCP 支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2f09bfc8b)
7. Vector库
添加虚拟时间支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=56eccdbaa)
8. Gomemif
添加模式支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=176373cae)
已知问题
请访问https://jira.fd.io/secure/Dashboard.jspa,获取详细信息。
已修复问题
请访问https://git.fd.io/vpp/log/?h=master,获取详细信息。
API变更
本次API变更有三种情况:
Definition changed:指API文件在本次发布中有所修改。
Only in image: 指新发布的API。
Only in file:指该API已在本次发布中删除。
API消息共有98处主要变更:
左右滑动查看
详细信息请访问Release Notes原文:
https://github.com/FDio/vpp/blob/master/docs/aboutvpp/releasenotes/v22.02.rst
更新中的API消息
这些消息只用于测试和试验。它们不受任何兼容程序约束,因此可以在任何时候任意变更或删除。同时,这些消息的测试可能不如预期,因此不适合在技术预览以外使用。如果你打算在生产项目中使用这些消息,请与功能维护人员合作,将其产品化。
点击展开查看
abf_itf_attach_add_del
abf_itf_attach_add_del_reply
abf_itf_attach_details
abf_itf_attach_dump
abf_plugin_get_version
abf_plugin_get_version_reply
abf_policy_add_del
abf_policy_add_del_reply
abf_policy_details
abf_policy_dump
acl_plugin_use_hash_lookup_get
acl_plugin_use_hash_lookup_get_reply
acl_plugin_use_hash_lookup_set
acl_plugin_use_hash_lookup_set_reply
adl_allowlist_enable_disable
adl_allowlist_enable_disable_reply
adl_interface_enable_disable
adl_interface_enable_disable_reply
cnat_get_snat_addresses
cnat_get_snat_addresses_reply
cnat_session_details
cnat_session_dump
cnat_session_purge
cnat_session_purge_reply
cnat_set_snat_addresses
cnat_set_snat_addresses_reply
cnat_set_snat_policy
cnat_set_snat_policy_reply
cnat_snat_policy_add_del_exclude_pfx
cnat_snat_policy_add_del_exclude_pfx_reply
cnat_snat_policy_add_del_if
cnat_snat_policy_add_del_if_reply
cnat_translation_del
cnat_translation_del_reply
cnat_translation_details
cnat_translation_dump
cnat_translation_update
cnat_translation_update_reply
crypto_sw_scheduler_set_worker
crypto_sw_scheduler_set_worker_reply
det44_get_timeouts_reply
det44_interface_add_del_feature
det44_interface_add_del_feature_reply
det44_interface_details
det44_interface_dump
det44_plugin_enable_disable
det44_plugin_enable_disable_reply
det44_set_timeouts
det44_set_timeouts_reply
flow_add
flow_add_reply
flow_del
flow_del_reply
flow_disable
flow_disable_reply
flow_enable
flow_enable_reply
gbp_bridge_domain_add
gbp_bridge_domain_add_reply
gbp_bridge_domain_del
gbp_bridge_domain_del_reply
gbp_bridge_domain_details
gbp_bridge_domain_dump
gbp_bridge_domain_dump_reply
gbp_contract_add_del
gbp_contract_add_del_reply
gbp_contract_details
gbp_contract_dump
gbp_endpoint_add
gbp_endpoint_add_reply
gbp_endpoint_del
gbp_endpoint_del_reply
gbp_endpoint_details
gbp_endpoint_dump
gbp_endpoint_group_add
gbp_endpoint_group_add_reply
gbp_endpoint_group_del
gbp_endpoint_group_del_reply
gbp_endpoint_group_details
gbp_endpoint_group_dump
gbp_ext_itf_add_del
gbp_ext_itf_add_del_reply
gbp_ext_itf_details
gbp_ext_itf_dump
gbp_recirc_add_del
gbp_recirc_add_del_reply
gbp_recirc_details
gbp_recirc_dump
gbp_route_domain_add
gbp_route_domain_add_reply
gbp_route_domain_del
gbp_route_domain_del_reply
gbp_route_domain_details
gbp_route_domain_dump
gbp_route_domain_dump_reply
gbp_subnet_add_del
gbp_subnet_add_del_reply
gbp_subnet_details
gbp_subnet_dump
gbp_vxlan_tunnel_add
gbp_vxlan_tunnel_add_reply
gbp_vxlan_tunnel_del
gbp_vxlan_tunnel_del_reply
gbp_vxlan_tunnel_details
gbp_vxlan_tunnel_dump
ikev2_child_sa_details
ikev2_child_sa_dump
ikev2_initiate_del_child_sa
ikev2_initiate_del_child_sa_reply
ikev2_initiate_del_ike_sa
ikev2_initiate_del_ike_sa_reply
ikev2_initiate_rekey_child_sa
ikev2_initiate_rekey_child_sa_reply
ikev2_initiate_sa_init
ikev2_initiate_sa_init_reply
ikev2_nonce_get
ikev2_nonce_get_reply
ikev2_profile_add_del
ikev2_profile_add_del_reply
ikev2_profile_details
ikev2_profile_disable_natt
ikev2_profile_disable_natt_reply
ikev2_profile_dump
ikev2_profile_set_auth
ikev2_profile_set_auth_reply
ikev2_profile_set_id
ikev2_profile_set_id_reply
ikev2_profile_set_ipsec_udp_port
ikev2_profile_set_ipsec_udp_port_reply
ikev2_profile_set_liveness
ikev2_profile_set_liveness_reply
ikev2_profile_set_ts
ikev2_profile_set_ts_reply
ikev2_profile_set_udp_encap
ikev2_profile_set_udp_encap_reply
ikev2_sa_details
ikev2_sa_dump
ikev2_set_esp_transforms
ikev2_set_esp_transforms_reply
ikev2_set_ike_transforms
ikev2_set_ike_transforms_reply
ikev2_set_local_key
ikev2_set_local_key_reply
ikev2_set_responder
ikev2_set_responder_hostname
ikev2_set_responder_hostname_reply
ikev2_set_responder_reply
ikev2_set_sa_lifetime
ikev2_set_sa_lifetime_reply
ikev2_set_tunnel_interface
ikev2_set_tunnel_interface_reply
ikev2_traffic_selector_details
ikev2_traffic_selector_dump
ip_route_add_del_v2
ip_route_add_del_v2_reply
ip_route_lookup_v2
ip_route_lookup_v2_reply
ip_route_v2_details
ip_route_v2_dump
l2_emulation
l2_emulation_reply
mdata_enable_disable
mdata_enable_disable_reply
nat44_add_del_static_mapping_v2
nat44_add_del_static_mapping_v2_reply
nat44_ed_plugin_enable_disable
nat44_ed_plugin_enable_disable_reply
nat44_ed_set_fq_options
nat44_ed_set_fq_options_reply
nat44_ed_show_fq_options
nat44_ed_show_fq_options_reply
nat44_ei_add_del_address_range
nat44_ei_add_del_address_range_reply
nat44_ei_add_del_static_mapping
nat44_ei_add_del_static_mapping_reply
nat44_ei_address_details
nat44_ei_address_dump
nat44_ei_del_session
nat44_ei_del_session_reply
nat44_ei_del_user
nat44_ei_del_user_reply
nat44_ei_forwarding_enable_disable
nat44_ei_forwarding_enable_disable_reply
nat44_ei_ha_flush
nat44_ei_ha_flush_reply
nat44_ei_ha_resync
nat44_ei_ha_resync_completed_event
nat44_ei_ha_resync_reply
nat44_ei_ha_set_failover
nat44_ei_ha_set_failover_reply
nat44_ei_ha_set_listener
nat44_ei_ha_set_listener_reply
nat44_ei_interface_add_del_feature
nat44_ei_interface_add_del_feature_reply
nat44_ei_interface_details
nat44_ei_interface_dump
nat44_ei_ipfix_enable_disable
nat44_ei_ipfix_enable_disable_reply
nat44_ei_plugin_enable_disable
nat44_ei_plugin_enable_disable_reply
nat44_ei_set_addr_and_port_alloc_alg
nat44_ei_set_addr_and_port_alloc_alg_reply
nat44_ei_set_fq_options
nat44_ei_set_fq_options_reply
nat44_ei_set_mss_clamping
nat44_ei_set_mss_clamping_reply
nat44_ei_set_timeouts
nat44_ei_set_timeouts_reply
nat44_ei_set_workers
nat44_ei_set_workers_reply
nat44_ei_show_fq_options
nat44_ei_show_fq_options_reply
nat44_ei_show_running_config
nat44_ei_show_running_config_reply
nat44_ei_static_mapping_details
nat44_ei_static_mapping_dump
nat44_ei_user_details
nat44_ei_user_dump
nat44_ei_user_session_details
nat44_ei_user_session_dump
nat44_ei_worker_details
nat44_ei_worker_dump
nat44_show_running_config
nat44_show_running_config_reply
nat44_user_session_v2_details
nat44_user_session_v2_dump
nat64_plugin_enable_disable
nat64_plugin_enable_disable_reply
oddbuf_enable_disable
oddbuf_enable_disable_reply
pg_interface_enable_disable_coalesce
pg_interface_enable_disable_coalesce_reply
pnat_binding_add
pnat_binding_add_reply
pnat_binding_attach
pnat_binding_attach_reply
pnat_binding_del
pnat_binding_del_reply
pnat_binding_detach
pnat_binding_detach_reply
pnat_bindings_details
pnat_bindings_get
pnat_bindings_get_reply
pnat_interfaces_details
pnat_interfaces_get
pnat_interfaces_get_reply
sample_macswap_enable_disable
sample_macswap_enable_disable_reply
sr_policies_with_sl_index_details
sr_policies_with_sl_index_dump
sw_interface_set_vxlan_gbp_bypass
sw_interface_set_vxlan_gbp_bypass_reply
test_addresses
test_addresses2
test_addresses2_reply
test_addresses3
test_addresses3_reply
test_addresses_reply
test_empty
test_empty_reply
test_enum
test_enum_reply
test_interface
test_interface_reply
test_prefix
test_prefix_reply
test_string
test_string2
test_string2_reply
test_string_reply
test_vla
test_vla2
test_vla2_reply
test_vla3
test_vla3_reply
test_vla4
test_vla4_reply
test_vla5
test_vla5_reply
test_vla_reply
trace_capture_packets
trace_capture_packets_reply
trace_clear_capture
trace_clear_capture_reply
trace_details
trace_dump
trace_dump_reply
trace_set_filters
trace_set_filters_reply
vxlan_gbp_tunnel_add_del
vxlan_gbp_tunnel_add_del_reply
vxlan_gbp_tunnel_details
vxlan_gbp_tunnel_dump
want_wireguard_peer_events
want_wireguard_peer_events_reply
wireguard_interface_create
wireguard_interface_create_reply
wireguard_interface_delete
wireguard_interface_delete_reply
wireguard_interface_details
wireguard_interface_dump
wireguard_peer_add
wireguard_peer_add_reply
wireguard_peer_event
wireguard_peer_remove
wireguard_peer_remove_reply
wireguard_peers_details
wireguard_peers_dump
详细信息请访问Release Notes原文:
https://github.com/FDio/vpp/blob/master/docs/aboutvpp/releasenotes/v22.02.rst
更改API定义的补丁
src/vlibmemory/memclnt.api
f0e67d78a接口:添加 api 测试文件
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f0e67d78a)
36217e3ca api:改进API trace
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=36217e3ca)
src/vlibmemory/vlib.api
f0e67d78a 接口: 添加 api 测试文件
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f0e67d78a)
a1400cecb misc:继续移动api
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a1400cecb)
248210c6c misc:将一部分vpe api移动到
vlibmemory
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=248210c6c)
src/vnet/ipfix-export/ipfix_export.api
acb0d2d13 ipfix-export: 添加一个新API以转储所有导出器
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=acb0d2d13)
d747dd950 ipfix-export:支持创建多个导出器
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d747dd950)
src/vnet/session/session.api
7b3a3df26 session:添加session_sapi_enable_disable
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7b3a3df26)
src/vnet/fib/fib_types.api
da3310597 fib:doc nitfixes
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=da3310597)
src/vnet/qos/qos.api
2c77ae484 docs:vnet注释nitfixes
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2c77ae484)
src/vnet/devices/af_packet/af_packet.api
7d0e30bc6 devices:在create_if添加队列参数
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7d0e30bc6)
src/vnet/devices/tap/tapv2.api
40edaf601 tap:添加num_tx_queues API
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=40edaf601)
src/vnet/vxlan-gpe/vxlan_gpe.api
ea9629298 vxlan-gpe:添加udp-port 配置支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ea9629298)
src/vnet/classify/classify.api
abb2a4223 ip:基于分类的ACL中加入ip punt的支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=abb2a4223)
src/vnet/interface.api
0d05c0d21 interface:为新的tx infra添加多tx队列支持
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0d05c0d21)
src/plugins/wireguard/wireguard.api
064b77c74 build:删除不必要的可执行位元
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=064b77c74)
dd630d15d wireguard:为对等方添加事件
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dd630d15d)
src/plugins/nat/nat44-ed/nat44_ed.api
4189108e1 nat:NAT44 ED api修复及改进
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4189108e1)
c7164827a nat:nat44-ed 在api中添加会话超时指示器(2)
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c7164827a)
src/plugins/nat/nat44-ei/nat44_ei.api
1953da661 nat:改进nat44-ei配置
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1953da661)
src/plugins/af_xdp/af_xdp.api
31ed835b3 af_xdp:将API标记为稳定
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=31ed835b3)
57bdb26ba af_xdp:引入netns api
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=57bdb26ba)
src/vpp/api/vpe.api
a1400cecb misc:继续移动api
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a1400cecb)
248210c6c misc:将部分vpe api移至vlibmemory
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=248210c6c)
extras/deprecated/vnet/vxlan-gbp/vxlan_gbp.api
3be9164f8 misc:弃用gbp及其附属插件
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3be9164f8)
extras/deprecated/plugins/l2e/l2e.api
3be9164f8 misc:弃用gbp及其附属插件
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3be9164f8)
extras/deprecated/plugins/gbp/gbp.api
3be9164f8 misc:弃用gbp及其附属插件
(https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3be9164f8)
通过下面的链接,可以获取Release Package:
https://github.com/FDio/vpp/releases/tag/v22.02
详细的Release Notes,请参考:
https://s3-docs.fd.io/vpp/22.02/aboutvpp/releasenotes/v22.02.html
VPP项目主页:https://wiki.fd.io/view/VPP
VPP邮件列表:vpp-dev@lists.fd.io
加入VPP邮件列表:https://lists.fd.io/g/vpp-dev
转载须知
推荐阅读
Release notes for VPP 21.06
2021 SPDK线上论坛(一) | 针对BSC智能网卡的存储场景和性能分析
点点“赞”和“在看”,给我充点儿电吧~