# Release Notes {#release_notes} * @subpage release_notes_2001 * @subpage release_notes_1908 * @subpage release_notes_19043 * @subpage release_notes_19042 * @subpage release_notes_19041 * @subpage release_notes_1904 * @subpage release_notes_19013 * @subpage release_notes_19012 * @subpage release_notes_19011 * @subpage release_notes_1901 * @subpage release_notes_1810 * @subpage release_notes_1807 * @subpage release_notes_1804 * @subpage release_notes_18012 * @subpage release_notes_18011 * @subpage release_notes_1801 * @subpage release_notes_1710 * @subpage release_notes_1707 * @subpage release_notes_1704 * @subpage release_notes_17011 * @subpage release_notes_1701 * @subpage release_notes_1609 * @subpage release_notes_1606 @page release_notes_2001 Release notes for VPP 20.01 TBD @page release_notes_1908 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](https://jira.fd.io). ## Issues fixed 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/1908) ## 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 | @c src/vpp/api/vpe_types.api || | ------- | ------- | | [b'a47a5f20a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'a47a5f20a') | api papi: add alias for timestamp(datetime)/timedelta | | [b'3cf9e67f5'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3cf9e67f5') | api: add vl_api_version_t type | | @c src/vpp/api/vpe.api || | ------- | ------- | | [b'a47a5f20a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'a47a5f20a') | api papi: add alias for timestamp(datetime)/timedelta | | [b'888640a39'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'888640a39') | map gbp papi: match endianess of f64 | | [b'03f1af23b'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'03f1af23b') | api: Implement log_dump/log_details | | [b'c87b66c86'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'c87b66c86') | ipsec: ipsec-tun protect | | [b'9ac113815'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'9ac113815') | API: Add support for limits to language. | | @c src/examples/sample-plugin/sample/sample.api || | ------- | ------- | | [b'78d91cf9a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'78d91cf9a') | sample-plugin: refactor .api to use explicit types | | @c src/vnet/interface.api || | ------- | ------- | | [b'0ad4a439d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'0ad4a439d') | Fix vpp crash bug while deleting dhcp client | | [b'9a29f795a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'9a29f795a') | vpp_papi_provider.py: update defautmapping. | | [b'b8591ac91'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'b8591ac91') | API sw_interface_dump: Dump all if index is zero | | [b'4a7240636'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4a7240636') | Make sw_interface_dump more compatible with 2.2.0 | | [b'6407ba56a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'6407ba56a') | api: Add to interface crud - read by sw_if_index. | | @c src/vnet/qos/qos.api || | ------- | ------- | | [b'83832e7ce'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'83832e7ce') | qos: Store function | | [b'5281a9029'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'5281a9029') | qos: QoS dump APIs | | @c src/vnet/bier/bier.api || | ------- | ------- | | [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | | [b'e6eefb6e3'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'e6eefb6e3') | Trivial Typo's in bier comments/docs. | | @c src/vnet/ipfix-export/ipfix_export.api || | ------- | ------- | | [b'21b83e96d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'21b83e96d') | api: implement ipfix_flush | | @c src/vnet/session/session.api || | ------- | ------- | | [b'8ac1d6d05'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'8ac1d6d05') | session: Use parent_handle instead of transport_opts | | [b'ba65ca496'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'ba65ca496') | Add transport_opts to connect_sock bapi | | @c src/vnet/gre/gre.api || | ------- | ------- | | [b'814f15948'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'814f15948') | gre: update gre.api with explicit types | | [b'd0aed2eb3'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'd0aed2eb3') | GRE: set gre_tunnel_type init value to zero in API | | [b'5a8844bdb'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'5a8844bdb') | GRE: API update | | @c src/vnet/pg/pg.api || | ------- | ------- | | [b'22e9cfd76'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'22e9cfd76') | pg: add GSO support | | @c src/vnet/l2/l2.api || | ------- | ------- | | [b'bc764c8bc'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bc764c8bc') | l2: BD ARP termination entry API update | | [b'54bc5e40c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'54bc5e40c') | Update API description | | [b'5e6f7348c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'5e6f7348c') | l2: Add support for arp unicast forwarding | | @c src/vnet/udp/udp.api || | ------- | ------- | | [b'10dc2eabd'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'10dc2eabd') | udp: fix copyright typo | | @c src/vnet/devices/tap/tapv2.api || | ------- | ------- | | [b'97d54ed43'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'97d54ed43') | tap: add support to configure tap interface host MTU size | | @c src/vnet/devices/virtio/vhost_user.api || | ------- | ------- | | [b'4208a4ce8'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4208a4ce8') | devices interface tests: vhosst GSO support | | @c src/vnet/devices/virtio/virtio.api || | ------- | ------- | | [b'bbd6b746e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bbd6b746e') | virtio: Add gso support for native virtio driver | | [b'43b512cac'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'43b512cac') | virtio: remove configurable queue size support | | @c src/vnet/mfib/mfib_types.api || | ------- | ------- | | [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | | @c src/vnet/ipsec/ipsec.api || | ------- | ------- | | [b'c87b66c86'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'c87b66c86') | ipsec: ipsec-tun protect | | [b'f2922422d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'f2922422d') | ipsec: remove the set_key API | | [b'80f6fd53f'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'80f6fd53f') | IPSEC: Pass the algorithm salt (used in GCM) over the API | | @c src/vnet/ethernet/p2p_ethernet.api || | ------- | ------- | | [b'8edca1361'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'8edca1361') | p2p ethernet: update p2p_ethernet.api with explicit types. | | @c src/vnet/bonding/bond.api || | ------- | ------- | | [b'751e3f382'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'751e3f382') | bonding: add support for numa-only in lacp mode | | @c src/vnet/mpls/mpls.api || | ------- | ------- | | [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | | @c src/vnet/ipip/ipip.api || | ------- | ------- | | [b'288e09362'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'288e09362') | ipip: refactor ipip.api with explicit types | | [b'cbd0824d6'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'cbd0824d6') | IPIP tunnel: use address types on API | | @c src/vnet/fib/fib_types.api || | ------- | ------- | | [b'1dbcf30b7'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'1dbcf30b7') | fib: Support the POP of a Psuedo Wire Control Word | | [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | | @c src/vnet/dhcp/dhcp.api || | ------- | ------- | | [b'038e1dfbd'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'038e1dfbd') | dhcp ip: DSCP settings for transmitted DHCP packets | | [b'56bc738dc'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'56bc738dc') | Fix VPP-1487 DHCP client does not support option 6-domain server | | @c src/vnet/ip/punt.api || | ------- | ------- | | [b'719beb709'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'719beb709') | ip ipsec: Remove IPSec SPI-0 punt reason | | [b'b538dd868'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'b538dd868') | Punt: specify packets by IP protocol Type | | [b'50f0ac0f0'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'50f0ac0f0') | Punt: socket register for exception dispatched/punted packets based on reason | | @c src/vnet/ip/ip.api || | ------- | ------- | | [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | | [b'3a343d42d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3a343d42d') | reassembly: prevent long chain attack | | @c src/vnet/ip/ip_types.api || | ------- | ------- | | [b'515eed425'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'515eed425') | api: add prefix matcher typedef | | [b'038e1dfbd'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'038e1dfbd') | dhcp ip: DSCP settings for transmitted DHCP packets | | [b'53c501512'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'53c501512') | api: add DSCP definitions to ip_types.api | | [b'ab05508e1'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'ab05508e1') | api: refactor format_vl_api_prefix_t return keys | | [b'b538dd868'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'b538dd868') | Punt: specify packets by IP protocol Type | | [b'50f0ac0f0'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'50f0ac0f0') | Punt: socket register for exception dispatched/punted packets based on reason | | @c src/plugins/l3xc/l3xc.api || | ------- | ------- | | [b'59fa121f8'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'59fa121f8') | L3 cross connect | | @c src/plugins/map/map.api || | ------- | ------- | | [b'4d376f67a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4d376f67a') | map: Use vl_api_string macros. | | @c src/plugins/http_static/http_static.api || | ------- | ------- | | [b'68b24e2c9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'68b24e2c9') | plugins: http_static. Migrate to use api string type. | | [b'22bc2c46e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'22bc2c46e') | Static http server | | @c src/plugins/igmp/igmp.api || | ------- | ------- | | [b'4ff09ae34'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4ff09ae34') | API: Python and Unix domain socket improvement | | @c src/plugins/sctp/sctp.api || | ------- | ------- | | [b'3ffe6cadf'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3ffe6cadf') | sctp: move to plugins, disabled by default | | @c src/plugins/lb/lb.api || | ------- | ------- | | [b'3efcd0d7c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3efcd0d7c') | lb: vip and as dump/detail api's | | [b'a0cb32cb9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'a0cb32cb9') | lb: update api.c to use scaffolding from latest skel | | @c src/plugins/lb/lb_types.api || | ------- | ------- | | [b'3efcd0d7c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3efcd0d7c') | lb: vip and as dump/detail api's | | @c src/plugins/mactime/mactime.api || | ------- | ------- | | [b'7681b1c46'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'7681b1c46') | mactime: add per-mac allow-with-quota feature | | [b'0c6ac791d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'0c6ac791d') | mactime: upstream new features | | @c src/plugins/gbp/gbp.api || | ------- | ------- | | [b'3918bdbcb'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3918bdbcb') | gbp: update gbp-ext-itf API | | [b'3c0d84c98'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3c0d84c98') | gbp: add anonymous l3-out subnets | | [b'cfc7a107e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'cfc7a107e') | gbp: add anonymous l3-out external interfaces | | [b'160c923f9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'160c923f9') | gbp: VRF scoped contracts | | @c src/plugins/acl/acl_types.api || | ------- | ------- | | [b'bb2e5221a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bb2e5221a') | api acl: breakout acl_types.api for reuse by others | | @c src/plugins/acl/acl.api || | ------- | ------- | | [b'bb2e5221a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bb2e5221a') | api acl: breakout acl_types.api for reuse by others | | [b'f995c7122'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'f995c7122') | acl: implement counters | | @c src/plugins/nat/nat.api || | ------- | ------- | | [b'e6e09a4ac'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'e6e09a4ac') | nat: elog rewrite for multi-worker support | | [b'c1f93067e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'c1f93067e') | Add default value for API Nat flags | | [b'dd1e3e780'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'dd1e3e780') | NAT: VPP-1531 api cleanup & update | | [b'89fec713f'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'89fec713f') | Revert "NAT: VPP-1531 api cleanup & update" | | [b'bed1421b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bed1421b9') | NAT: VPP-1531 api cleanup & update | | @c src/plugins/abf/abf.api || | ------- | ------- | | [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | | @c src/plugins/nsim/nsim.api || | ------- | ------- | | [b'7c91007e1'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'7c91007e1') | Make the loss / delay sim available as an output feature | @page release_notes_19043 Release notes for VPP 19.04.3 This is bug fix release. 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/1904) @page release_notes_19042 Release notes for VPP 19.04.2 This is bug fix release. 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/1904) @page release_notes_19041 Release notes for VPP 19.04.1 This is bug fix release. 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/1904) @page release_notes_1904 Release notes for VPP 19.04 More than 700 commits since the 19.01 release. ## Features ### Infrastructure - DPDK 19.02 integration - Buffer manager rework and improvements - Python3 migration (work in progress) - vppapigen - Python API wrappers - Docs generation - vpp_config - "make test" python3 readiness and refactoring - Add "make test-gcov" target to main Makefile - Refactor multiarch code - vfctl script: bind VF to vfio-pci after VF is created - cmake cross-compilation support - CLI control of graph dispatch elogs - AppImage packaging (disabled by default) - Complete upstreaming of wireshark dissector - Remove JVPP which is now an FD.io project - Punt infra: manage dispatch of exception packets ### VNET & Plugins - BVI Interface - Deprecate TAP cli - Experimental TAP interface TCP segmentation offload - Vmxnet3 driver plugin - LACP passive mode - ACL plugin refactoring - RDMA (ibverb) driver plugin - MLX5 with multiqueue - IPSEC - Intel IPSEC-MB engine plugin - Tunnel fragmentation - CLI improvements - Performance improvements - API modernisation and improvements - New Tests and test refactoring - Crypto - Introduce crypto infra - crypto_ia32 plugin - Add support for AEAD and AES-GCM - Implement rfc4231 test cases - Implement crypto tests per RFC2202 - Perfmon improvements - Python to C parser for intel CPUs - 2-way parallel stat collection - Collect data on selected thread(s) ### Host stack - Improve ldp/vls/vcl support for multi-process and multi-threaded applications - Major refactor/cleanup of session layer - Refactor cut-through sessions to use a custom transport - Baseline QUIC transport support ## Known issues For the full list of issues please refer to fd.io [JIRA](https://jira.fd.io). ## Issues fixed 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/1904) ## 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 -------------------------------------------------------------|------------------ accept_session | only in file accept_session_reply | only in file bind_sock_reply | definition changed bind_uri_reply | definition changed bvi_create | only in image bvi_create_reply | only in image bvi_delete | only in image bvi_delete_reply | only in image connect_session | only in file connect_session_reply | only in file ct6_enable | only in image ct6_enable_disable | only in image gbp_contract_add_del_reply | definition changed gbp_endpoint_group_del | definition changed gbp_endpoint_learn_set_inactive_threshold | only in file gbp_endpoint_learn_set_inactive_threshold_reply | only in file ikev2_plugin_get_version | only in image ikev2_plugin_get_version_reply | only in image ip4_arp_event | definition changed ip6_nd_event | definition changed ip6_ra_event | definition changed ip6nd_proxy_add_del | definition changed ip6nd_proxy_details | definition changed ip_container_proxy_add_del | definition changed ip_neighbor_add_del | definition changed ip_neighbor_details | definition changed ip_probe_neighbor | definition changed ip_source_and_port_range_check_add_del | definition changed ipsec_backend_details | definition changed ipsec_gre_add_del_tunnel | only in file ipsec_gre_add_del_tunnel_reply | only in file ipsec_gre_tunnel_add_del | only in image ipsec_gre_tunnel_add_del_reply | only in image ipsec_gre_tunnel_details | definition changed ipsec_sa_details | definition changed ipsec_sa_set_key | definition changed ipsec_sad_add_del_entry | only in file ipsec_sad_add_del_entry_reply | only in file ipsec_sad_entry_add_del | only in image ipsec_sad_entry_add_del_reply | only in image ipsec_select_backend | definition changed ipsec_spd_add_del_entry | only in file ipsec_spd_add_del_entry_reply | only in file ipsec_spd_details | definition changed ipsec_spd_entry_add_del | only in image ipsec_spd_entry_add_del_reply | only in image ipsec_tunnel_if_add_del | definition changed lb_conf | definition changed map_add_domain | definition changed map_domain_details | definition changed nat_ha_flush | only in image nat_ha_flush_reply | only in image nat_ha_get_failover | only in image nat_ha_get_failover_reply | only in image nat_ha_get_listener | only in image nat_ha_get_listener_reply | only in image nat_ha_resync | only in image nat_ha_resync_completed_event | only in image nat_ha_resync_reply | only in image nat_ha_set_failover | only in image nat_ha_set_failover_reply | only in image nat_ha_set_listener | only in image nat_ha_set_listener_reply | only in image reset_session | only in file reset_session_reply | only in file sw_interface_ip6nd_ra_prefix | definition changed sw_interface_set_dpdk_hqos_pipe | only in file sw_interface_set_dpdk_hqos_pipe_reply | only in file sw_interface_set_dpdk_hqos_subport | only in file sw_interface_set_dpdk_hqos_subport_reply | only in file sw_interface_set_dpdk_hqos_tctbl | only in file sw_interface_set_dpdk_hqos_tctbl_reply | only in file sw_interface_tap_details | only in file sw_interface_tap_dump | only in file sw_interface_virtio_pci_details | only in image sw_interface_virtio_pci_dump | only in image tap_connect | only in file tap_connect_reply | only in file tap_delete | only in file tap_delete_reply | only in file tap_modify | only in file tap_modify_reply | only in file virtio_pci_create | only in image virtio_pci_create_reply | only in image virtio_pci_delete | only in image virtio_pci_delete_reply | only in image vmxnet3_create | definition changed vmxnet3_details | definition changed want_ip4_arp_events | definition changed want_ip6_nd_events | definition changed Found 90 api message signature differences ### Patches that changed API definitions | @c src/vlibmemory/memclnt.api || | ------- | ------- | | [eaec2a6d9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=eaec2a6d9) | bapi: add options to have vpp cleanup client registration | | @c src/vpp/api/vpe.api || | ------- | ------- | | [1aaf0e343](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1aaf0e343) | deprecate tapcli | | [f49ba0e81](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e81) | stats: Deprecate old stats framework | | [413f4a5b2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=413f4a5b2) | API: Use string type instead of u8. | | @c src/vnet/interface.api || | ------- | ------- | | [3b0d7e42f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3b0d7e42f) | Revert "API: Cleanup APIs interface.api" | | [e63325e3c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e63325e3c) | API: Cleanup APIs interface.api | | [bb2c7b580](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb2c7b580) | Update documentation for src/vnet/interface.api sw_interface_dump | | [f49ba0e81](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e81) | stats: Deprecate old stats framework | | [53fffa1db](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1db) | API: Add support for type aliases | | [5100aa9cb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5100aa9cb) | vnet: store hw interface speed in kbps instead of using flags | | @c src/vnet/interface_types.api || | ------- | ------- | | [3b0d7e42f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3b0d7e42f) | Revert "API: Cleanup APIs interface.api" | | [e63325e3c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e63325e3c) | API: Cleanup APIs interface.api | | [53fffa1db](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1db) | API: Add support for type aliases | | @c src/vnet/bonding/bond.api || | ------- | ------- | | [ad9d52831](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad9d52831) | bonding: support custom interface IDs | | @c src/vnet/ipip/ipip.api || | ------- | ------- | | [53fffa1db](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1db) | API: Add support for type aliases | | @c src/vnet/ipsec-gre/ipsec_gre.api || | ------- | ------- | | [e524d45ef](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e524d45ef) | IPSEC-GRE: fixes and API update to common types. | | @c src/vnet/syslog/syslog.api || | ------- | ------- | | [b4515b4be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4515b4be) | Add RFC5424 syslog protocol support (VPP-1139) | | @c src/vnet/devices/tap/tapv2.api || | ------- | ------- | | [754f24b35](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=754f24b35) | tapv2: add "tap_flags" field to the TAPv2 interface API | | @c src/vnet/devices/virtio/virtio.api || | ------- | ------- | | [d6c15af33](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d6c15af33) | virtio: Native virtio driver | | @c src/vnet/fib/fib_types.api || | ------- | ------- | | [775f73c6b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=775f73c6b) | FIB: encode the label stack in the FIB path during table dump | | @c src/vnet/ip/ip_types.api || | ------- | ------- | | [8c8acc027](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8c8acc027) | API: Change ip4_address and ip6_address to use type alias. | | [ffba3c377](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c377) | MAP: Use explicit address/prefix types in API | | @c src/vnet/ip/ip.api || | ------- | ------- | | [48ae19e90](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=48ae19e90) | API: Add python2.7 support for enum flags via aenum | | [37029305c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=37029305c) | Use IP and MAC API types for neighbors | | [7c03ed47d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c03ed47d) | VOM: mroutes | | [3460b014a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3460b014a) | api: ip_source_check_interface_add_del api is added. | | [609e1210c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=609e1210c) | VPP-1507: Added binary api to dump configured ip_punt_redirect | | [2af0e3a74](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2af0e3a74) | flow-hash: Add symmetric flag for flow hashing | | [47527b24a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=47527b24a) | IP-punt: add documentation to the API and fix IP address init | | [5bb1ecae8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5bb1ecae8) | IPv6: Make link-local configurable per-interface (VPP-1446) | | [75b9f45a1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75b9f45a1) | ip: add container proxy dump API (VPP-1364) | | @c src/vnet/ip/punt.api || | ------- | ------- | | [e88865d7b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e88865d7b) | VPP-1506: dump local punts and registered punt sockets | | @c src/vnet/vxlan-gbp/vxlan_gbp.api || | ------- | ------- | | [4dd4cf4f9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4dd4cf4f9) | GBP: fixes for l3-out routing | | [93cc3ee3b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee3b) | GBP Endpoint Learning | | @c src/vnet/ethernet/ethernet_types.api || | ------- | ------- | | [8006c6aa4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6aa4) | PAPI: Add MACAddress object wrapper for vl_api_mac_address_t | | @c src/vnet/ipsec/ipsec.api || | ------- | ------- | | [1e3aa5e21](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1e3aa5e21) | ipsec: USE_EXTENDED_SEQ_NUM -> USE_ESN | | [1ba5bc8d8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1ba5bc8d8) | ipsec: add ipv6 support for ipsec tunnel interface | | [5d704aea5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d704aea5) | updates now that flags are supported on the API | | [53f526b68](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53f526b68) | TEST: IPSEC NAT-T with UDP header | | [7c44d78ef](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c44d78ef) | IKEv2 to plugin | | [eba31eceb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=eba31eceb) | IPSEC: move SA counters into the stats segment | | [8d7c50200](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8d7c50200) | IPSEC: no second lookup after tunnel encap | | [a09c1ff5b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a09c1ff5b) | IPSEC: SPD counters in the stats sgement | | [17dcec0b9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=17dcec0b9) | IPSEC: API modernisation | | [4c422f9a3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4c422f9a3) | Add IPSec interface FIB index for TX packet | | [b4a7a7dcf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4a7a7dcf) | Add UDP encap flag | | [b4d305344](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4d305344) | ipsec: infra for selecting backends | | [871bca9aa](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=871bca9aa) | VPP-1450: binary api call for dumping SPD to interface registration | | @c src/vnet/tcp/tcp.api || | ------- | ------- | | [c5df8c71c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c5df8c71c) | host stack: update stale copyright | | @c src/vnet/l2/l2.api || | ------- | ------- | | [192b13f96](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=192b13f96) | BVI Interface | | [5daf0c55c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5daf0c55c) | add default NONE flag for bd_flags | | [e26c81fc8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e26c81fc8) | L2 BD API to flush all IP-MAC entries in the specified BD | | [8006c6aa4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6aa4) | PAPI: Add MACAddress object wrapper for vl_api_mac_address_t | | [93cc3ee3b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee3b) | GBP Endpoint Learning | | [4d5b917b1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4d5b917b1) | BD ARP entry use common API types | | @c src/vnet/session/session.api || | ------- | ------- | | [6442401c2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6442401c2) | session: remove deprecated binary apis | | [d85de68ec](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d85de68ec) | vcl: wait for segments with segment handle | | [fa76a76bf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa76a76bf) | session: segment handle in accept/connect notifications | | [c1f5a4336](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c1f5a4336) | session: cleanup use of api_client_index | | [c0d532d17](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0d532d17) | session: mark apis for deprecation | | @c src/vnet/udp/udp.api || | ------- | ------- | | [c5df8c71c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c5df8c71c) | host stack: update stale copyright | | @c src/plugins/cdp/cdp.api || | ------- | ------- | | [76ef6094c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=76ef6094c) | tests: cdp plugin. Replace cdp enable cli command with API call. | | @c src/plugins/nat/nat.api || | ------- | ------- | | [8feeaff56](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8feeaff56) | Typos. A bunch of typos I've been collecting. | | [34931eb47](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=34931eb47) | NAT44: active-passive HA (VPP-1571) | | [b686508c4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b686508c4) | NAT44: nat44_add_del_lb_static_mapping enhancements (VPP-1514) | | @c src/plugins/map/map.api || | ------- | ------- | | [4dc5c7b90](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4dc5c7b90) | MAP: Add optional user-supplied 'tag' field in MAPs. | | [fc7344f9b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fc7344f9b) | MAP: Convert from DPO to input feature. | | [f34597fc8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f34597fc8) | MAP: Add API support for MAP input feature. | | [5a2e278a0](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5a2e278a0) | MAP: Add API support for setting parameters. | | [a173a7a07](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a173a7a07) | MAP: Use bool type in map.api instead of u8. | | [ffba3c377](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c377) | MAP: Use explicit address/prefix types in API | | @c src/plugins/gbp/gbp.api || | ------- | ------- | | [1aa35576e](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1aa35576e) | GBP: Counters per-contract | | [8ea109e40](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8ea109e40) | gbp: Add bd flags | | [7bd343509](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7bd343509) | GBP: custom-dump functions | | [fa0ac2c56](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa0ac2c56) | GBP: contracts API fixed length of allowed ethertypes | | [5d704aea5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d704aea5) | updates now that flags are supported on the API | | [4ba67723d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4ba67723d) | GBP: use sclass in the DP for policy | | [8da9fc659](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8da9fc659) | GBP: learn from ARP and L2 packets | | [32f6d8e0c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=32f6d8e0c) | GBP: per-group EP retention policy | | [879d11c25](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=879d11c25) | GBP: Sclass to src-epg conversions | | [1c17e2eca](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1c17e2eca) | GBP: add allowed ethertypes to contracts | | [b6a479539](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b6a479539) | GBP: l3-out subnets | | [33b81da54](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=33b81da54) | vom: Add support for redirect contracts in gbp | | [13a08cc09](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=13a08cc09) | GBP: redirect contracts | | [c29c0af40](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c29c0af40) | GBP: Endpoints with VLAN tags and birdges that don't learn | | [93cc3ee3b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee3b) | GBP Endpoint Learning | | @c src/plugins/acl/acl.api || | ------- | ------- | | [bb5d22daf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb5d22daf) | New api in order to get max entries of connection table is added. | | @c src/plugins/vmxnet3/vmxnet3.api || | ------- | ------- | | [ee8ba6877](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ee8ba6877) | vmxnet3: auto bind support | | [854559d15](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=854559d15) | vmxnet3: RSS support | | [773291163](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=773291163) | vmxnet3: multiple TX queues support | | @c src/plugins/nsim/nsim.api || | ------- | ------- | | [10c5ff143](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=10c5ff143) | nsim: add packet loss simulation, docs | | @c src/plugins/igmp/igmp.api || | ------- | ------- | | [97748cae2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=97748cae2) | IGMP: proxy device | | @c src/plugins/lb/lb.api || | ------- | ------- | | [f7f13347b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f7f13347b) | tests: update test_lb.py to use api call lb_conf. | | @c src/plugins/ct6/ct6.api || | ------- | ------- | | [a55df1081](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a55df1081) | ipv6 connection tracking plugin | | @c src/plugins/ikev2/ikev2.api || | ------- | ------- | | [7c44d78ef](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c44d78ef) | IKEv2 to plugin | @page release_notes_19013 Release notes for VPP 19.01.3 This is bug fix release. 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/1901) @page release_notes_19012 Release notes for VPP 19.01.2 This is bug fix release. 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/1901) @page release_notes_19011 Release notes for VPP 19.01.1 This is bug fix release. 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/1901) @page release_notes_1901 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](https://jira.fd.io). ## Issues fixed 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/1810) ## 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_domai