Release notes for VPP 16.09
Features
Integrated July 2016 DPDK release
DPDK-vhost is depreciated pending a complete rework of the original integration and addressing of rx performance deltas.
Patches required for DPDK 16.07:
Correctly setting the Packet Type in the IGB, IXGBE and i40e drivers.
Correctly setting checksum in the i40e driver.
NXP DPAA2 PMD Driver.
rte_delay (yield) functionality.
Add “in tree” plugins:
IPv6 ILA.
iOAM.
Load Balancer.
SNAT.
High-performance (line-rate) “neutron like” L4 port-filtering.
API refactoring - addressing some of the issues around JVPP bindings.
Accommodating plugins (e.g. NSH_SFC)
Binding for python
LISP
L2 LISP overlays
Multitenancy
Multihoming
RTR mode
Map-resolver failover algorithm
Support 64-bit vector lengths, huge shared-memory segments.
Dynamic IP Feature ordering
IP Features can now specify features they appear before and after
16.09 Builds
Ubuntu 14.04 LTS - Trusty Tahr
Ubuntu 16.04 LTS - Xenial Xerus
CentOS 7
More information on VPP wiki
Performance, characterize and document performance for this release (more information on CSIT page)
IPv4 and IPv6 Scale - performance tests.
Bidirectional 10k/100k/1M flows.
64B,570B, 1518B,9000B packet sizes.
IPv6 iACL - performance
DUT1 and DUT2 are configured with IPv6 routing, two static IPv6 /64 routes and IPv6 iAcl security whitelist ingress /64 filter entries applied on links.
TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv6 header and generated payload. MAC addresses are matching MAC addresses of the TG node interfaces.
L2XC VXLANoIPv4 - performance
DUT1 and DUT2 are configured with L2 cross-connect. VXLAN tunnels are configured between L2XCs on DUT1 and DUT2.
TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and generated payload. MAC addresses are matching MAC addresses of the TG node interfaces.
Documentation
Autogenerated CLI documentation.
Using doxygen to automate API/Node documentation.
Resolved all static analysis issues found by Coverity
Beginning of 16.09 cycle: 505 issues.
Release: 0 outstanding issues.
Known issues
Issues in fd.io are tracked in JIRA.
Issue |
Description |
---|---|
VPP-391 |
vpp debug version assert appeared in the process of start |
VPP-380 |
Mapping algorithm compute wrong ea-bits when IPv4 prefix 0.0.0.0/0 |
VPP-371 |
load_one_plugin:63: Loaded plugin: message from vppctl |
VPP-367 |
vpp packages need to depend on specific versions of each other |
VPP-312 |
IP6 FIB gets in indeterminate state by duplicating commands |
VPP-224 |
Lookup-in-vrf can not be set correctly |
VPP-206 |
Fix classify table delete |
VPP-203 |
Fix binary API for reading vpp node graph |
VPP-147 |
Inconsistent behaviour when adding L2 FIB filter entry |
VPP-99 |
VPP doesn’t discard DHCPOFFER message with wrong XID |
Issues fixed
Issues in fd.io are tracked in JIRA.
Issue |
Description |
---|---|
VPP-396 |
Ubuntu systems Graphviz bug |
VPP-390 |
vpp-lib rpm fails to include *.so symlinks, causing linking problems with out of tree builds |
VPP-388 |
IPSec output feature assumes packets have been ethernet rewritten |
VPP-385 |
ARP for indirect adjacencies not working correctly |
VPP-361 |
Memory leak on delete of VXLAN over IPv6 tunnel |
VPP-357 |
VNI not set correctly when removing LISP fwd entries |
VPP-349 |
sw_interface_vhost_user_dump not working |
VPP-345 |
net/enic: bad L4 checksum ptype set on ICMP packets |
VPP-340 |
MAP-T wrong destination address |
VPP-330 |
Use fifo to store LISP pending map-requests |
VPP-326 |
map_add_domain VAT command: unable to configure domain with mtu parameter |
VPP-318 |
The map_add_domain VAT command accepts invalid arguments |
VPP-315 |
Fix “show vxlan-gpe” issue |
VPP-310 |
Mapping algorithm compute wrong ea-bits |
VPP-239 |
LISP IP forwarding does not tag packets that hit negative mapping entries |
VPP-235 |
Invalid help in VAT for sw_interface_set_l2_bridge |
VPP-228 |
Mapping algorithm sends packet to wrong IPv6 address |
VPP-214 |
vpp-api-test: api_ipsec_sad_add_del_entry: vector “ck” not initialized |
VPP-200 |
VPP - TAP port create problem |
VPP-189 |
Coverity Issues for 16.09 |
VPP-184 |
u16 translating to char ,not short |
VPP-179 |
Adjacency share-count botch |
VPP-163 |
“show ip6 interface” ignores non-global addresses |
VPP-155 |
Netmap: Inconsistency in interface state between “show hardware” and “show interface” |
VPP-145 |
Dynamically compute IP feature ordering based on constraints |
VPP-137 |
VPP sends ARP with wrong requested IP |
VPP-118 |
JVpp: 0 length arrays not handled properly in VPP responses |
VPP-112 |
linux kernel info missing from build log |
VPP-110 |
vxlan encap node should never touch a deleted tunnel |
VPP-107 |
RPM build broken in master |
VPP-92 |
segment routing is not properly filling out the segment list |
VPP-91 |
segment routing add/del tunnel lookup doesn’t work |
VPP-84 |
af_packet throws a fatal error on EAGAIN |
VPP-74 |
Clang compile fails due to warning in vlib/unix/cli.c |
VPP-64 |
Top level “make pkg-deb” fails if CDPATH is set in user env. |
VPP-48 |
Traceroute does not terminate when VPP is the target |
VPP-23 |
CLI pager does not gracefully handle lines longer than the terminal width |