From 0f8d0257c321e3c13bbef3fe01be2cc7606e8b04 Mon Sep 17 00:00:00 2001 From: Jan Gelety Date: Thu, 26 Apr 2018 14:46:56 +0200 Subject: Report 1804: SRv6 and func part update Change-Id: I3091299269c84ba2a7487cf5a5e8145df26e78e4 Signed-off-by: Jan Gelety --- .../vpp_functional_tests/csit_release_notes.rst | 10 +- .../vpp_functional_tests/test_environment.rst | 102 ++++++++++++++++++--- .../vpp_performance_tests/csit_release_notes.rst | 57 ++++++------ 3 files changed, 118 insertions(+), 51 deletions(-) diff --git a/docs/report/vpp_functional_tests/csit_release_notes.rst b/docs/report/vpp_functional_tests/csit_release_notes.rst index 1eb3b9705f..e8fb102d05 100644 --- a/docs/report/vpp_functional_tests/csit_release_notes.rst +++ b/docs/report/vpp_functional_tests/csit_release_notes.rst @@ -4,14 +4,12 @@ CSIT Release Notes Changes in CSIT |release| ------------------------- -#. VPP functional test framework changes: - - - improved stability of tests with nested-VM and QEMU; - #. Code updates and optimizations in CSIT functional framework: - - IPSecSW tests - Software based IPSec encryption with CBC-SHA1 and - CBC-SHA ciphers, in combination with IPv4 routed-forwarding; + - VPP install test - VPP installation have been moved to separate test in + test suite setup phase to clearly indicate any issue with VPP installation; + + - VPP verify test - test to check VPP responsiveness after installation; Known Issues ------------ diff --git a/docs/report/vpp_functional_tests/test_environment.rst b/docs/report/vpp_functional_tests/test_environment.rst index 5b29b2d80b..6a70336a25 100644 --- a/docs/report/vpp_functional_tests/test_environment.rst +++ b/docs/report/vpp_functional_tests/test_environment.rst @@ -240,30 +240,47 @@ Example of DUT nodes configuration::: | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description - +++-==============-=============-============-============================================= - ii vpp 17.07-release amd64 Vector Packet Processing--executables - ii vpp-dbg 17.07-release amd64 Vector Packet Processing--debug symbols - ii vpp-dev 17.07-release amd64 Vector Packet Processing--development support - ii vpp-dpdk-dev 17.07-release amd64 Vector Packet Processing--development support - ii vpp-dpdk-dkms 17.07-release amd64 DPDK 2.1 igb_uio_driver - ii vpp-lib 17.07-release amd64 Vector Packet Processing--runtime libraries - ii vpp-plugins 17.07-release amd64 Vector Packet Processing--runtime plugins + +++-==============-=============-============-================================================= + ii vpp 18.04-release amd64 Vector Packet Processing--executables + ii vpp-dbg 18.04-release amd64 Vector Packet Processing--debug symbols + ii vpp-dev 18.04-release amd64 Vector Packet Processing--development support + ii vpp-dpdk-dkms 18.02-vpp1 amd64 DPDK Development Package for VPP - Kernel Modules + ii vpp-lib 18.04-release amd64 Vector Packet Processing--runtime libraries + ii vpp-plugins 18.04-release amd64 Vector Packet Processing--runtime plugins **VPP Startup Configuration** -VPP startup configuration is common for all test cases. +VPP startup configuration is common for all test cases except test cases related +to SW Crypto device. + +**Default** :: $ cat /etc/vpp/startup.conf unix { nodaemon - log /tmp/vpp.log + log /var/log/vpp/vpp.log full-coredump + cli-listen /run/vpp/cli.sock + gid vpp } api-trace { + ## This stanza controls binary API tracing. Unless there is a very strong reason, + ## please leave this feature enabled. on + ## Additional parameters: + ## + ## To set the number of binary API trace records in the circular buffer, configure nitems + ## + ## nitems + ## + ## To save the api message table decode tables, configure a filename. Results in /tmp/ + ## Very handy for understanding api message changes between versions, identifying missing + ## plugins, and so forth. + ## + ## save-api-table } api-segment { @@ -306,7 +323,7 @@ VPP startup configuration is common for all test cases. # scheduler-priority 50 } - dpdk { + # dpdk { ## Change default settings for all intefaces # dev default { ## Number of receive queues, enables RSS @@ -337,9 +354,19 @@ VPP startup configuration is common for all test cases. # num-rx-queues 2 # } - ## Change UIO driver used by VPP, Options are: uio_pci_generic, vfio-pci - ## and igb_uio (default) - # uio-driver uio_pci_generic + ## Specify bonded interface and its slaves via PCI addresses + ## + ## Bonded interface in XOR load balance mode (mode 2) with L3 and L4 headers + # vdev eth_bond0,mode=2,slave=0000:02:00.0,slave=0000:03:00.0,xmit_policy=l34 + # vdev eth_bond1,mode=2,slave=0000:02:00.1,slave=0000:03:00.1,xmit_policy=l34 + ## + ## Bonded interface in Active-Back up mode (mode 1) + # vdev eth_bond0,mode=1,slave=0000:02:00.0,slave=0000:03:00.0 + # vdev eth_bond1,mode=1,slave=0000:02:00.1,slave=0000:03:00.1 + + ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci, + ## uio_pci_generic or auto (default) + # uio-driver vfio-pci ## Disable mutli-segment buffers, improves performance but ## disables Jumbo MTU support @@ -347,12 +374,57 @@ VPP startup configuration is common for all test cases. ## Increase number of buffers allocated, needed only in scenarios with ## large number of interfaces and worker threads. Value is per CPU socket. - ## Default is 32768 + ## Default is 16384 # num-mbufs 128000 ## Change hugepages allocation per-socket, needed only if there is need for ## larger number of mbufs. Default is 256M on each detected CPU socket # socket-mem 2048,2048 + + ## Disables UDP / TCP TX checksum offload. Typically needed for use + ## faster vector PMDs (together with no-multi-seg) + # no-tx-checksum-offload + # } + + + # plugins { + ## Adjusting the plugin path depending on where the VPP plugins are + # path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins + + ## Disable all plugins by default and then selectively enable specific plugins + # plugin default { disable } + # plugin dpdk_plugin.so { enable } + # plugin acl_plugin.so { enable } + + ## Enable all plugins by default and then selectively disable specific plugins + # plugin dpdk_plugin.so { disable } + # plugin acl_plugin.so { disable } + # } + + ## Alternate syntax to choose plugin path + # plugin_path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins + +**SW Crypto Device** + +:: + + $ cat /etc/vpp/startup.conf + unix + { + cli-listen /run/vpp/cli.sock + gid vpp + nodaemon + full-coredump + log /tmp/vpp.log + } + api-segment + { + gid vpp + } + dpdk + { + vdev cryptodev_aesni_gcm_pmd,socket_id=0 + vdev cryptodev_aesni_mb_pmd,socket_id=0 } TG Configuration diff --git a/docs/report/vpp_performance_tests/csit_release_notes.rst b/docs/report/vpp_performance_tests/csit_release_notes.rst index 8fd8a3b634..f4036ebd4d 100644 --- a/docs/report/vpp_performance_tests/csit_release_notes.rst +++ b/docs/report/vpp_performance_tests/csit_release_notes.rst @@ -4,43 +4,38 @@ CSIT Release Notes Changes in CSIT |release| ------------------------- -#. Added VPP performance tests +#. **Added VPP performance tests** - - **Container Service Chain Topologies Orchestrated by K8s with VPP Memif** + - **MRR tests** : New MRR tests measure the packet forwarding rate + under the maximum load offered by traffic generator over a set + trial duration, regardless of packet loss. Maximum load for + specified Ethernet frame size is set to the bi-directional link + rate. MRR tests are used for continuous performance trending and + for comparison between releases. - - Added tests with VPP vswitch in container connecting a number of VPP- - in-container service chain topologies with L2 Cross-Connect and L2 - Bridge-Domain configurations, orchestrated by Kubernetes. Added - following forwarding topologies: i) "Parallel" with packets flowing from - NIC via VPP to container and back to VPP and NIC; ii) "Chained" (a.k.a. - "Snake") with packets flowing via VPP to container, back to VPP, to next - container, back to VPP and so on until the last container in a chain, - then back to VPP and NIC; iii) "Horizontal" with packets flowing via VPP - to container, then via "horizontal" memif to next container, and so on - until the last container, then back to VPP and NIC; + - **Service Chaining with SRv6** : SRv6 (Segment Routing IPv6) proxy tests + verifying performance of Endpoint to SR-unaware appliance via + masquerading (End.AM), dynamic proxy (End.AD) or static proxy (End.AS) + functions. - - **MRR tests** +#. **Presentation and Analytics Layer (PAL)** - - ; + - Added continuous performance measuring, trending and anomaly + detection. Includes new PAL code and Jenkins jobs for Performance + Trending (PT) and Performance Analysis (PA) producing performance + trending dashboard and trendline graphs with summary and drill- + down views across all specified tests that can be reviewed and + inspected regularly by FD.io developers and users community. - - **SRv6** +#. **Test Framework Optimizations** - - Initial SRv6 (Segment Routing IPv6) tests verifying performance of - IPv6 and SRH (Segment Routing Header) encapsulation, decapsulation, - lookups and rewrites based on configured End and End.DX6 SRv6 egress - functions; + - **Performance tests efficiency** : Qemu build/install + optimizations, warmup phase handling, vpp restart handling. + Resulted in improved stability and reduced total execution time by + 30% for single pkt size e.g. 64B/78B. -#. Presentation and Analytics Layer - - - Added throughput speedup analysis for multi-core and multi-thread - VPP tests into Presentation and Analytics Layer (PAL) for automated - CSIT test results analysis; - -#. Other changes - - - **Framework optimizations** - - - Performance test duration improvements and stability; + - **General code housekeeping** : ongoing RF keywords + optimizations, removal of redundant RF keywords. Performance Changes ------------------- @@ -98,6 +93,8 @@ pretty ASCII formats: Known Issues ------------ + + Here is the list of known issues in CSIT |release| for VPP performance tests: +---+-------------------------------------------------+------------+-----------------------------------------------------------------+ -- cgit 1.2.3-korg