## Features for Release VPP 19.01 ### Infrastructure - NUMA-aware, growable physical memory allocator (pmalloc) - FIB: sticky load-balance - C11 safe string handling: provide and use "safe" C string handling functions - vlib: allocate buffers on local numa, not on numa 1 - vppinfra: autodetect default hugepage size - Move RPC traffic off the shared-memory API queue - IPv6: Make link-local configurable per-interface - IGMP: improve CLI debug output - IPSec: split ipsec nodes into ip4/ip6 nodes - IPSec: infra for selecting backends - vhost-user: cleanup and performance optimizations - ethernet-input, memif improvements and optimizations - DPDK: bump to DPDK 18.11 - reassembly: harden reassembly code - stats: Deprecate old (event-based) stats framework - vlib: support Hyper-V/Azure VMBus - binary api clients: wait for vpp to start - graph dispatch trace: capture packet data and buffer metadata, output in pcap format - improve feature arc order constraint specification ### VNET & Plugins - pktgen: correctly replay a mix of single and multi-buffer packets - add wireshark dissector to extras - avf: optimizations - acl-plugin: use L2 feature arc instead of L2 classifier - acl-plugin: performance enhancement - dpdk: allow interface name to be specified from startup.conf - dpdk: blacklist PCI devices by type - dpdk: switch to in-memory mode, deprecate use of socket-mem - vnet: store hw interface speed in kbps instead of using flags - vmxnet3: enable promiscuous mode & cli enhancements - gbp: Add support for flow hash profile & l3-out subnets - map: Add API support for setting parameters. - map: Convert from DPO to input feature - nat: improve expired sessions reuse in NAT44 - nat: syslog - sessions logging - nsim: add packet loss simulation, docs - perfmon: x86_64 perf counter plugin - vnet: L2 feature arc infrastructure ### Host stack - TCP congestion control improvements - TCP Cubic congestion control algorithm - TCP fast path optimizations - Transport tx connection pacer. TCP uses it by default - Basic support for session flushing and TCP PSH segments - TCP/session api support for configuring custom local src ip/port - VCL/LDP basic support for multi-process applications - Overall code hardening, cleanup and bugfixing for tcp, session, vcl and ldp ### PAPI & Test framework - add specific API types for IP addresses, MAC address, interface index etc. - add timeout support for socket transport - add support for format/unformat functions - generic API types format/unformat support for VAT and custom dump - python3 test adjustments - make test: create virtualenv under /test/ - make test: print TEST= values for failed tests - add human-friendly annotations to log messages ### VOM - Add support for redirect contracts in gbp - deprecate TAP add ip-punt redirect dump - vxlan-gbp support