Release notes for VPP 19.08
More than 850 commits since the 19.04 release.
Features
Infrastructure
API
API language: new types and limits support
Python API - add support for defaults
Export ip_types.api for out-of-tree plugins use
Refactor ipip.api with explicit types
DPDK
19.05 integration
Remove bonding code
Rework extended stats
Debugging & Servicability
debug CLI leak-checker
vlib: add “memory-trace stats-segment”
vppapitrace JSON/API trace converter
ARP: add arp-disabled node
igmp: Trace more data from input packets
ip: Trace the packet from the punt node
Python API debug introspection improvements
Pin dependencies for make test infra
FEATURE.yaml meta-data infrastructure
tcp: add cc stats plotting tools
Packet tracer support for thread handoffs
libmemif: support for multi-thread connection establishment
svm
fifo ooo reads/writes with multiple chunks
support addition/removal of chunks to fifos
vppinfra
Mapped pcap file support
More AVX2 and AVX512 inlines
VLIB_INIT_FUNCTION sequencing rework
refactor spinlocks and rwlocks
add rbtree
add doubly linked list
rdma: bump rdma-core to v25.0
stats
Add the number of worker threads and per worker thread vector rates
Support multiple workers for error counters
VNET & Plugins
New Plugins
HTTP static page server with TLS support
L3 cross connect
acl: implement stat-segment counters
arp: add feature arcs: arp-reply, arp-input, arp-proxy
avf: improved logging and added 2.5/5 Gbps speeds
bonding: NUMA-related improvements
crypto: add support for AES-CTR cipher
fib
FIB Entry tracking
Support the POP of a Pseudo Wire Control Word
gbp
Anonymous l3-out subnets support
ARP unicast forward in gbp bridge domain
An Endpoint can change sclass
Consider data-plane learnt source better than control-plane
VRF scoped contracts
gso (experimental)
Add support to pg interfaces
Add support to vhost user
Add support to native virtio
Add support for tagged interfaces
punt: allow to specify packets by IP protocol Type
ip6-local: hop-by-hop protocol demux table
ipsec
intel-ipsec-mb version 0.52
AH encrypt rework
handle UDP keepalives
support GCM in ESP
virtio
Refactor control queue support
dhcp-client: DSCP marking for transmitted packets
Idle resource usage improvements
Allocate bihash virtual space on demand
gre: don’t register gre input nodes unless a gre tunnel is created
gtpu: don’t register udp ports unless a tunnel is created
lacp: create lacp-process on demand
lisp-cp: start lisp retry service on demand
start the cdp period and dns resolver process on demand
vat: unload unused vat plugins
nat: api cleanup & update
nsim: make available as an output feature
load-balance performance improvements
l2: Add support for arp unicast forwarding
mactime
Mini-ACLs
Per-MAC allow-with-quota feature
qos
QoS dump APIs
Store function
rdma: add support for promiscuous mode (l2-switching and xconnect)
sr: update the Segment Routing definition to be compliant with current in IETF
udp-ping: disable due to conflict with mldv2
vxlan-gpe: improve encap performance
vom
QoS support
Bridge domain arp unicast forwarding flag
Bridge domain unknown unicast flooding flag
Host stack
session
API to support manual svm fifo resizing
Improved session output scheduler and close state machine
Transport and session cleanup notifications for builtin apps
Session migration notifications for builtin apps
Support for no session layer lookup transports (quic and tls)
Ability to retrieve local/remote endpoint in transport vft
Cleanup segment manager and fifo segment
Fix vpp to app msg generation on enqueue fail
Improve event logging
Moved test applications to hsa plugin
tcp
Congestion control algorithm enhancements
Delivery rate estimator
ACK/retransmission refactor and pacing
Add tcp-input sibling nodes without full 6-tuple lookup
More RFC4898 connection statistics
Allow custom output next node
Allow custom congestion control algorithms
quic
Multi-thread support
Logs readability improvements
Multistream support
tls
Fix close with data and listen failures
Handle TCP transport rests
Support endpoint retrieval interface
vcl
support quic streams and “connectable listeners”
worker unregister api
fix epoll with large events batch
ldp: add option to eanble transparent TLS connections
udp:
support close with data
fixed session migration
sctp
add option to enable/disable default to disable
moved from vnet to plugins
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 |
Result |
---|---|
abf_itf_attach_add_del |
definition changed |
abf_itf_attach_details |
definition changed |
abf_policy_add_del |
definition changed |
abf_policy_details |
definition changed |
acl_add_replace |
definition changed |
acl_details |
definition changed |
acl_stats_intf_counters_enable |
only in image |
acl_stats_intf_counters_enable_reply |
only in image |
api_versions_reply |
definition changed |
bd_ip_mac_add_del |
definition changed |
bd_ip_mac_details |
definition changed |
bier_disp_entry_add_del |
definition changed |
bier_disp_entry_details |
definition changed |
bier_imp_add |
definition changed |
bier_imp_details |
definition changed |
bier_route_add_del |
definition changed |
bier_route_details |
definition changed |
bier_route_dump |
definition changed |
bier_table_add_del |
definition changed |
bier_table_details |
definition changed |
bond_create |
definition changed |
bridge_domain_add_del |
definition changed |
bridge_domain_details |
definition changed |
bridge_flags |
definition changed |
connect_sock |
definition changed |
create_vhost_user_if |
definition changed |
ct6_enable |
only in file |
ct6_enable_disable |
only in image |
ct6_enable_disable_reply |
only in image |
ct6_enable_disable |
only in file |
dhcp6_pd_reply_event |
definition changed |
dhcp6_pd_send_client_message |
definition changed |
dhcp6_reply_event |
definition changed |
dhcp6_send_client_message |
definition changed |
dhcp_client_config |
definition changed |
dhcp_client_details |
definition changed |
dhcp_compl_event |
definition changed |
dhcp_proxy_details |
definition changed |
dslite_add_del_pool_addr_range |
definition changed |
dslite_address_details |
definition changed |
dslite_get_aftr_addr_reply |
definition changed |
dslite_get_b4_addr_reply |
definition changed |
dslite_set_aftr_addr |
definition changed |
dslite_set_b4_addr |
definition changed |
gbp_bridge_domain_add |
definition changed |
gbp_bridge_domain_details |
definition changed |
gbp_contract_add_del |
definition changed |
gbp_contract_details |
definition changed |
gbp_endpoint_add |
definition changed |
gbp_endpoint_details |
definition changed |
gbp_endpoint_group_add |
definition changed |
gbp_endpoint_group_details |
definition changed |
gbp_ext_itf_add_del |
definition changed |
gbp_ext_itf_details |
definition changed |
gbp_recirc_add_del |
definition changed |
gbp_recirc_details |
definition changed |
gbp_route_domain_add |
definition changed |
gbp_route_domain_details |
definition changed |
gbp_subnet_add_del |
definition changed |
gbp_subnet_details |
definition changed |
gbp_vxlan_tunnel_add |
definition changed |
gbp_vxlan_tunnel_details |
definition changed |
get_f64_endian_value |
only in image |
get_f64_endian_value_reply |
only in image |
get_f64_increment_by_one |
only in image |
get_f64_increment_by_one_reply |
only in image |
gpe_add_del_fwd_entry |
definition changed |
gpe_fwd_entries_get_reply |
definition changed |
gpe_fwd_entry_path_details |
definition changed |
gpe_native_fwd_rpaths_get_reply |
definition changed |
gre_add_del_tunnel |
only in file |
gre_add_del_tunnel_reply |
only in file |
gre_tunnel_add_del |
only in image |
gre_tunnel_add_del_reply |
only in image |
gre_tunnel_details |
definition changed |
gre_tunnel_dump |
definition changed |
http_static_enable |
only in image |
http_static_enable_reply |
only in image |
igmp_event |
definition changed |
igmp_group_prefix_details |
definition changed |
igmp_group_prefix_set |
definition changed |
igmp_listen |
definition changed |
ip6_fib_details |
only in file |
ip6_fib_dump |
only in file |
ip6_mfib_details |
only in file |
ip6_mfib_dump |
only in file |
ip6_ra_event |
definition changed |
ip_add_del_route |
only in file |
ip_add_del_route_reply |
only in file |
ip_address_details |
definition changed |
ip_container_proxy_add_del |
definition changed |
ip_container_proxy_details |
definition changed |
ip_fib_details |
only in file |
ip_fib_dump |
only in file |
ip_mfib_details |
only in file |
ip_mfib_dump |
only in file |
ip_mroute_add_del |
definition changed |
ip_mroute_details |
only in image |
ip_mroute_dump |
only in image |
ip_mtable_details |
only in image |
ip_mtable_dump |
only in image |
ip_neighbor_add_del |
definition changed |
ip_neighbor_details |
definition changed |
ip_probe_neighbor |
definition changed |
ip_punt_redirect |
definition changed |
ip_punt_redirect_details |
definition changed |
ip_reassembly_get_reply |
definition changed |
ip_reassembly_set |
definition changed |
ip_route_add_del |
only in image |
ip_route_add_del_reply |
only in image |
ip_route_details |
only in image |
ip_route_dump |
only in image |
ip_source_and_port_range_check_add_del |
definition changed |
ip_table_add_del |
definition changed |
ip_table_details |
only in image |
ip_table_dump |
only in image |
ipfix_flush |
only in image |
ipfix_flush_reply |
only in image |
ipip_6rd_add_tunnel |
definition changed |
ipip_add_tunnel |
definition changed |
ipip_tunnel_details |
definition changed |
ipsec_backend_details |
definition changed |
ipsec_gre_tunnel_add_del |
only in file |
ipsec_gre_tunnel_add_del_reply |
only in file |
ipsec_gre_tunnel_details |
only in file |
ipsec_gre_tunnel_dump |
only in file |
ipsec_sa_details |
definition changed |
ipsec_sa_set_key |
only in file |
ipsec_sa_set_key_reply |
only in file |
ipsec_sad_entry_add_del |
definition changed |
ipsec_select_backend |
definition changed |
ipsec_spd_details |
definition changed |
ipsec_spd_entry_add_del |
definition changed |
ipsec_tunnel_if_add_del |
definition changed |
ipsec_tunnel_if_set_key |
only in file |
ipsec_tunnel_if_set_key_reply |
only in file |
ipsec_tunnel_protect_del |
only in image |
ipsec_tunnel_protect_del_reply |
only in image |
ipsec_tunnel_protect_details |
only in image |
ipsec_tunnel_protect_dump |
only in image |
ipsec_tunnel_protect_update |
only in image |
ipsec_tunnel_protect_update_reply |
only in image |
l2_macs_event |
definition changed |
l3xc_del |
only in image |
l3xc_del_reply |
only in image |
l3xc_details |
only in image |
l3xc_dump |
only in image |
l3xc_plugin_get_version |
only in image |
l3xc_plugin_get_version_reply |
only in image |
l3xc_update |
only in image |
l3xc_update_reply |
only in image |
lb_add_del_as |
definition changed |
lb_add_del_vip |
definition changed |
lb_as_details |
only in image |
lb_as_dump |
only in image |
lb_flush_vip |
definition changed |
lb_vip_details |
only in image |
lb_vip_dump |
only in image |
lisp_add_del_locator_set |
definition changed |
lisp_add_del_remote_mapping |
definition changed |
lisp_adjacencies_get_reply |
definition changed |
log_details |
only in image |
log_dump |
only in image |
macip_acl_add |
definition changed |
macip_acl_add_replace |
definition changed |
macip_acl_details |
definition changed |
mactime_add_del_range |
definition changed |
map_add_domain |
definition changed |
map_domain_details |
definition changed |
mfib_signal_details |
definition changed |
modify_vhost_user_if |
definition changed |
mpls_fib_details |
only in file |
mpls_fib_dump |
only in file |
mpls_ip_bind_unbind |
definition changed |
mpls_route_add_del |
definition changed |
mpls_route_details |
only in image |
mpls_route_dump |
only in image |
mpls_table_add_del |
definition changed |
mpls_table_details |
only in image |
mpls_table_dump |
only in image |
mpls_tunnel_add_del |
definition changed |
mpls_tunnel_details |
definition changed |
nat44_add_del_address_range |
definition changed |
nat44_add_del_identity_mapping |
definition changed |
nat44_add_del_interface_addr |
definition changed |
nat44_add_del_lb_static_mapping |
definition changed |
nat44_add_del_static_mapping |
definition changed |
nat44_address_details |
definition changed |
nat44_del_session |
definition changed |
nat44_forwarding_enable_disable |
definition changed |
nat44_forwarding_is_enabled_reply |
definition changed |
nat44_identity_mapping_details |
definition changed |
nat44_interface_add_del_feature |
definition changed |
nat44_interface_add_del_output_feature |
definition changed |
nat44_interface_addr_details |
definition changed |
nat44_interface_details |
definition changed |
nat44_interface_output_feature_details |
definition changed |
nat44_lb_static_mapping_add_del_local |
definition changed |
nat44_lb_static_mapping_details |
definition changed |
nat44_static_mapping_details |
definition changed |
nat44_user_details |
definition changed |
nat44_user_session_details |
definition changed |
nat44_user_session_dump |
definition changed |
nat64_add_del_interface_addr |
definition changed |
nat64_add_del_interface |
definition changed |
nat64_add_del_pool_addr_range |
definition changed |
nat64_add_del_prefix |
definition changed |
nat64_add_del_static_bib |
definition changed |
nat64_bib_details |
definition changed |
nat64_interface_details |
definition changed |
nat64_pool_addr_details |
definition changed |
nat64_prefix_details |
definition changed |
nat64_st_details |
definition changed |
nat66_add_del_interface |
definition changed |
nat66_add_del_static_mapping |
definition changed |
nat66_interface_details |
definition changed |
nat66_static_mapping_details |
definition changed |
nat_det_add_del_map |
definition changed |
nat_det_close_session_in |
definition changed |
nat_det_close_session_out |
definition changed |
nat_det_forward |
definition changed |
nat_det_forward_reply |
definition changed |
nat_det_map_details |
definition changed |
nat_det_reverse |
definition changed |
nat_det_reverse_reply |
definition changed |
nat_det_session_details |
definition changed |
nat_det_session_dump |
definition changed |
nat_get_mss_clamping_reply |
definition changed |
nat_ipfix_enable_disable |
definition changed |
nat_reass_details |
definition changed |
nat_set_log_level |
only in image |
nat_set_log_level_reply |
only in image |
nat_set_mss_clamping |
definition changed |
nat_set_reass |
definition changed |
nat_show_config_reply |
definition changed |
nat_worker_details |
definition changed |
nsim_cross_connect_enable_disable |
only in image |
nsim_cross_connect_enable_disable_reply |
only in image |
nsim_enable_disable |
only in file |
nsim_enable_disable_reply |
only in file |
nsim_output_feature_enable_disable |
only in image |
nsim_output_feature_enable_disable_reply |
only in image |
oam_add_del |
only in file |
oam_add_del_reply |
only in file |
oam_event |
only in file |
one_add_del_locator_set |
definition changed |
one_add_del_remote_mapping |
definition changed |
one_adjacencies_get_reply |
definition changed |
one_l2_arp_entries_get_reply |
definition changed |
one_ndp_entries_get_reply |
definition changed |
p2p_ethernet_add |
definition changed |
p2p_ethernet_add_reply |
definition changed |
p2p_ethernet_del |
definition changed |
pg_create_interface |
definition changed |
proxy_arp_add_del |
definition changed |
proxy_arp_details |
definition changed |
punt_details |
only in file |
punt_dump |
only in file |
punt_reason_details |
only in image |
punt_reason_dump |
only in image |
punt_socket_deregister |
definition changed |
punt_socket_details |
definition changed |
punt_socket_dump |
definition changed |
punt_socket_register |
definition changed |
qos_egress_map_delete |
definition changed |
qos_egress_map_details |
only in image |
qos_egress_map_dump |
only in image |
qos_egress_map_update |
definition changed |
qos_mark_details |
only in image |
qos_mark_details_reply |
only in image |
qos_mark_dump |
only in image |
qos_mark_enable_disable |
definition changed |
qos_record_details |
only in image |
qos_record_dump |
only in image |
qos_record_enable_disable |
definition changed |
qos_store_details |
only in image |
qos_store_dump |
only in image |
qos_store_enable_disable |
only in image |
qos_store_enable_disable_reply |
only in image |
sctp_add_src_dst_connection |
only in file |
sctp_add_src_dst_connection_reply |
only in file |
sctp_config |
only in file |
sctp_config_reply |
only in file |
sctp_del_src_dst_connection |
only in file |
sctp_del_src_dst_connection_reply |
only in file |
set_punt |
definition changed |
show_threads_reply |
definition changed |
show_vpe_system_time |
only in image |
show_vpe_system_time_reply |
only in image |
sockclnt_create_reply |
definition changed |
sr_localsid_add_del |
definition changed |
sr_localsids_details |
definition changed |
sr_policies_details |
definition changed |
sr_policy_add |
definition changed |
sr_policy_del |
definition changed |
sr_policy_mod |
definition changed |
sr_steering_pol_details |
definition changed |
svs_details |
definition changed |
svs_enable_disable |
definition changed |
svs_route_add_del |
definition changed |
svs_table_add_del |
definition changed |
sw_interface_bond_details |
definition changed |
sw_interface_dump |
definition changed |
sw_interface_ip6_set_link_local_address |
only in image |
sw_interface_ip6_set_link_local_address_reply |
only in image |
sw_interface_ip6nd_ra_prefix |
definition changed |
sw_interface_set_l2_bridge |
definition changed |
sw_interface_tap_v2_details |
definition changed |
syslog_get_filter_reply |
definition changed |
syslog_set_filter |
definition changed |
tap_create_v2 |
definition changed |
udp_encap_add |
definition changed |
udp_encap_details |
definition changed |
virtio_pci_create |
definition changed |
vmxnet3_details |
definition changed |
vxlan_gbp_tunnel_add_del |
definition changed |
vxlan_gbp_tunnel_details |
definition changed |
want_oam_events |
only in file |
want_oam_events_reply |
only in file |
Found 319 api message signature differences
Patches that changed API definitions
src/vpp/api/vpe_types.api
a47a5f20a api papi: add alias for timestamp(datetime)/timedelta
3cf9e67f5 api: add vl_api_version_t type
src/vpp/api/vpe.api
a47a5f20a api papi: add alias for timestamp(datetime)/timedelta
888640a39 map gbp papi: match endianess of f64
03f1af23b api: Implement log_dump/log_details
c87b66c86 ipsec: ipsec-tun protect
9ac113815 API: Add support for limits to language.
src/examples/sample-plugin/sample/sample.api
78d91cf9a sample-plugin: refactor .api to use explicit types
src/vnet/interface.api
0ad4a439d Fix vpp crash bug while deleting dhcp client
9a29f795a vpp_papi_provider.py: update defautmapping.
b8591ac91 API sw_interface_dump: Dump all if index is zero
4a7240636 Make sw_interface_dump more compatible with 2.2.0
6407ba56a api: Add to interface crud - read by sw_if_index.
src/vnet/qos/qos.api
src/vnet/bier/bier.api
src/vnet/ipfix-export/ipfix_export.api
21b83e96d api: implement ipfix_flush
src/vnet/session/session.api
8ac1d6d05 session: Use parent_handle instead of transport_opts
ba65ca496 Add transport_opts to connect_sock bapi
src/vnet/gre/gre.api
814f15948 gre: update gre.api with explicit types
d0aed2eb3 GRE: set gre_tunnel_type init value to zero in API
5a8844bdb GRE: API update
src/vnet/pg/pg.api
22e9cfd76 pg: add GSO support
src/vnet/l2/l2.api
bc764c8bc l2: BD ARP termination entry API update
54bc5e40c Update API description
5e6f7348c l2: Add support for arp unicast forwarding
src/vnet/udp/udp.api
10dc2eabd udp: fix copyright typo
src/vnet/devices/tap/tapv2.api
97d54ed43 tap: add support to configure tap interface host MTU size
src/vnet/devices/virtio/vhost_user.api
4208a4ce8 devices interface tests: vhosst GSO support
src/vnet/devices/virtio/virtio.api
bbd6b746e virtio: Add gso support for native virtio driver
43b512cac virtio: remove configurable queue size support
src/vnet/mfib/mfib_types.api
097fa66b9 fib: fib api updates
src/vnet/ipsec/ipsec.api
c87b66c86 ipsec: ipsec-tun protect
f2922422d ipsec: remove the set_key API
80f6fd53f IPSEC: Pass the algorithm salt (used in GCM) over the API
src/vnet/ethernet/p2p_ethernet.api
8edca1361 p2p ethernet: update p2p_ethernet.api with explicit types.
src/vnet/bonding/bond.api
751e3f382 bonding: add support for numa-only in lacp mode
src/vnet/mpls/mpls.api
097fa66b9 fib: fib api updates
src/vnet/ipip/ipip.api
288e09362 ipip: refactor ipip.api with explicit types
cbd0824d6 IPIP tunnel: use address types on API
src/vnet/fib/fib_types.api
src/vnet/dhcp/dhcp.api
038e1dfbd dhcp ip: DSCP settings for transmitted DHCP packets
56bc738dc Fix VPP-1487 DHCP client does not support option 6-domain server
src/vnet/ip/punt.api
719beb709 ip ipsec: Remove IPSec SPI-0 punt reason
b538dd868 Punt: specify packets by IP protocol Type
50f0ac0f0 Punt: socket register for exception dispatched/punted packets based on reason
src/vnet/ip/ip.api
src/vnet/ip/ip_types.api
515eed425 api: add prefix matcher typedef
038e1dfbd dhcp ip: DSCP settings for transmitted DHCP packets
53c501512 api: add DSCP definitions to ip_types.api
ab05508e1 api: refactor format_vl_api_prefix_t return keys
b538dd868 Punt: specify packets by IP protocol Type
50f0ac0f0 Punt: socket register for exception dispatched/punted packets based on reason
src/plugins/l3xc/l3xc.api
59fa121f8 L3 cross connect
src/plugins/map/map.api
4d376f67a map: Use vl_api_string macros.
src/plugins/http_static/http_static.api
src/plugins/igmp/igmp.api
4ff09ae34 API: Python and Unix domain socket improvement
src/plugins/sctp/sctp.api
3ffe6cadf sctp: move to plugins, disabled by default
src/plugins/lb/lb.api
3efcd0d7c lb: vip and as dump/detail api's
a0cb32cb9 lb: update api.c to use scaffolding from latest skel
src/plugins/lb/lb_types.api
3efcd0d7c lb: vip and as dump/detail api's
src/plugins/mactime/mactime.api
src/plugins/gbp/gbp.api
3918bdbcb gbp: update gbp-ext-itf API
3c0d84c98 gbp: add anonymous l3-out subnets
cfc7a107e gbp: add anonymous l3-out external interfaces
160c923f9 gbp: VRF scoped contracts
src/plugins/acl/acl_types.api
bb2e5221a api acl: breakout acl_types.api for reuse by others
src/plugins/acl/acl.api
src/plugins/nat/nat.api
e6e09a4ac nat: elog rewrite for multi-worker support
c1f93067e Add default value for API Nat flags
dd1e3e780 NAT: VPP-1531 api cleanup & update
89fec713f Revert "NAT: VPP-1531 api cleanup & update"
bed1421b9 NAT: VPP-1531 api cleanup & update
src/plugins/abf/abf.api
097fa66b9 fib: fib api updates
src/plugins/nsim/nsim.api
7c91007e1 Make the loss / delay sim available as an output feature