ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
2
ContributorEricsson
3
FeatureDescriptionStatus Mid February 2018
4
User-space tunneling improvementsImprove the user-space tunnel handling with respect to robustness and flexibility. Add better tools to detect and trouble-shoot problems with tunnel connectivity.Patch v3 on ML
5
Detailed PMD performance statisticsCollect and display a wealth of PMD runtime statistics for analysis of performance and to support trouble-shooting of packet-drop bursts caused by events happening on sub-millisecond scale.Refactoring part in 2.9
Patch v8 on ML
6
Configurable link state change detection methodSelect between poll mode and LSC interrupt mode for checking ethernet port link state. LSC interrupt mode required for i40e PMD to avoid packet loss in conjunction with upcalls.Patch v5 on ML
7
Datapath flow cache and Cuckoo distributor Improve the flow cache and DPCLS lookup performance compared to the baseline also in situations with very many parallel packet flows and a large number of subtables. (Joint project with Intel)RFC patch v4 on ML
8
Upcall rate limitingProtect PMDs from uncontrolled slow-down through mass upcalls by rate-limiting them (better drop some first packets than many packets belonging to established flows). Can be considered an intermediate step towards a more ambitious "Upcall Performance" refactoringPatch v2 on ML
9
Improved packet drop statisticsAllow trouble-shooters and operators to quickly monitor the amount of packets dropped in OVS, split up for the various drop reasons
10
dp_hash based select groupIntroduce a default select group mechanism parameter per bridge to make the dp-hash based select group available to OF 1.3 controllers. This is needed for scalable load balancing (e.g. for ECMP) in OVS as the current default select group implementation requires one upcall per connection to be load-balanced, which limits the connection setup rate OVS can sustain.
11
Automatic re-distribution of Rx queues to balance load of PMDsMonitor PMD load imbalance and trigger a load-based re-distribution of Rx-queues over PMDs when individual PMDs are overloaded and cause packet drop that can be avoided by a better balanced distribution. This work builds on Kevin Traynor's PMD balancing based on measured rx queue load.
For optimal balancing results, we will allow cross-NUMA polling of physical ports RSS queues and use mempool per rx queue local to the polling PMD.
12
Rx queue prioritizationImplement a priority scheme for rx queues and a preferential PMD polling logic to reduce packet drop and latency increase in case of PMD congestion. (Joint project with Intel as presented on the 2017 Fall Conference)
13
Introduce lb_output datapath action Avoid expensive dp_hash recirculation for balance-tcp bond selection mode
14
Separate PMD isolation from Rx queue pinningMake it possible to pin individual heavy Rx queues without having to add dedicated PMDs or pin all other queues as well.
15
ContributorIntel
16
FeatureDescriptionStatus Mid February 2018
17
KeepaliveKeepalive feature is aimed at achieving Fastpath Service Assurance in OVS-DPDK deployments. It adds support for monitoring the packet processing threads by dispatching heartbeats at regular intervals and the status is updated periodically in OVSDB. In case of heartbeat misses the failure is detected and reported to higher level fault management systems/frameworks. The status can be monitored from OpenStack Ceilometer service. Feature development has been dropped. OVS is not the correct location for this functionaity.
18
vHost PMDThe vHost PMD brings vHost User ports under control of DPDK’s librte_ether library and in doing so DPDK’s librte_vhost library will no longer be directly referenced in OVS. Potential benefits include shared code among port types in netdev-dpdk and smoother upgrades between DPDK versions in OVS.Defferred, questions also raised WRT the advantage this provides to OVS.
19
Multi-segment MbufSupport for jumbo frames was added to netdev-dpdk in v2.6.0. In that implementation, a jumbo frame is stored within a single-segment mbuf. That mode will remain the default, but an option will now be added to allow a jumbo frame to be stored within a multi-segment mbuf. This reduces the requirement for large, contiguous blocks of memory, and may be useful in deployments with limited memory.Work continuing on this. RFC v4 submitted but changes requested.
20
Conn TrackAnalyze and improve Connection Tracker performance:
The Connection Tracker is a feature to manage stateful connections and implement security Firewalls.
This allows a better protection against attacks and helps in load balancing. The counterpart is a
significant impact on the overall performance. This work is aimed at analyzing possible bottlenecks – also considering the latest protocol implementations - to improve the Connection Tracker performance.
Dropped.
21
IPsecThis feature looks to introduce IPsec into OVS with DPDK. IPsec would function in transport mode and would be used in conjunction with existing encapsulation methods (initially VxLAN) to create a new interface type ‘vxlanipsec’. The DPDK cryptodev framework will be used to handle cipher/digest operations as part of the encap/decap actions in accordance with a security association. The cryptodev devices supported would be limited to virtual crypto devices such as the AESN-MB vdev. As such cipher and digest algorithms supported would be limited to the capabilities of the vdev. In terms of Security Association generation for IPsec policies, the feature will allow a user to specify security associations via command line options for the interface.Deferred pending introduction of DPDK IPsec libraries.
22
Zero copySupport for enabling DPDK’s ‘dequeue zero copy’ feature on vHost User ports which removes the costly memcpy operation from guest to host when enabled. Detailed information in the DPDK documentation: http://dpdk.org/doc/guides/prog_guide/vhost_lib.html#vhost-api-overviewUpstreamed as experimental for OVS 2.9.
23
DPDK 17.05.2 and 17.11DPDK 17.05.2 is the latest stable release of DPDK, and includes numerous bug-fixes and stability updates.
DPDK 17.11 . It will also include numerous new features, such as Generic Segmentation Offload (GSO) and extended vHost PMD port ID enablement.
Support for both 17.05.2 and 17.11 upstreamed for OVS 2.8 and 2.9 respectively.
24
Upcall performanceThe first packet in every flow that is handled by OVS is an upcall to the exception path. This is a performance bottleneck for some use cases. Analysis and improvements to the performance of this code path will be investigated.Dropped.
25
Service Assurance : ipfixVirtual switching reporting of flow telemetry via IPFixUpstreamed for OVS 2.9.
26
Extended NIC StatsExpose low level driver statistics registers to the user through the Extended NIC statistics API in DPDK for physical interfacesUpstreamed for OVS 2.9.
27
QoS: Prioritizing latency sensitive trafficProvide a method to request ingress scheduling on interfaces. Will include an implemtation of same for DPDK physical ports. This allows specific packet types to be forwarded to their destination port ahead of other packets and/or be less likely to be dropped in an overloaded situation.RFC submitted on ML, targetd for OVS 2.10.
28
NAT extended counters (sflow)Monitoring NAT flow telemetry via sFlow.Dropped.
29
Megaflow cache lookup improvement (cuckoo distributor patch)The Datapath Classifier tuple space search can become a performance bottleneck for a large number of subtables. This feature presents the idea of the two-layer hierarchical lookup, where a low overhead first level of indirection (called cuckoo distributor (CD)) is accessed first to indicate with high probability which subtable the key belongs to. CD improves the already existing Subtable Ranking when traffic has high entropy and is adaptively turned off when it finds the traffic mostly hit one subtable. Our results show a 2X-3X throughput improvement for the case of 20-30 subtables. patch: https://mail.openvswitch.org/pipermail/ovs-dev/2017-June/334030.htmlWork continuing. v2 submitted to ML. Currently under review.
30
NSHNetwork Service Header to enable service function chaining. This is experimental in OVS 2.8, but will likely see full support in 2.9. Currently the NSH RFC is still in draft.Upstreamed, now conforms to NSH draft.
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100