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