| Release notes for VPP 21.10 |
| =========================== |
| |
| More than 358 commits since the previous release, including 187 fixes. |
| |
| Features |
| -------- |
| |
| - Infrastructure Library |
| |
| - Add array mask func (`0ec7dad7a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0ec7dad7a>`_) |
| - Add abstract socket & netns fns (`4cef6de59 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4cef6de59>`_) |
| - Move format\_table from perfmon (`0e6584014 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0e6584014>`_) |
| |
| - Plugins |
| |
| - DPDK |
| |
| - Bump to 21.05 (`9303b1089 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9303b1089>`_) |
| - Bump to 21.08 (`8990f095a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8990f095a>`_) |
| |
| - Bufmon |
| |
| - Add buffer monitoring plugin (`e09a2337b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e09a2337b>`_) |
| |
| - Performance counter |
| |
| - Adding support for papi TMAM (`c3cb2075d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c3cb2075d>`_) |
| |
| - Snort plugin |
| |
| - Snort3 plugin and DAQ (`839b1473e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=839b1473e>`_) |
| |
| - Vmxnet3 device driver |
| |
| - Support manual thread assignment toz tx queue (`a57a7005d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a57a7005d>`_) |
| |
| - Python binding for the VPP API |
| |
| - Remove shared memory transport (`041372b79 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=041372b79>`_) |
| |
| - VNET |
| |
| - - IP6 Neighbor Discovery |
| - Add ip6-nd proxy (`cebb47733 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cebb47733>`_) |
| |
| - FIB |
| |
| - A 16-8-8 and a 8-8-8-8 versions of an ip4\_fib\_t (`d6953332d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d6953332d>`_) |
| - Compiile time option to use 8-8-8-8 stride tries for FIB rather than 16-8-8-8 (`a70b015ce <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a70b015ce>`_) |
| |
| - FLOW |
| |
| - Add esp spi rss type (`da6520b4e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=da6520b4e>`_) |
| |
| - Hash |
| |
| - Add support for hashing infra (`41b23bc95 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=41b23bc95>`_) |
| |
| - IPv4 LPM |
| |
| - Allow the 'ip6 enable' on tunnel interface types (`dfef64b4c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dfef64b4c>`_) |
| - Source address selection (`8034a36a9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8034a36a9>`_) |
| - Punt redirect add nh in api (`2a1783fd6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2a1783fd6>`_) |
| - Show ip table CLI (`14b472e37 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=14b472e37>`_) |
| |
| - Interface Common |
| |
| - Add custom interface name support (`f49734d3b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49734d3b>`_) |
| |
| - Packet Generator |
| |
| - A Tunnel mode variant of a pg interface (`6197cb730 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6197cb730>`_) |
| |
| - Segment Routing (IPv6 and MPLS) |
| |
| - Extend the srv6 sid list structure (`ad8b82d83 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad8b82d83>`_) |
| |
| - Session Layer |
| |
| - Optimize ct fifo segment allocations (`da78c5abc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=da78c5abc>`_) |
| - Support abstract sockets for app ns (`7cb471a02 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7cb471a02>`_) |
| - Add sock\_name option to add\_ns (`1a9e2f96d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1a9e2f96d>`_) |
| |
| - UDP |
| |
| - Add udp decapsulation (`8a6f5d394 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8a6f5d394>`_) |
| |
| - VPP Comms Library |
| |
| - Basic support for epoll level-triggered evts (`fe286f7d1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fe286f7d1>`_) |
| |
| Known issues |
| ------------ |
| |
| |
| For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_). |
| |
| Fixed issues |
| ------------ |
| |
| For the full list of fixed issues please refer to: |
| - fd.io `JIRA <https://jira.fd.io>`_) |
| - git `commit log <https://git.fd.io/vpp/log/?h=stable/2110>`_) |
| |
| |
| API changes |
| ----------- |
| |
| Description of results: |
| |
| - *Definition changed*: indicates that the API file was modified between releases. |
| - *Only in image*: indicates the API is new for this release. |
| - *Only in file*: indicates the API has been removed in this release. |
| |
| =============================================== ================== |
| Message Name Result |
| =============================================== ================== |
| acl_plugin_use_hash_lookup_get only in image |
| acl_plugin_use_hash_lookup_get_reply only in image |
| acl_plugin_use_hash_lookup_set only in image |
| acl_plugin_use_hash_lookup_set_reply only in image |
| add_del_ip_punt_redirect_v2 only in image |
| add_del_ip_punt_redirect_v2_reply only in image |
| app_namespace_add_del_v2 only in image |
| app_namespace_add_del_v2_reply only in image |
| app_namespace_add_del_v3 only in image |
| app_namespace_add_del_v3_reply only in image |
| ip6nd_proxy_enable_disable only in image |
| ip6nd_proxy_enable_disable_reply only in image |
| ip_punt_redirect_v2_details only in image |
| ip_punt_redirect_v2_dump only in image |
| ipsec_sad_entry_add only in image |
| ipsec_sad_entry_add_reply only in image |
| ipsec_sad_entry_del only in image |
| ipsec_sad_entry_del_reply only in image |
| pg_create_interface_v2 only in image |
| pg_create_interface_v2_reply only in image |
| sw_interface_set_interface_name only in image |
| sw_interface_set_interface_name_reply only in image |
| udp_decap_add_del only in image |
| udp_decap_add_del_reply only in image |
| =============================================== ================== |
| |
| Found 24 api message signature differences |
| |
| |
| Newly deprecated API messages |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| These messages are still there in the API, but can and probably |
| will disappear in the next release. |
| |
| - app_namespace_add_del |
| - app_namespace_add_del_reply |
| - ip_punt_redirect |
| - ip_punt_redirect_reply |
| |
| In-progress API messages |
| ~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| These messages are provided for testing and experimentation only. |
| They are *not* subject to any compatibility process, |
| and therefore can arbitrarily change or disappear at *any* moment. |
| Also they may have less than satisfactory testing, making |
| them unsuitable for other use than the technology preview. |
| If you are intending to use these messages in production projects, |
| please collaborate with the feature maintainer on their productization. |
| |
| - 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 |
| - af_xdp_create |
| - af_xdp_create_reply |
| - af_xdp_delete |
| - af_xdp_delete_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 |
| - 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 |
| - 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_remove |
| - wireguard_peer_remove_reply |
| - wireguard_peers_details |
| - wireguard_peers_dump |
| |
| Patches that changed API definitions |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| |
| ``src/vnet/session/session.api`` |
| |
| * `1a9e2f96d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1a9e2f96d>`_ session: Add sock_name option to add_ns |
| * `7cb471a02 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7cb471a02>`_ session vcl: support abstract sockets for app ns |
| |
| ``src/vnet/pg/pg.api`` |
| |
| * `6197cb730 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6197cb730>`_ pg: A Tunnel mode variant of a pg interface |
| |
| ``src/vnet/ipsec/ipsec.api`` |
| |
| * `ff2e4138c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ff2e4138c>`_ ipsec: Split the SA add_del API into an separate add and del |
| |
| ``src/vnet/ipsec/ipsec_types.api`` |
| |
| * `53dd08c59 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53dd08c59>`_ ipsec: Derive the TUNNEL_V6 flag from the configured address types |
| |
| ``src/vnet/ip6-nd/ip6_nd.api`` |
| |
| * `cebb47733 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cebb47733>`_ ip6-nd: add ip6-nd proxy |
| |
| ``src/vnet/udp/udp.api`` |
| |
| * `8a6f5d394 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8a6f5d394>`_ udp: add udp decapsulation |
| |
| ``src/vnet/interface.api`` |
| |
| * `f49734d3b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49734d3b>`_ interface: add custom interface name support |
| |
| ``src/vnet/ip/ip.api`` |
| |
| * `2a1783fd6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2a1783fd6>`_ ip: punt redirect add nh in api |
| |
| ``src/plugins/acl/acl.api`` |
| |
| * `1d342b9c8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1d342b9c8>`_ acl: add API call for setting the toggle to select between linear and bihash-based lookups |
| |
| ``src/plugins/nat/nat44-ed/nat44_ed.api`` |
| |
| * `2ac5c11cd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2ac5c11cd>`_ nat: Revert "nat: nat44-ed add session timing out indicator in api" |
| * `f059a3452 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f059a3452>`_ nat: nat44-ed add session timing out indicator in api |
| |