You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

/* start of template */

Introduction

<Details about Additional tests required for this Blue Print in addition to the Akraino Validation Feature Project>

Akarino Test Group Information

<The Testing Ecosystem>

Testing Working Group Resources

Overall Test Architecture

Describe  the components of Test set up

Test Bed

Test Framework

Traffic Generator


Test API description

<Akraino common tests>

The Test inputs

Test Procedure

Expected output

Test Results

<Blueprint extension tests>

The Test inputs

Test Procedure

Expected output

Test Results

<Feature Project Tests>

The Test inputs

Test Procedure

Expected output

Test Results


<BluVal Tests>

The Test inputs

Test Procedure

Expected output

Test Results


Test Dashboards 

Single pane view of how the test score looks like for the Blue print. replaced by test results Peng He

Total Tests

Test Executed

Pass

Fail

In Progress







Additional Testing

Bottlenecks/Errata 

/* End of template */

Introduction

The R3 release will evaluation the throughput and packet forwarding performance of the Mellanox BlueField SmartNIC card.

A DPDK based Open vSwitch (OVS-DPDK) is used as the virtual switch, and the network traffic is virtualized with the VXLAN encapsulation.

Currently, the community version OVS-DPDK is considered experimental and not mature enough, it only supports "partial offload" which cannot

utilize the full performance advantage of Mellanox NICs. Thus the OVS-DPDK we used is a fork of the community Open vSwitch. We develop

our own offload code which enables the full hardware offload with DPDK rte_flow APIs. 

We have plans to open source this OVS-DPDK. More detailed will be provided in the future documentation.

Akarino Test Group Information

Overall Test Architecture

To deploy the Test architecture, we use a private Jenkins and an Intel server equipped with a BlueField v1 SmartNIC.

We use Ansible to automatically setup the filesystem image and install the OVS-DPDK in the SmartNICs.

The File Server is a simple Nginx based web server where stores the BF drivers, FS image.

The Git repo is our own git repo where hosts OVS-DPDK and DPDK code.

The Jenkins will use ansible plugin to download BF drivers and FS image in the test server and setup the environment

according to the ansible playbook.

Imagedownload link
BlueField-2.5.1.11213.tar.xzhttps://www.mellanox.com/products/software/bluefield
core-image-full-dev-BlueField-2.5.1.11213.2.5.3.tar.xzhttps://www.mellanox.com/products/software/bluefield
mft-4.14.0-105-x86_64-deb.tgz
MLNX_OFED_LINUX-5.0-2.1.8.0-debian8.11-x86_64.tgz



Test Bed


The testbed setup is shown in the above diagram. DUT stands for Device Under Test


TypeDescription
SmartNICsBlueField v1, 25Gbps
DPDKversion 19.11
vSwitchOVS-DPDK 2.12 with VXLAN DECAP/ENCAP offload enabled.


OVS-DPDK Setup

root@bluefield:/home/ovs-dpdk# ovs-vsctl show
2dccd148-526c-44a5-9351-67b04c5e2da4
    Bridge br-int
        datapath_type: netdev
        Port vxlan-vtp
            Interface vxlan-vtp
                type: vxlan
                options: {dst_port="4789", key=flow, local_ip="192.168.1.1", remote_ip=flow, tos=inherit}
        Port br-int
            Interface br-int
                type: internal
        Port pf1hpf
            Interface pf1hpf
                type: dpdk
                options: {dpdk-devargs="class=eth,mac=ae:d8:8a:c5:22:fb"}
    Bridge br-ex
        datapath_type: netdev
        Port br-ex
            Interface br-ex
                type: internal
        Port p1
            Interface p1
                type: dpdk
                options: {dpdk-devargs="class=eth,mac=98:03:9b:af:7b:0b"}
root@bluefield:/home/ovs-dpdk# ovs-vsctl list open_vswitch
_uuid               : 2dccd148-526c-44a5-9351-67b04c5e2da4
bridges             : [22334686-733a-445e-9130-a42009a3586e, 38af610d-01f7-497d-878b-c6b6a44abf6a]
cur_cfg             : 10
datapath_types      : [netdev, system]
datapaths           : {}
db_version          : []
dpdk_initialized    : true
dpdk_version        : "DPDK 19.11.0"
external_ids        : {}
iface_types         : [dpdk, dpdkr, dpdkvhostuser, dpdkvhostuserclient, erspan, geneve, gre, internal, ip6erspan, ip6gre, lisp, patch, stt, system, tap, vxlan]
manager_options     : []
next_cfg            : 10
other_config        : {dpdk-extra="-w 03:00.1,representor=[0,65535] --legacy-mem ", dpdk-init="true", hw-offload="true"}
ovs_version         : []
ssl                 : []
statistics          : {cpu="16", file_systems="/,13521220,3918464 /data,243823,2064 /boot,357176,61104", load_average="1.41,1.37,1.36", memory="16337652,5589928,1707640,0,0", process_ovs-vswitchd="5959388,256352,11515170,0,11484792,11484792,7", process_ovsdb-server="12620,6260,13190,0,68233832,68233832,6"}
system_type         : []
system_version      : []

Traffic Generator

We will use DPDK pktgen as the Traffic Generator.

Test Results

Packet Forwarding Performance Results


Single PF

OVS-DPDKOF rulesTrafficpktgen ppsreceived pps (hw)received pps (no hw)PMD idle cycles w/ hw offloadPMD idle cycles w/o hw offload
1 PMD(s)

Directly forwarding without match

"in_port=vxlan-vtp, actions=output: pf1hpf"

single TCP flow with VXLAN encapsulation24.6Mpps23.9Mpps74515699%0%


Single PF, Single VF


OVS-DPDKOF rulesTrafficpktgen ppsreceived pps (hw)received pps (no hw)PMD idle cycles w/ hw offloadPMD idle cycles w/o hw offload
1 PMD(s)

Directly forwarding without match

"in_port=vxlan-vtp, actions=output: pf1vf0"

single TCP flow with VXLAN encapsulation24.6Mpps23.8Mpps74709799%0%
1 PMD(s)

match and forwarding

100 rules

"in_port=vxlan-vtp,ip,nw_dst=10.1.1.[1-100] actions=pf1vf0"

100 flows with nw_dst=10.1.1.[1-100]24.6Mpps

21.6Mpps

(100 megaflows

offloaded)

62416199%0%
1 PMD(s)

match and forwarding

1000 rules


"in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[1-100] actions=pf1vf0"

1000 flows with nw_dst=10.1.[1-10].[1-100]

891 flows

(due to pktgen limit, only 891 flows are loaded)

24.6Mpps

23.3Mpps

(891 megaflows

offloaded)

52414499%0%


Single PF, 4 VFs (only test with offloaded)

OVS-DPDKOF rulesTrafficpktgen ppsreceived pps (VF0)received pps (VF1)received pps (VF2)received pps (VF3)in total
1 PMD(s)

match and forwarding

1000 rules


"in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[1-25] actions=pf1vf0"

"in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[26-50] actions=pf1vf1"

"in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[51-75] actions=pf1vf2"

"in_port=vxlan-vtp,ip,nw_dst=10.1.[1-10].[75-100] actions=pf1vf3"

1000 flows with nw_dst=10.1.[1-10].[1-100]

891 flows

(due to pktgen limit, only 891 flows are loaded)

24.6Mpps5891903578131057678255380159

23258808

~ 23.2Mpps

  • No labels