aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-01-19Merge "trex: Improve error handling"Martin Klozik2-3/+12
2018-01-18trex: Improve error handlingMartin Klozik2-3/+12
Print an error message in case, that vsperf is not able to connect to the T-Rex server. User is instructed to check if T-Rex server is up and running. Change-Id: I70c6d27fa8331921d43e25c5eaa3638ded6c015b Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Jose Lausuch <jalausuch@suse.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2018-01-18ixia: Add support of LISTs in TRAFFICMartin Klozik2-0/+16
The control script for Ixia (i.e. Ixia and IxNet classes) is written in TCL and thus VSPERF must translate TRAFFIC dictionary into TCL notation. The method for data type conversion was updated to correctly process new 'capture' settings, which uses python lists for tx and rx capture ports definition. JIRA: VSPERF-556 Change-Id: I639942b11ea11ce1b443a2a2e99c3da6619ba569 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com> Reviewed-by: Richard Elias <richardx.elias@intel.com>
2018-01-12trex: Add support for traffic captureMartin Klozik6-11/+155
A support of traffic capture was added into T-Rex. It allows to write a functional tests, which will verify proper vSwitch functionality by inspection of packets received by T-Rex. A testcase example was added into integration testcases. JIRA: VSPERF-556 Change-Id: I5ad28479ca2ec29760b68f24510af1a6d74866ae Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com> Reviewed-by: Richard Elias <richardx.elias@intel.com>
2018-01-11capture: Traffic capture examplesMartin Klozik6-4/+187
Traffic can be captured also at DUT side. Two options are supported by vsperf: 1) Traffic is captured inside VM after it has been processed by vSwitch. This can be used for verification of vSwitch frame modification functionality, including HW offloading at ingress side. 2) Another NIC under the test (NIC2) is added into standard VSPERF DUT setup. Traffic is then forwarded from TGen through NIC and vSwitch to NIC2 and then over patch cable back to NIC2, the vSwitch, NIC and to the traffic generator. This setup supports also verification of HW offloading at egress side of NIC2 and thus it can be used for validation of smart NICS. Both options above are traffic generator agnostic if compared to direct support of traffic capture by traffic generator. This patch introduces example testcases for both options. Detailed documentation will be pushed as a standalone patch. JIRA: VSPERF-556 Change-Id: I23e12e45768ae4dbe9442f74d8391c3d5b2c7895 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Richard Elias <richardx.elias@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2018-01-05vswitch: Improve add_phy_port error messagesMartin Klozik4-7/+9
In case that vSwitch can't add required number of physical ports, then error message should be printed. Previous implementation was not consistent. Thus error handling has been united across all vswitches and message explicitly states the cause of the failure. NOTE: A better solution would be a refactoring of all vSwitch classes to follow VPP port handling and to move port related structures and physical port check into parent vswitch class. JIRA: VSPERF-555 Change-Id: Id09a61432ea93e261f563254829348ac61f5dc8a Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Jose Lausuch <jalausuch@suse.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2018-01-04Merge "trafficgen: Postponed call of connect()"Martin Klozik1-1/+6
2018-01-04Merge "documentation: Installation prerequisites"Martin Klozik1-8/+15
2018-01-03documentation: Installation prerequisitesRichard Elias1-8/+15
Added a mention of the default Python3 location used by virtualenv creation script after Python3 enforcement patch(/usr/bin/python3). Also added a paragraph warning of held-back kernel package version and DNF/APT/YUM configuration preventing modification of kernel packages. JIRA: MSP-10754 Change-Id: I1ba630cf85af4d99cc2cbed40163a9137b95c390 Signed-off-by: Richard Elias <richardx.elias@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com> Reviewed-by: Ian Stokes <ian.stokes@intel.com>
2017-12-22Merge "Trex_2544_verification: Add verification functionality to Trex code"Martin Klozik4-40/+118
2017-12-19Trex_2544_verification: Add verification functionality to Trex codeChristian Trautman4-40/+118
- Adds T-Rex verification step as implemented by other trafficgens - Adds check in rfc2544 loop for if no packets are received to fail test immediately - Refactors the trial code to support the verification option - Adds trial_run function - Removed unused line speed configuration setting JIRA: VSPERF-553 Change-Id: Ie324fe8fb6bf79fe0dc337b91af2bf83e901a8ab Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-12-19trafficgen: Postponed call of connect()Martin Klozik1-1/+6
In order to support execution of SW traffic generator inside VM, we have to postpone the call of connect() method from traffic controller. Currently it is called during initialization phase, when VMs are not active and thus connect() would always fail. This patch moves the call of connect() inside configure() method, which is called later when VMs are up and running. This modification allows to configure VM to VM scenario, where 1st VM is running a loopback application and 2nd one executes one of supported SW traffic generators, i.e. T-Rex or MoonGen. Change-Id: Ifeb659aadaa2e1cd5975564965e1719c1e72a12e Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-12-18Add support for SLES 15Jose Lausuch3-0/+118
Change-Id: I555fea7514475153ae74b6f3d2ab2df1c30bb1aa Signed-off-by: Jose Lausuch <jalausuch@suse.com>
2017-12-14rhel_path_fix: Fix pathing issue introduce by other commitChristian Trautman2-2/+2
Fixes pathing issue with virtual environment creation caused by commit 21b23522861e364daf150cd997c5d60851847ef2 Change-Id: Ia2c0c44da898e40e122571e477301343d047f974 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-12-14Merge "teststeps: Improvements of step driven TC"Martin Klozik3-6/+33
2017-12-13Add support for openSuse TumbleweedJose Lausuch3-0/+124
This patch aims at adding support for Tumbleweed, which is a rolling release. That means that the VERSION_ID is not fixed and can't be mapped to a directory e.g - VERSION_ID="20171120" - VERSION_ID="20171121" Change-Id: I99c9a4f1042c22b73879e954147c54c87b6a8b21 Signed-off-by: Jose Lausuch <jalausuch@suse.com>
2017-12-13Merge "trex_learning: Add learning packet option to T-Rex testing"Martin Klozik4-2/+35
2017-12-13trex_learning: Add learning packet option to T-Rex testingChristian Trautman4-2/+35
Adds packet learning option which is available on other Traffic generators as a feature. This adds this feature to the Trex implementation inside of VSPerf. JIRA: VSPERF-547 Change-Id: Iaf4d0721b22eb780c25e29295c112d4fcb47b22c Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-12-12teststeps: Improvements of step driven TCMartin Klozik3-6/+33
This patch adds support of access to VMs deployed automatically by deployment scenario (e.g. pvp, pvvp4, etc.). It also modifies filter for checking output of executed commands to correctly handle different end of line encodings (i.e. \n vs. \n\r). JIRA: VSPERF-539 Change-Id: Ifc796d992b90e316bad5853aaefce79e439e294d Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-12-07install: Python virtualenv python3 enforcementRichard Elias9-13/+13
It was reported that virtualenv-3.x sometimes uses python2.7 instead of python3. This update of the python virtual environment creation scripts, enforces the use of python3 from /usr/bin/python3. The scripts were tested on fresh installations of each currently supported Linux OS. JIRA:VSPERF-551 Change-Id: If909dd9578a3c42b14c1a3e4f9ed7b07a675fb58 Signed-off-by: Richard Elias <richardx.elias@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-12-01tools: Update versions of toolsMartin Klozik2-4/+10
Default versions of DPDK, OVS, VPP and QEMU have been updated. VPP socket file configuration is mandatory for VPP 17.10. Change-Id: I3465161ae9ba9b50dfd90bb19d84f128c72d44ea Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
2017-11-28ovs_vanilla: Fix vswitch shutdown processMartin Klozik1-1/+6
Datapath must be removed before vswitch termination. JIRA: VSPERF-548 Change-Id: I7408ddc1b21e2bc02a44785dca07d9c026bc28c1 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-22Merge "trex_stat_packet_counts: Add packet counts to trex reporting"Martin Klozik1-0/+4
2017-11-21Merge "sriov: Determine path to the bind-tool"Martin Klozik1-0/+3
2017-11-21Merge "regression: OVS/DPDK regression tests"Martin Klozik4-0/+9134
2017-11-21sriov: Determine path to the bind-toolMartin Klozik1-0/+3
In case of SRIOV path to the bind-tool must be known before NIC driver is re-initialized. It means before TestCase.__init__() is called. Change-Id: Ib6fdba233e665144510dd492462c0a21aa19ed71 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-20trex_stat_packet_counts: Add packet counts to trex reportingChristian Trautman1-0/+4
Adds packet count totals for transmit and receive to reporting at the end of test execution. JIRA: VSPERF-546 Change-Id: I51027fae109d0ea794c0db03f5781ddb2fcbb941 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-11-20install: Fedora installation script updateRichard Elias4-0/+109
An update of the Fedora installation scripts for versions 24,25 and 26. Change-Id: Ib510d78f4040e1029bc68d2fa303a4c0a6357de3 Signed-off-by: Richard Elias <richardx.elias@intel.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-20regression: OVS/DPDK regression testsMartin Klozik4-0/+9134
A set of regression tests for verification of OVS/DPDK features was introduced. Following features are tested: * DPDK NIC Support * DPDK Hotplug Support * RX Checksum Support * Flow Control Support * Multiqueue Support * Vhost User * Virtual Devices Support * NUMA Support * Jumbo Frame Support * Rate Limiting * Quality of Service JIRA: VSPERF-539 Change-Id: I6c83e9c38e29f197a5236ac68c88d7045fef775b Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Signed-off-by: Martin Goldammer <martinx.goldammer@intel.com> Signed-off-by: Richard Elias <richardx.elias@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-20ci: Skip VPP tests if neededMartin Klozik2-0/+26
If VPP can't be executed properly, then VPP tests will be skipped for VERIFY and MERGE jobs. It sometimes happens, that VPP can't be executed at builders used for VERIFY & MERGE jobs execution. These failures are not caused by patches themselves, but they are blocking standard review & merge process. Thus VPP tests will be suppressed in case that VPP can't be started at all. This change is not related to DAILY job, which is executed at POD dedicated to VSPERF project. It means that VPP tests are always executed by DAILY job. Change-Id: I4752601561b94a82482c403305bc3f24779f538b Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-20Merge "paths: Modify algorithm for PATHS verification"Martin Klozik4-16/+33
2017-11-15Merge "teststeps: Improvements and bugfixing of teststeps"Martin Klozik23-212/+469
2017-11-14vpp: Define vppctl socket nameMartin Klozik2-1/+9
Newer versions of VPP require an explicit definition of CLI socket file for proper functionality. Otherwise vppctl is not able to connect to running vpp process and thus vsperf is not able to configure and control vpp. Change-Id: Id0df75fd0894e22b1b4d7fa05e16f49efe20d3ab Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-09paths: Modify algorithm for PATHS verificationMartin Klozik4-16/+33
VSPERF verifies if PATHS to the tools (vSwitch, VNF, etc.) are valid. This check was modified to take into the account tools required by selected testcase. It will help to avoid runtime errors triggered by missing tools, which are not essential for testcase execution. Change-Id: Ifcfea983cad1bdbc8c1f08c7a0281001005410df Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-07Merge "load_gen: Supporting loading of load_gen via loader."Martin Klozik10-28/+86
2017-11-06vpp: Multiqueue support for VPPMartin Klozik1-1/+7
VPP class was updated to configure RX queues of VPP interfaces based on VSWITCH_DPDK_MULTI_QUEUES value. Change-Id: I855dbaef86cf935b2639976e8b1757eb1af4e9ac Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-11-03load_gen: Supporting loading of load_gen via loader.Sridhar K. N. Rao10-28/+86
Currently all tools are loaded via loader utility, except load_gen. Load_gens were loaded directly through component_factory. This patch adds support to load load_gens through loader utility. The changes are as follows: 1. Configuration changes:The common.conf include configuration of directory. testcases.conf includes changes to load configuration, where tool is no more part of the load-configuration. The custom.conf has configuration of LOADGEN to be used - this configuration replaces the earlier 'tool' configuration parameter. 2. loader_utility_changes: In loader.py, loadgen_loader is defined, which is used in new get_loadgen function. 3. component_factory changes: in create_loadgen, similar to other tools, the function just retuns the object of loadgen_class. 4. Renaming of Dummy load_gen: Loader fails to load properly a dummy loadgen due to name-clash with dummy in pkt_gen. To avoid this name clash dummy is renamed to dummyloadgen. 5. testcase changes: create_loadgen is now called with output of loader's get_loadgen_class. 6. Fixed Pylint Errors and extra-space at the end. 7. Included CLI options support for --loadgen and --list-loadgens. Thanks to Martin K. 8. Added the missing loadgen parameter in testcases.conf. 9. Fixed the missing comma error. 10. Added CI change in build-vsperf.sh 11. Fixed configuration reading in stress/stress.py JIRA: VSPERF-533 Change-Id: I3fbb259618825a12fef55320a748a4f02509190b Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
2017-11-03teststeps: Improvements and bugfixing of teststepsMartin Klozik23-212/+469
This patch introduces several improvements and small bugfixes of teststeps. These changes were identified during implementation of OVS/DPDK regression tests. Patch content: * teststeps: step aliases were implemented * teststeps: improved filtering by regex for any step, which returns string or list of stings; filter will process all lines * teststeps: support for log object * teststeps: support for trafficgen get_results call * teststeps: configurable suppression of step validation * trafficgen: remove old results before traffic is executed * trafficgen: support for flow control on/off (IxNet) * trafficgen: support for configurable learning frames (IxNet) * trafficgen: support for runtime changes of TRAFFICGEN_PKT_SIZES, _DURATION and _LOSSRATE * vnf: flush pexpect output of previous commands * vnf: use execute_and_wait() to ensure correct cmds order * vnf: dpdk vHost User interface name set according to its type, e.g. dpdkvhostuserclient * vswitch: support for OVS restart * decap: simplify configuration of tunneling decapsulation tests * settings: values of all configuration options are restored after TC execution * modified formatting of test description used by --list * testcase name and description is logged before its execution * small bugfixes JIRA: VSPERF-539 Change-Id: I550ba0d897ece89abd3f33d6d66f545c4d863e7b Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-10-29INFO: Update PTLSridhar K. N. Rao1-2/+2
https://lists.opnfv.org/pipermail/opnfv-tech-discuss/2017-October/018501.html Change-Id: I9305ec2e13e19b32e142640dab63487bab9a2b6a Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
2017-10-20Merge "trex_multistream: Add multistream support to T-Rex"Martin Klozik4-6/+48
2017-10-20trex_multistream: Add multistream support to T-RexChristian Trautman4-8/+50
Adds incremental source multi-stream functionality to T-Rex traffic generator code in VSPerf. JIRA: VSPERF-532 Change-Id: Ib5ba326699d89350ac1715c9a4276e5fa46a133e Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-10-19conf: Fix default VPP configurationMartin Klozik1-1/+2
Number of VPP workers (aka PMD threads) was not specified explicitly in default configuration file. Configuration has been fixed to use the same cores as OVS with DPDK. Change-Id: Icd3e5d6f429435fbc1ff580891f4b182d1c48729 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
2017-10-05Merge "doc_review: Review docs for accuracy and grammar"Martin Klozik8-23/+35
2017-10-04doc_review: Review docs for accuracy and grammarChristian Trautman8-23/+35
Fix issues with grammar and accuracy. JIRA: VSPERF-536 Change-Id: Ia703d306bb7a14b11e09ab4077b8adfa5fb5e6af Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-10-03Merge "Removed drafts of test specificaiton now published as RFC8204. Also ↵Martin Klozik7-5051/+19
removed IETF license notice and added a file with link to RFC8204"
2017-10-01Removed drafts of test specificaiton now published as RFC8204. Also removed ↵Trevor Cooper7-5051/+19
IETF license notice and added a file with link to RFC8204 Change-Id: I44b4cb75afeff74a58f402a7cb8816ddfbe52b87 Signed-off-by: Trevor Cooper <trevor.cooper@intel.com>
2017-09-27Updated project description to clarify VSPERF independence from Open StackTrevor Cooper2-10/+10
Change-Id: Iab653c7ad1cf6cbdb9c15056337a2768a489a87a Signed-off-by: Trevor Cooper <trevor.cooper@intel.com>
2017-09-25trex_prom: Add promiscuous option for trex for SRIOV testsChristian Trautman4-0/+20
Adds option to enable promiscuous mode for Trex traffic generator to allow for SR-IOV tests to work correctly. Trex by default only accepts packets based on destination MAC address matching what is configured on server in /etc/trex-cfg.yaml. This removes that limitation since SR-IOV tests require mac addresses to be modified in the generated packets to correctly route packets to the relevant VFs. JIRA: VSPERF-531 Change-Id: I19b64f364c8a1b656994c82c96f47a68b92486d8 Signed-off-by: Christian Trautman <ctrautma@redhat.com>
2017-09-21Merge "trex: RFC2544 Throughput bugfixing"Martin Klozik3-13/+60
2017-09-20trex: RFC2544 Throughput bugfixingMartin Goldammer3-13/+60
Changes introduced by patch: * Ensure that correct results with given lossreate are returned * Add threshold value to specify the accurancy of RFC2544 Throughput measurement. Default value is 0.05. JIRA: VSPERF-530 Change-Id: I8148deba9039c3a0feb6394d6671aa10c5afaf0a Signed-off-by: Martin Goldammer <martin.goldammer6@gmail.com> Reviewed-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>