blob: e760de282a68c5003b228eee46e3daf8f37b1965 [file] [log] [blame]
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