Release notes for VPP 19.01
More than 649 commits since the 18.10 release.
Features
Infrastructure
NUMA-aware, growable physical memory allocator (pmalloc)
FIB: sticky load-balance
C11 safe string handling: provide and use “safe” C string handling functions
vlib: allocate buffers on local numa, not on numa 1
vppinfra: autodetect default hugepage size
Move RPC traffic off the shared-memory API queue
IPv6: Make link-local configurable per-interface
IGMP: improve CLI debug output
IPSec: split ipsec nodes into ip4/ip6 nodes
IPSec: infra for selecting backends
vhost-user: cleanup and performance optimizations
ethernet-input, memif improvements and optimizations
DPDK: bump to DPDK 18.11
reassembly: harden reassembly code
stats: Deprecate old (event-based) stats framework
vlib: support Hyper-V/Azure VMBus
binary api clients: wait for vpp to start
graph dispatch trace: capture packet data and buffer metadata, output in pcap format
improve feature arc order constraint specification
VNET & Plugins
pktgen: correctly replay a mix of single and multi-buffer packets
add wireshark dissector to extras
avf: optimizations
acl-plugin: use L2 feature arc instead of L2 classifier
acl-plugin: performance enhancement
dpdk: allow interface name to be specified from startup.conf
dpdk: blacklist PCI devices by type
dpdk: switch to in-memory mode, deprecate use of socket-mem
vnet: store hw interface speed in kbps instead of using flags
vmxnet3: enable promiscuous mode & cli enhancements
gbp: Add support for flow hash profile & l3-out subnets
map: Add API support for setting parameters.
map: Convert from DPO to input feature
nat: improve expired sessions reuse in NAT44
nat: syslog - sessions logging
nsim: add packet loss simulation, docs
perfmon: x86_64 perf counter plugin
vnet: L2 feature arc infrastructure
Host stack
TCP congestion control improvements
TCP Cubic congestion control algorithm
TCP fast path optimizations
Transport tx connection pacer. TCP uses it by default
Basic support for session flushing and TCP PSH segments
TCP/session api support for configuring custom local src ip/port
VCL/LDP basic support for multi-process applications
Overall code hardening, cleanup and bugfixing for tcp, session, vcl and ldp
PAPI & Test framework
add specific API types for IP addresses, MAC address, interface index etc.
add timeout support for socket transport
add support for format/unformat functions
generic API types format/unformat support for VAT and custom dump
python3 test adjustments
make test: create virtualenv under /test/
make test: print TEST= values for failed tests
add human-friendly annotations to log messages
VOM
Add support for redirect contracts in gbp
deprecate TAP add ip-punt redirect dump
vxlan-gbp support
Known issues
For the full list of issues please refer to fd.io JIRA.
Issues fixed
For the full list of fixed issues please refer to:
fd.io JIRA
git commit log
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 |
Results |
---|---|
acl_plugin_get_conn_table_max_entries |
only in image |
acl_plugin_get_conn_table_max_entries_reply |
only in image |
app_worker_add_del |
definition changed |
app_worker_add_del_reply |
definition changed |
application_attach_reply |
definition changed |
bd_ip_mac_add_del |
definition changed |
bd_ip_mac_details |
definition changed |
bd_ip_mac_flush |
only in image |
bd_ip_mac_flush_reply |
only in image |
bond_create |
definition changed |
cli_inband |
definition changed |
cli_inband_reply |
definition changed |
gbp_bridge_domain_add |
only in image |
gbp_bridge_domain_add_reply |
only in image |
gbp_bridge_domain_del |
only in image |
gbp_bridge_domain_del_reply |
only in image |
gbp_bridge_domain_details |
only in image |
gbp_bridge_domain_dump |
only in image |
gbp_bridge_domain_dump_reply |
only in image |
gbp_endpoint_details |
definition changed |
gbp_endpoint_group_add |
only in image |
gbp_endpoint_group_add_del |
only in file |
gbp_endpoint_group_add_del_reply |
only in file |
gbp_endpoint_group_add_reply |
only in image |
gbp_endpoint_group_del |
only in image |
gbp_endpoint_group_del_reply |
only in image |
gbp_endpoint_learn_set_inactive_threshold |
only in image |
gbp_endpoint_learn_set_inactive_threshold_reply |
only in image |
gbp_ext_itf_add_del |
only in image |
gbp_ext_itf_add_del_reply |
only in image |
gbp_ext_itf_details |
only in image |
gbp_ext_itf_dump |
only in image |
gbp_route_domain_add |
only in image |
gbp_route_domain_add_reply |
only in image |
gbp_route_domain_del |
only in image |
gbp_route_domain_del_reply |
only in image |
gbp_route_domain_details |
only in image |
gbp_route_domain_dump |
only in image |
gbp_route_domain_dump_reply |
only in image |
gbp_vxlan_tunnel_add |
only in image |
gbp_vxlan_tunnel_add_reply |
only in image |
gbp_vxlan_tunnel_del |
only in image |
gbp_vxlan_tunnel_del_reply |
only in image |
gbp_vxlan_tunnel_details |
only in image |
gbp_vxlan_tunnel_dump |
only in image |
igmp_proxy_device_add_del |
only in image |
igmp_proxy_device_add_del_interface |
only in image |
igmp_proxy_device_add_del_interface_reply |
only in image |
igmp_proxy_device_add_del_reply |
only in image |
ip6_mfib_details |
definition changed |
ip_container_proxy_details |
only in image |
ip_container_proxy_dump |
only in image |
ip_mfib_details |
definition changed |
ip_punt_redirect |
definition changed |
ip_punt_redirect_details |
only in image |
ip_punt_redirect_dump |
only in image |
ip_source_check_interface_add_del |
only in image |
ip_source_check_interface_add_del_reply |
only in image |
ipip_6rd_add_tunnel_reply |
definition changed |
ipip_6rd_del_tunnel |
definition changed |
ipip_add_tunnel_reply |
definition changed |
ipip_del_tunnel |
definition changed |
ipip_tunnel_details |
definition changed |
ipip_tunnel_dump |
definition changed |
ipsec_backend_details |
only in image |
ipsec_backend_dump |
only in image |
ipsec_sa_details |
definition changed |
ipsec_select_backend |
only in image |
ipsec_select_backend_reply |
only in image |
ipsec_tunnel_if_add_del |
definition changed |
map_add_del_rule |
definition changed |
map_add_domain |
definition changed |
map_another_segment |
definition changed |
map_domain_details |
definition changed |
map_if_enable_disable |
only in image |
map_if_enable_disable_reply |
only in image |
map_param_add_del_pre_resolve |
only in image |
map_param_add_del_pre_resolve_reply |
only in image |
map_param_get |
only in image |
map_param_get_reply |
only in image |
map_param_set_fragmentation |
only in image |
map_param_set_fragmentation_reply |
only in image |
map_param_set_icmp6 |
only in image |
map_param_set_icmp6_reply |
only in image |
map_param_set_icmp |
only in image |
map_param_set_icmp_reply |
only in image |
map_param_set_reassembly |
only in image |
map_param_set_reassembly_reply |
only in image |
map_param_set_security_check |
only in image |
map_param_set_security_check_reply |
only in image |
map_param_set_tcp |
only in image |
map_param_set_tcp_reply |
only in image |
map_param_set_traffic_class |
only in image |
map_param_set_traffic_class_reply |
only in image |
map_rule_details |
definition changed |
memclnt_delete |
definition changed |
nat44_add_del_lb_static_mapping |
definition changed |
nat44_lb_static_mapping_add_del_local |
only in image |
nat44_lb_static_mapping_add_del_local_reply |
only in image |
nat44_lb_static_mapping_details |
definition changed |
nsim_configure |
definition changed |
punt |
only in file |
punt_details |
only in image |
punt_dump |
only in image |
punt_reply |
only in file |
punt_socket_deregister |
definition changed |
punt_socket_details |
only in image |
punt_socket_dump |
only in image |
punt_socket_register |
definition changed |
set_ip_flow_hash |
definition changed |
set_punt |
only in image |
set_punt_reply |
only in image |
show_version_reply |
definition changed |
stats_get_poller_delay |
only in file |
stats_get_poller_delay_reply |
only in file |
sw_interface_bond_details |
definition changed |
sw_interface_details |
definition changed |
sw_interface_ip6_set_link_local_address |
only in file |
sw_interface_ip6_set_link_local_address_reply |
only in file |
sw_interface_tap_v2_details |
definition changed |
syslog_get_filter |
only in image |
syslog_get_filter_reply |
only in image |
syslog_get_sender |
only in image |
syslog_get_sender_reply |
only in image |
syslog_set_filter |
only in image |
syslog_set_filter_reply |
only in image |
syslog_set_sender |
only in image |
syslog_set_sender_reply |
only in image |
tap_create_v2 |
definition changed |
unmap_segment |
definition changed |
vnet_bier_neighbor_counters |
only in file |
vnet_get_summary_stats |
only in file |
vnet_get_summary_stats_reply |
only in file |
vnet_interface_combined_counters |
only in file |
vnet_interface_simple_counters |
only in file |
vnet_ip4_fib_counters |
only in file |
vnet_ip4_mfib_counters |
only in file |
vnet_ip4_nbr_counters |
only in file |
vnet_ip6_fib_counters |
only in file |
vnet_ip6_mfib_counters |
only in file |
vnet_ip6_nbr_counters |
only in file |
vnet_per_interface_combined_counters |
only in file |
vnet_per_interface_simple_counters |
only in file |
vnet_udp_encap_counters |
only in file |
want_bier_neighbor_stats |
only in file |
want_bier_neighbor_stats_reply |
only in file |
want_interface_combined_stats |
only in file |
want_interface_combined_stats_reply |
only in file |
want_interface_simple_stats |
only in file |
want_interface_simple_stats_reply |
only in file |
want_ip4_fib_stats |
only in file |
want_ip4_fib_stats_reply |
only in file |
want_ip4_mfib_stats |
only in file |
want_ip4_mfib_stats_reply |
only in file |
want_ip4_nbr_stats |
only in file |
want_ip4_nbr_stats_reply |
only in file |
want_ip6_fib_stats |
only in file |
want_ip6_fib_stats_reply |
only in file |
want_ip6_mfib_stats |
only in file |
want_ip6_mfib_stats_reply |
only in file |
want_ip6_nbr_stats |
only in file |
want_ip6_nbr_stats_reply |
only in file |
want_per_interface_combined_stats |
only in file |
want_per_interface_combined_stats_reply |
only in file |
want_per_interface_simple_stats |
only in file |
want_per_interface_simple_stats_reply |
only in file |
want_stats |
only in file |
want_stats_reply |
only in file |
want_udp_encap_stats |
only in file |
want_udp_encap_stats_reply |
only in file |
Found 170 api message signature differences
Patches that changed API definitions
src/vnet/interface_types.api
53fffa1 API: Add support for type aliases
src/vnet/interface.api
f49ba0e stats: Deprecate old stats framework
53fffa1 API: Add support for type aliases
5100aa9 vnet: store hw interface speed in kbps instead of using flags
src/vnet/syslog/syslog.api
b4515b4 Add RFC5424 syslog protocol support (VPP-1139)
src/vnet/fib/fib_types.api
775f73c FIB: encode the label stack in the FIB path during table dump
src/vnet/ip/ip.api
7c03ed4 VOM: mroutes
3460b01 api: ip_source_check_interface_add_del api is added.
609e121 VPP-1507: Added binary api to dump configured ip_punt_redirect
2af0e3a flow-hash: Add symmetric flag for flow hashing
47527b2 IP-punt: add documentation to the API and fix IP address init
5bb1eca IPv6: Make link-local configurable per-interface (VPP-1446)
75b9f45 ip: add container proxy dump API (VPP-1364)
src/vnet/ip/ip_types.api
8c8acc0 API: Change ip4_address and ip6_address to use type alias.
ffba3c3 MAP: Use explicit address/prefix types in API
src/vnet/ip/punt.api
e88865d VPP-1506: dump local punts and registered punt sockets
src/vnet/ipsec/ipsec.api
4c422f9 Add IPSec interface FIB index for TX packet
b4a7a7d Add UDP encap flag
b4d3053 ipsec: infra for selecting backends
871bca9 VPP-1450: binary api call for dumping SPD to interface registration
src/vnet/l2/l2.api
e26c81f L2 BD API to flush all IP-MAC entries in the specified BD
8006c6a PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
93cc3ee GBP Endpoint Learning
4d5b917 BD ARP entry use common API types
src/vnet/vxlan-gbp/vxlan_gbp.api
93cc3ee GBP Endpoint Learning
src/vnet/ipip/ipip.api
53fffa1 API: Add support for type aliases
src/vnet/session/session.api
d85de68 vcl: wait for segments with segment handle
fa76a76 session: segment handle in accept/connect notifications
c1f5a43 session: cleanup use of api_client_index
c0d532d session: mark apis for deprecation
src/vnet/ethernet/ethernet_types.api
8006c6a PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
src/vnet/bonding/bond.api
ad9d528 bonding: support custom interface IDs
src/vnet/devices/tap/tapv2.api
754f24b tapv2: add “tap_flags” field to the TAPv2 interface API
src/vlibmemory/memclnt.api
eaec2a6 bapi: add options to have vpp cleanup client registration
src/vpp/api/vpe.api
src/plugins/acl/acl.api
bb5d22d New api in order to get max entries of connection table is added.
src/plugins/nsim/nsim.api
10c5ff1 nsim: add packet loss simulation, docs
src/plugins/gbp/gbp.api
1c17e2e GBP: add allowed ethertypes to contracts
b6a4795 GBP: l3-out subnets
33b81da vom: Add support for redirect contracts in gbp
13a08cc GBP: redirect contracts
c29c0af GBP: Endpoints with VLAN tags and birdges that don’t learn
93cc3ee GBP Endpoint Learning
src/plugins/nat/nat.api
b686508 NAT44: nat44_add_del_lb_static_mapping enhancements (VPP-1514)
src/plugins/map/map.api
fc7344f MAP: Convert from DPO to input feature.
f34597f MAP: Add API support for MAP input feature.
5a2e278 MAP: Add API support for setting parameters.
a173a7a MAP: Use bool type in map.api instead of u8.
ffba3c3 MAP: Use explicit address/prefix types in API
src/plugins/igmp/igmp.api
97748ca IGMP: proxy device