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.
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 |
---|---|
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
src/vlibmemory/memclnt.api
eaec2a6d9 bapi: add options to have vpp cleanup client registration
src/vpp/api/vpe.api
1aaf0e343 deprecate tapcli
f49ba0e81 stats: Deprecate old stats framework
413f4a5b2 API: Use string type instead of u8.
src/vnet/interface.api
3b0d7e42f Revert “API: Cleanup APIs interface.api”
e63325e3c API: Cleanup APIs interface.api
bb2c7b580 Update documentation for src/vnet/interface.api sw_interface_dump
f49ba0e81 stats: Deprecate old stats framework
53fffa1db API: Add support for type aliases
5100aa9cb vnet: store hw interface speed in kbps instead of using flags
src/vnet/interface_types.api
3b0d7e42f Revert “API: Cleanup APIs interface.api”
e63325e3c API: Cleanup APIs interface.api
53fffa1db API: Add support for type aliases
src/vnet/bonding/bond.api
ad9d52831 bonding: support custom interface IDs
src/vnet/ipip/ipip.api
53fffa1db API: Add support for type aliases
src/vnet/ipsec-gre/ipsec_gre.api
e524d45ef IPSEC-GRE: fixes and API update to common types.
src/vnet/syslog/syslog.api
b4515b4be Add RFC5424 syslog protocol support (VPP-1139)
src/vnet/devices/tap/tapv2.api
754f24b35 tapv2: add “tap_flags” field to the TAPv2 interface API
src/vnet/devices/virtio/virtio.api
d6c15af33 virtio: Native virtio driver
src/vnet/fib/fib_types.api
775f73c6b FIB: encode the label stack in the FIB path during table dump
src/vnet/ip/ip_types.api
8c8acc027 API: Change ip4_address and ip6_address to use type alias.
ffba3c377 MAP: Use explicit address/prefix types in API
src/vnet/ip/ip.api
48ae19e90 API: Add python2.7 support for enum flags via aenum
37029305c Use IP and MAC API types for neighbors
7c03ed47d VOM: mroutes
3460b014a api: ip_source_check_interface_add_del api is added.
609e1210c VPP-1507: Added binary api to dump configured ip_punt_redirect
2af0e3a74 flow-hash: Add symmetric flag for flow hashing
47527b24a IP-punt: add documentation to the API and fix IP address init
5bb1ecae8 IPv6: Make link-local configurable per-interface (VPP-1446)
75b9f45a1 ip: add container proxy dump API (VPP-1364)
src/vnet/ip/punt.api
e88865d7b VPP-1506: dump local punts and registered punt sockets
src/vnet/vxlan-gbp/vxlan_gbp.api
src/vnet/ethernet/ethernet_types.api
8006c6aa4 PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
src/vnet/ipsec/ipsec.api
1e3aa5e21 ipsec: USE_EXTENDED_SEQ_NUM -> USE_ESN
1ba5bc8d8 ipsec: add ipv6 support for ipsec tunnel interface
5d704aea5 updates now that flags are supported on the API
53f526b68 TEST: IPSEC NAT-T with UDP header
7c44d78ef IKEv2 to plugin
eba31eceb IPSEC: move SA counters into the stats segment
8d7c50200 IPSEC: no second lookup after tunnel encap
a09c1ff5b IPSEC: SPD counters in the stats sgement
17dcec0b9 IPSEC: API modernisation
4c422f9a3 Add IPSec interface FIB index for TX packet
b4a7a7dcf Add UDP encap flag
b4d305344 ipsec: infra for selecting backends
871bca9aa VPP-1450: binary api call for dumping SPD to interface registration
src/vnet/tcp/tcp.api
c5df8c71c host stack: update stale copyright
src/vnet/l2/l2.api
192b13f96 BVI Interface
5daf0c55c add default NONE flag for bd_flags
e26c81fc8 L2 BD API to flush all IP-MAC entries in the specified BD
8006c6aa4 PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
93cc3ee3b GBP Endpoint Learning
4d5b917b1 BD ARP entry use common API types
src/vnet/session/session.api
6442401c2 session: remove deprecated binary apis
d85de68ec vcl: wait for segments with segment handle
fa76a76bf session: segment handle in accept/connect notifications
c1f5a4336 session: cleanup use of api_client_index
c0d532d17 session: mark apis for deprecation
src/vnet/udp/udp.api
c5df8c71c host stack: update stale copyright
src/plugins/cdp/cdp.api
76ef6094c tests: cdp plugin. Replace cdp enable cli command with API call.
src/plugins/nat/nat.api
8feeaff56 Typos. A bunch of typos I’ve been collecting.
34931eb47 NAT44: active-passive HA (VPP-1571)
b686508c4 NAT44: nat44_add_del_lb_static_mapping enhancements (VPP-1514)
src/plugins/map/map.api
4dc5c7b90 MAP: Add optional user-supplied ‘tag’ field in MAPs.
fc7344f9b MAP: Convert from DPO to input feature.
f34597fc8 MAP: Add API support for MAP input feature.
5a2e278a0 MAP: Add API support for setting parameters.
a173a7a07 MAP: Use bool type in map.api instead of u8.
ffba3c377 MAP: Use explicit address/prefix types in API
src/plugins/gbp/gbp.api
1aa35576e GBP: Counters per-contract
8ea109e40 gbp: Add bd flags
7bd343509 GBP: custom-dump functions
fa0ac2c56 GBP: contracts API fixed length of allowed ethertypes
5d704aea5 updates now that flags are supported on the API
4ba67723d GBP: use sclass in the DP for policy
8da9fc659 GBP: learn from ARP and L2 packets
32f6d8e0c GBP: per-group EP retention policy
879d11c25 GBP: Sclass to src-epg conversions
1c17e2eca GBP: add allowed ethertypes to contracts
b6a479539 GBP: l3-out subnets
33b81da54 vom: Add support for redirect contracts in gbp
13a08cc09 GBP: redirect contracts
c29c0af40 GBP: Endpoints with VLAN tags and birdges that don’t learn
93cc3ee3b GBP Endpoint Learning
src/plugins/acl/acl.api
bb5d22daf New api in order to get max entries of connection table is added.
src/plugins/vmxnet3/vmxnet3.api
ee8ba6877 vmxnet3: auto bind support
854559d15 vmxnet3: RSS support
773291163 vmxnet3: multiple TX queues support
src/plugins/nsim/nsim.api
10c5ff143 nsim: add packet loss simulation, docs
src/plugins/igmp/igmp.api
97748cae2 IGMP: proxy device
src/plugins/lb/lb.api
f7f13347b tests: update test_lb.py to use api call lb_conf.
src/plugins/ct6/ct6.api
a55df1081 ipv6 connection tracking plugin
src/plugins/ikev2/ikev2.api
7c44d78ef IKEv2 to plugin