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