| 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 <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/1801>`__ |
| |
| |
| 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.api`` 0d056e5e vppapigen: |
| support per-file (major,minor,patch) version stamps |
| * ``./src/vnet/interface.api b8d4481a`` Break 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.api`` b8d4481a Break up vpe.api |
| * ``./src/vnet/srv6/sr.api`` 1a5e301f SRv6 improvements to binary API 0d056e5e |
| vppapigen: support per-file (major,minor,patch) version stamps |
| * ``./src/vnet/bier/bier.api`` be302d72 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.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/unix/tap.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/lldp/lldp.api`` 9a6fcef4 LLDP: Add Management Address TLV |
| 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps |
| * ``./src/vnet/dns/dns.api`` d2080159 Add reverse DNS (ip to name) resolution |
| 6545716c VPP-1027: DNS name resolver |
| * ``./src/vnet/session/session.api`` dcf55ce2 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.api`` 92b0275a 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.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/vnet/devices/tap/tapv2.api`` 73e7f427 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.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/vnet/lisp-gpe/lisp_gpe.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/srmpls/sr_mpls.api`` 42998828 SR-MPLS: binary API and automated |
| steering |
| * ``./src/vnet/l2/l2.api`` b8d4481a 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.api`` 810086d8 UDP Encapsulation. |
| * ``./src/vnet/policer/policer.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/bfd/bfd.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/geneve/geneve.api`` 556033a0 Add API versioning to GENEVE |
| tunnel implementation. b598f1d3 Initial GENEVE TUNNEL implementation and |
| tests. |
| * ``./src/vnet/gre/gre.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/map/map.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/flow/flow.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/pg/pg.api`` b8d4481a Break up vpe.api |
| * ``./src/vnet/dhcp/dhcp.api`` 70bfcaf4 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.api`` ca514fda 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.api`` c42fc05b 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.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/vnet/span/span.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/lisp-cp/lisp.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/lisp-cp/one.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/vxlan/vxlan.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/ipsec-gre/ipsec_gre.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/vnet/classify/classify.api`` b8d4481a 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.api`` b8d4481a Break up vpe.api |
| * ``./src/vnet/ip/ip.api`` c42fc05b 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.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps |
| * ``./src/vnet/l2tp/l2tp.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps |
| * ``./src/vpp/oam/oam.api`` b8d4481a Break up vpe.api |
| * ``./src/vpp/stats/stats.api`` ff233898 Stats for Multicast FIB 0d056e5e |
| vppapigen: support per-file (major,minor,patch) version stamps |
| * ``./src/vpp/api/vpe.api`` b8d4481a 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.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/plugins/ioam/ip6/ioam_cache.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/plugins/ioam/lib-pot/pot.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/plugins/ioam/lib-trace/trace.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/plugins/ioam/export/ioam_export.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api`` 0d056e5e |
| vppapigen: support per-file (major,minor,patch) version stamps |
| * ``./src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api`` 0d056e5e vppapigen: |
| support per-file (major,minor,patch) version stamps |
| * ``./src/plugins/pppoe/pppoe.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/plugins/dpdk/api/dpdk.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/plugins/acl/acl.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/plugins/gtpu/gtpu.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/plugins/l2e/l2e.api`` 4ec38711 L2 emulation: remove usued |
| ip-table-id from API 55d03788 L2 Emulation |
| * ``./src/plugins/flowprobe/flowprobe.api`` 0d056e5e vppapigen: support |
| per-file (major,minor,patch) version stamps |
| * ``./src/plugins/nat/nat.api`` 7b929793 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.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/plugins/kubeproxy/kp.api`` c91f5024 Support kube-proxy data plane |
| * ``./src/plugins/lb/lb.api`` 0d056e5e vppapigen: support per-file |
| (major,minor,patch) version stamps |
| * ``./src/plugins/stn/stn.api`` 0906c5cf Plugin for IP-Address to Interface |
| Punting |
| * ``./src/vlibmemory/memclnt.api 0d056e5e`` vppapigen: support per-file |
| (major,minor,patch) version stamps 59b2565c Repair vlib API socket |
| server |