本次发布新增了243个提交,包括118个修复。
特别重要的是本次发布对JIRA VPP-2307进行了修复:JIRA VPP-2307: CVE-2022-46397 FD.io VPP (Vector Packet Processor) IPSec generates a predictable IV in AES-CBC mode(https://jira.fd.io/browse/VPP-2037)
新功能速览
通过启用本地AVF驱动程序的通用流,完全启用了DDP驱动自学习功能。
为UDP/QUIC启用GSO功能,性能提升了~25%。
IPsec SPD快速路径in-bond查找性能优化;IPSec 10k隧道策略模式使用aes256gcm算法后测试性能在ICX平台上提升~46%-76%。
在CSIT中添加了1M流的VPP IPv4和IPv6测试套件。
在CSIT中添加了40k隧道ipsec策略模式和启用fastpath的测试套件。
新功能
适用于Python的二进制API编译器
包括json的注释(5d2346801)
插件
AVF 设备驱动
支持通用流(a6d16b713)
CNat
添加sctp支持(f284c14c7)
加密– ipsecmb
将ipsecmb库升级到v1.3(2a6f35f24)
DPDK
添加英特尔QAT 200xx系列支持(a57549ad2)
HTTP
支持客户端连接(ee4172ef0)
单播逆向路径转发(URPF)
添加为特定fib索引进行查询的模式(b3605eab5)
VNET
设备驱动程序
为af-packet v2添加支持(8b90d89b0)
IPSec
在快速路径引入ipv6入站匹配(06abf2352)
删除快速路径spd中冗余的策略阵列(14bf6a8fb)
添加新的api用于SA IP和端口的更新
分段路由(IPv6和MPLS)
SRv6路径追踪中间节点的行为(39d6deca5)
Srv6 路径追踪api (b79d09bbf)
UDP
添加封装udp包源端口熵的支持(5c801b362)
明确udp输出节点(8c1be054b)
支持禁用 tx csum (f8ee39ff7)
VPP Comms库
添加api以检查vcl是否与VPP断开连接(6ff8e90ed)
VPP StrongSwan Daemon
为VPP-swan添加插件(4e88e041a)
Add scripts for testing (95875774b)
为测试添加脚本(95875774b)
已知问题
请访问https://jira.fd.io/,获取已知问题的详细信息。
已修复问题
请访问https://jira.fd.io/下的git commit log: https://git.fd.io/vpp/log/?h=master,获取已修复问题的详细信息。
API变更
API变更有三种情况:
Definition changed:指API文件在本次发布中有所修改。
Only in image: 指新发布的API。
Only in file:指该API已在本次发布中删除。
本次发布有37处API消息主要变更:
左右滑动查看
本次发布弃用的API消息
下述消息目前还存在于API中,但很可能会在下一次发布中删除。
bridge_domain_add_del
bridge_domain_add_del_reply
create_vhost_user_if
create_vhost_user_if_reply
ipsec_spd_entry_add_del_reply
modify_vhost_user_if
modify_vhost_user_if_reply
更新中的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_add_v2
flow_add_v2_reply
flow_del
flow_del_reply
flow_disable
flow_disable_reply
flow_enable
flow_enable_reply
flowprobe_get_params
flowprobe_get_params_reply
flowprobe_interface_add_del
flowprobe_interface_add_del_reply
flowprobe_interface_details
flowprobe_interface_dump
flowprobe_set_params
flowprobe_set_params_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
lcp_default_ns_get_reply
lcp_default_ns_set
lcp_default_ns_set_reply
lcp_itf_pair_add_del
lcp_itf_pair_add_del_reply
lcp_itf_pair_add_del_v2
lcp_itf_pair_details
mdata_enable_disable
mdata_enable_disable_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_user_session_v2_details
nat44_ei_user_session_v2_dump
nat44_ei_worker_details
nat44_ei_worker_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_add_v2
pnat_binding_add_v2_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_localsids_with_packet_stats_details
sr_localsids_with_packet_stats_dump
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
wg_set_async_mode
wg_set_async_mode_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
更改API定义的补丁
src/plugins/af_packet/af_packet.api
bca76580b af_packet: 移动到插件
src/plugins/vhost/vhost_user.api
7eba44d1e vhost: 将vhost设备驱动转换为一个插件
src/plugins/nat/nat44-ed/nat44_ed.api
a923ce591 nat:清理已废弃的功能
91246bc6a nat: 报告当前vpp时间和最后一次听到之间的时间
src/plugins/nat/nat44-ei/nat44_ei.api
91246bc6a nat: 报告当前vpp时间和last_heard之间的时间
src/plugins/urpf/urpf.api
b3605eab5 urpf: 添加为特定fib索引进行查询的模式
src/vnet/udp/udp.api
5c801b362 udp: 添加封装udp包源端口熵的支持
src/vnet/ip/ip.api
d92524687 vnet:修复ip4版本及IHL检查
src/vnet/ipsec/ipsec.api
4117b24ac ipsec:为sa ips和端口更新添加api
520cde406 ipsec:使用正确的回复消息
src/vnet/srv6/sr_pt.api
b79d09bbf sr: srv6路径追踪API
src/vnet/srv6/sr.api
9503eb59c sr: 创建了新消息,以返回sr localsid细节中的数据包统计。
src/vnet/l2/l2.api
0f8f4351b l2: 在l2 api中添加bridge_domain_add_del_v2
src/vnet/bfd/bfd.api
415b6a7c7 bfd: 修复bfd udp错误枚举的不兼容性问题
通过下面的链接,可以获取Release Package:
https://packagecloud.io/fdio/release
详细的Release Notes,请参考:
https://github.com/FDio/vpp/blob/stable/2302/docs/aboutvpp/releasenotes/v23.02.rst#patches-that-changed-api-definitions
VPP项目主页:https://wiki.fd.io/view/VPP
VPP邮件列表:vpp-dev@lists.fd.io
加入VPP邮件列表:https://lists.fd.io/g/vpp-dev
转载须知
推荐阅读
2022 SPDK线上论坛(二)| Ceph RBD浅析及性能调优
2022 SPDK中国线上论坛(一)| SPDK RBD bdev使用及性能调优
案例研究 | 火山引擎边缘云采用基于英特尔®软硬件打造的HDSLB,深度优化四层负载均衡性能
点点“赞”和“在看”,给我充点儿电吧~