Release notes for VPP 18.01
More than 560 commits since the 17.10 release.
Features
Infrastructure
DPDK 17.11
TCP Checksum Offload
Arm64/Arm-v8 support
SUSE packaging
bihash_vec8_8 variant
PCI rework to support VFIO
chi-squared test calculator
SNAT / NAT
One armed NAT
Twice NAT44
NAT hairpinning rework
NAT64 multi-thread
NAT64 IPFIX
NAT64 Fragmentation
NAT: DS-Lite
Remove old SNAT API
ACL-based NAT
VNET
DNS name resolver
BIER
GENEVE Tunnel
IPSec Openssl 1.1.0 api support
FIB improvements
tap v2
API
VPP stats (Broadcast & Multicast support)
SR MPLS
VPP Object Model (VOM)
Host Stack
VPP TCP Stack scale / congestion improvements
Refactor UDP
Namespace support
Session rules table
VPP Comms Library (VCL) improvements
ACL
ACL stats
Plugins
Kube-proxy
L2 Emulation
Memif
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
Message Name |
Result |
|---|---|
af_packet_set_l4_cksum_offload |
definition changed |
api_versions |
definition changed |
app_namespace_add_del |
definition changed |
application_attach |
definition changed |
bier_disp_entry_add_del |
definition changed |
bier_disp_entry_details |
only in image |
bier_disp_entry_dump |
only in image |
bier_disp_table_add_del |
definition changed |
bier_disp_table_details |
only in image |
bier_disp_table_dump |
only in image |
bier_imp_add |
definition changed |
bier_imp_del |
definition changed |
bier_imp_details |
only in image |
bier_imp_dump |
only in image |
bier_route_add_del |
definition changed |
bier_route_details |
only in image |
bier_route_dump |
only in image |
bier_table_add_del |
definition changed |
bier_table_details |
only in image |
bier_table_dump |
only in image |
bind_sock_reply |
definition changed |
connect_session_reply |
definition changed |
connect_sock |
definition changed |
connect_uri |
definition changed |
dhcp_proxy_details |
definition changed |
dhcp_proxy_set_vss |
definition changed |
dns_enable_disable |
definition changed |
dns_name_server_add_del |
definition changed |
dns_resolve_ip |
definition changed |
dns_resolve_name |
definition changed |
dslite_add_del_pool_addr_range |
definition changed |
dslite_set_aftr_addr |
definition changed |
geneve_add_del_tunnel |
definition changed |
geneve_tunnel_details |
only in image |
geneve_tunnel_dump |
only in image |
ip_add_del_route |
definition changed |
ip_container_proxy_add_del |
definition changed |
ip_mroute_add_del |
definition changed |
ip_neighbor_details |
definition changed |
ip_punt_police |
definition changed |
ip_punt_redirect |
definition changed |
ipsec_sa_details |
only in image |
ipsec_sa_dump |
only in image |
ipsec_sad_add_del_entry |
definition changed |
ipsec_tunnel_if_set_key |
definition changed |
ipsec_tunnel_if_set_sa |
definition changed |
kp_add_del_pod |
definition changed |
kp_add_del_vip |
definition changed |
kp_conf |
definition changed |
l2_emulation |
definition changed |
l2_fib_table_details |
definition changed |
l2fib_add_del |
definition changed |
memclnt_keepalive |
definition changed |
memfd_segment_create |
definition changed |
mpls_ip_bind_unbind |
definition changed |
mpls_route_add_del |
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 |
definition changed |
nat44_identity_mapping_details |
only in image |
nat44_identity_mapping_dump |
only in image |
nat44_interface_addr_details |
definition changed |
nat44_lb_static_mapping_details |
definition changed |
nat44_static_mapping_details |
definition changed |
nat64_add_del_interface_addr |
definition changed |
nat_get_reass |
definition changed |
nat_reass_details |
only in image |
nat_reass_dump |
only in image |
nat_set_reass |
definition changed |
reset_vrf |
definition changed |
session_rule_add_del |
definition changed |
session_rules_details |
only in image |
session_rules_dump |
only in image |
snat_add_address_range |
definition changed |
snat_add_del_interface_addr |
definition changed |
snat_add_det_map |
definition changed |
snat_add_static_mapping |
definition changed |
snat_address_details |
only in file |
snat_address_dump |
only in file |
snat_control_ping |
definition changed |
snat_det_close_session_in |
definition changed |
snat_det_close_session_out |
definition changed |
snat_det_forward |
definition changed |
snat_det_get_timeouts |
definition changed |
snat_det_map_details |
only in file |
snat_det_map_dump |
only in file |
snat_det_reverse |
definition changed |
snat_det_session_details |
only in file |
snat_det_session_dump |
only in file |
snat_det_set_timeouts |
definition changed |
snat_interface_add_del_feature |
definition changed |
snat_interface_add_del_output_feature |
definition changed |
snat_interface_addr_details |
only in file |
snat_interface_addr_dump |
only in file |
snat_interface_details |
only in file |
snat_interface_dump |
only in file |
snat_interface_output_feature_details |
only in file |
snat_interface_output_feature_dump |
only in file |
snat_ipfix_enable_disable |
definition changed |
snat_set_workers |
definition changed |
snat_show_config |
definition changed |
snat_static_mapping_details |
only in file |
snat_static_mapping_dump |
only in file |
snat_user_details |
only in file |
snat_user_dump |
only in file |
snat_user_session_details |
only in file |
snat_user_session_dump |
only in file |
snat_worker_details |
only in file |
snat_worker_dump |
only in file |
sockclnt_create |
definition changed |
sockclnt_delete |
definition changed |
sr_localsids_details |
only in image |
sr_localsids_dump |
only in image |
sr_mpls_policy_add |
definition changed |
sr_mpls_policy_assign_endpoint_color |
definition changed |
sr_mpls_policy_del |
definition changed |
sr_mpls_policy_mod |
definition changed |
sr_mpls_steering_add_del |
definition changed |
sr_set_encap_source |
definition changed |
stn_add_del_rule |
definition changed |
stn_rule_details |
only in image |
stn_rules_dump |
only in image |
sw_interface_set_geneve_bypass |
definition changed |
sw_interface_set_lldp |
definition changed |
sw_interface_set_rx_mode |
definition changed |
sw_interface_tap_v2_details |
only in image |
sw_interface_tap_v2_dump |
only in image |
tap_create_v2 |
definition changed |
tap_delete_v2 |
definition changed |
udp_encap_add_del |
definition changed |
udp_encap_details |
only in image |
udp_encap_dump |
only in image |
vnet_ip4_mfib_counters |
only in image |
vnet_ip6_mfib_counters |
only in image |
want_ip4_mfib_stats |
definition changed |
want_ip6_mfib_stats |
definition changed |
Found 142 api message signature differences
Patches that changed API definitions
./src/examples/sample-plugin/sample/sample.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/interface.api b8d4481aBreak up vpe.api ad8015be devices: Add binary API for set interface rx-mode 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/feature/feature.apib8d4481a Break up vpe.api./src/vnet/srv6/sr.api1a5e301f SRv6 improvements to binary API 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/bier/bier.apibe302d72 BIER coverity fix in route downlaod ceb4d05b BIER disposition default route fa1da15c BIER: API documentation fixes. 9128637e BIER in non-MPLS netowrks d792d9c0 BIER./src/vnet/vxlan-gpe/vxlan_gpe.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/unix/tap.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/lldp/lldp.api9a6fcef4 LLDP: Add Management Address TLV 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/dns/dns.apid2080159 Add reverse DNS (ip to name) resolution 6545716c VPP-1027: DNS name resolver./src/vnet/session/session.apidcf55ce2 vppcom: improve listener session handling 6e8c6679 session: add app ns index to ns create api c97a7398 session: add rule tags 6c36f53f session: add api to dump rules 1c710451 session: rules tables ade70e45 session: return local transport endpoint in connect reply cea194d8 session: add support for application namespacing 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/devices/af_packet/af_packet.api92b0275a af_packet: invalid TCP/UDP offload checksum on RX node recalculation 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/devices/netmap/netmap.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/devices/tap/tapv2.api73e7f427 tap_v2: include host-side parameters in the dump binary API 2df39094 tapv2: multiple improvements c99b4cd1 tap_v2: move code to vnet/devices/tap./src/vnet/devices/virtio/vhost_user.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/lisp-gpe/lisp_gpe.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/srmpls/sr_mpls.api42998828 SR-MPLS: binary API and automated steering./src/vnet/l2/l2.apib8d4481a Break up vpe.api 57938f63 l2fib: MAC: Fix uint64 to u8 byte array 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/udp/udp.api810086d8 UDP Encapsulation../src/vnet/policer/policer.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/bfd/bfd.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/geneve/geneve.api556033a0 Add API versioning to GENEVE tunnel implementation. b598f1d3 Initial GENEVE TUNNEL implementation and tests../src/vnet/gre/gre.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/map/map.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/flow/flow.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/pg/pg.apib8d4481a Break up vpe.api./src/vnet/dhcp/dhcp.api70bfcaf4 Add Support of DHCP VSS Type 0 where VPN-ID is ASCII 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/ipsec/ipsec.apica514fda Allow IPsec interface to have SAs reset 75d85609 Add API call to set keys on IPsec tunnel intf 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps 28029530 Add API support to dump IPsec SAs./src/vnet/mpls/mpls.apic42fc05b Remove the unused ‘create VRF if needed’ API parameters b8d4481a Break up vpe.api d792d9c0 BIER d0a59722 Revert “Enforce FIB table creation before use” f9342023 Enforce FIB table creation before use 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/ethernet/p2p_ethernet.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/span/span.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/lisp-cp/lisp.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/lisp-cp/one.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/vxlan/vxlan.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/ipsec-gre/ipsec_gre.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/classify/classify.apib8d4481a Break up vpe.api 8527f12b add classify session action set-sr-policy-index 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/ip/punt.apib8d4481a Break up vpe.api./src/vnet/ip/ip.apic42fc05b Remove the unused ‘create VRF if needed’ API parameters b8d4481a Break up vpe.api af8dfbf6 Add sw_if_index to the ip_neighbor_details_t response. d792d9c0 BIER 810086d8 UDP Encapsulation. 595992c5 ip: add container proxy api 0164a06d Remove unused ‘not_last’ parameter from ip_add_del_route d0a59722 Revert “Enforce FIB table creation before use” 054c03ac Source Lookup progammable via API f9342023 Enforce FIB table creation before use d91c1dbd punt and drop features: - new IPv4 and IPv6 feature arcs on the punt and drop nodes - new features: - redirect punted traffic to an interface and nexthop - police punted traffic. 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps 6f631156 Distributed Virtual Router Support./src/vnet/cop/cop.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vnet/l2tp/l2tp.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vpp/oam/oam.apib8d4481a Break up vpe.api./src/vpp/stats/stats.apiff233898 Stats for Multicast FIB 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/vpp/api/vpe.apib8d4481a Break up vpe.api d792d9c0 BIER 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps b598f1d3 Initial GENEVE TUNNEL implementation and tests../src/plugins/ioam/udp-ping/udp_ping.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/ioam/ip6/ioam_cache.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/ioam/lib-pot/pot.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/ioam/lib-trace/trace.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/ioam/export/ioam_export.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/pppoe/pppoe.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/dpdk/api/dpdk.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/acl/acl.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/gtpu/gtpu.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/l2e/l2e.api4ec38711 L2 emulation: remove usued ip-table-id from API 55d03788 L2 Emulation./src/plugins/flowprobe/flowprobe.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/nat/nat.api7b929793 Translate matching packets using NAT (VPP-1069) b932d26e NAT: Twice NAT44 (VPP-969) ab7a805f NAT44: identity NAT (VPP-1073) c6fb36fc NAT: Remove old SNAT API (VPP-1070) 0938dcf1 NAT64 to use IPv4 address from interface (VPP-1051) efcd1e9e SNAT: IP fragmentation (VPP-890) 8ebe6253 NAT: DS-Lite (VPP-1040) 5ba86f72 NAT: delete session API/CLI (VPP-1041) 36ea2d6d One armed NAT (VPP-1035) 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/memif/memif.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/kubeproxy/kp.apic91f5024 Support kube-proxy data plane./src/plugins/lb/lb.api0d056e5e vppapigen: support per-file (major,minor,patch) version stamps./src/plugins/stn/stn.api0906c5cf Plugin for IP-Address to Interface Punting./src/vlibmemory/memclnt.api 0d056e5evppapigen: support per-file (major,minor,patch) version stamps 59b2565c Repair vlib API socket server