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:
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 | |
| 4dd4cf4f9 | GBP: fixes for l3-out routing |
| 93cc3ee3b | GBP Endpoint Learning |
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 |