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
