[dts] [PATCH V1 2/4] add nvgre test plan

Liu, Yong yong.liu at intel.com
Tue Jun 9 08:42:15 CEST 2015


Huilong,

Tx checksum command has been changed in DPDK2.1, so both test plan and test suite need modified for that.
And better to add checksum offload performance with multi queues. You can reference to vxlan test plan. 

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of huilong,xu
> Sent: Thursday, June 04, 2015 2:04 PM
> To: dts at dpdk.org
> Subject: [dts] [PATCH V1 2/4] add nvgre test plan
> 
> From: huilong xu <huilongx.xu at intel.com>
> 
> 
> Signed-off-by: huilong xu <huilongx.xu at intel.com>
> ---
>  test_plans/nvgre_test_plan.rst |  389
> ++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 389 insertions(+), 0 deletions(-)
>  create mode 100644 test_plans/nvgre_test_plan.rst
> 
> diff --git a/test_plans/nvgre_test_plan.rst
> b/test_plans/nvgre_test_plan.rst
> new file mode 100644
> index 0000000..50993c1
> --- /dev/null
> +++ b/test_plans/nvgre_test_plan.rst
> @@ -0,0 +1,389 @@
> +.. Copyright (c) <2015>, Intel Corporation
> +   All rights reserved.
> +
> +   Redistribution and use in source and binary forms, with or without
> +   modification, are permitted provided that the following conditions
> +   are met:
> +
> +   - Redistributions of source code must retain the above copyright
> +     notice, this list of conditions and the following disclaimer.
> +
> +   - Redistributions in binary form must reproduce the above copyright
> +     notice, this list of conditions and the following disclaimer in
> +     the documentation and/or other materials provided with the
> +     distribution.
> +
> +   - Neither the name of Intel Corporation nor the names of its
> +     contributors may be used to endorse or promote products derived
> +     from this software without specific prior written permission.
> +
> +   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> +   "AS IS" AND ANY EXPR   ESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> +   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> +   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> +   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> +   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> +   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
> +   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
> +   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> +   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
> +   OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +================
> + Fortville NVGRE
> +================
> +Cloud providers build virtual network overlays over existing network
> +infrastructure that provide tenant isolation and scaling. Tunneling
> +layers added to the packets carry the virtual networking frames over
> +existing Layer 2 and IP networks. Conceptually, this is similar to
> +creating virtual private networks over the Internet. Fortville will
> +process these tunneling layers by the hardware.
> +
> +This document provides test plan for Fortville NVGRE packet detecting,
> +checksum computing and filtering.
> +
> +Prerequisites
> +=============
> +1x Intel� X710 (Fortville) NICs (2x 40GbE full duplex optical ports per
> NIC)
> +plugged into the available PCIe Gen3 8-lane slot.
> +
> +1x Intel� XL710-DA4 (Eagle Fountain) (1x 10GbE full duplex optical ports
> per NIC)
> +plugged into the avaiable PCIe Gen3 8-lane slot.
> +
> +DUT board must be two sockets system and each cpu have more than 8 lcores.
> +
> +Test Case: NVGRE ipv4 packet detect
> +===================================
> +Start testpmd with tunneling packet type to NVGRE::
> +
> +    testpmd -c 0xffff -n 4 -- -i --rxq=4 --txq=4 --nb-cores=8 --nb-
> ports=2
> +
> +Set rxonly packet forwarding mode and enable verbose log::
> +
> +    set fwd rxonly
> +    set verbose 1
> +
> +Send packet as table listed and check dumped packet type the same as
> column
> +"Rx packet type".
> +
> ++-----------+-----------+----------+---------+----------|-----------+----
> ------+-----------+---------------------+-----------+
> +| Outer L2  |Outer Vlan | Outer L3 | NVGRE   | Inner L2 |Inner Vlan |
> Inner L3 | Inner L4  | Rx packet type  | Pkt Error |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | None    | None     | None      |
> None     | None      | PKT_RX_IPV4_HDR     | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Tcp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Sctp      | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv4     | Yes     | Yes      | Yes       |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +
> +
> +
> +Test Case: NVGRE ipv6 packet detect
> +===================================
> +Start testpmd with tunneling packet type to NVGRE::
> +
> +    testpmd -c 0xffff -n 2 -- -i --rxq=4 --txq=4 --nb-cores=8 --nb-
> ports=2
> +
> +Set rxonly packet forwarding mode and enable verbose log::
> +
> +    set fwd rxonly
> +    set verbose 1
> +
> +Send ipv6 packet as table listed and check dumped packet type the same as
> +column "Rx packet type".
> +
> ++-----------+-----------+----------+---------+----------|-----------+----
> ------+-----------+---------------------+-----------+
> +| Outer L2  |Outer Vlan | Outer L3 | NVGRE   | Inner L2 |Inner Vlan |
> Inner L3 | Inner L4  | Rx packet type  | Pkt Error |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | None    | None     | None      |
> None     | None      | PKT_RX_IPV6_HDR     | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Tcp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Sctp      | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv6     | Yes     | Yes      | Yes       |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +
> +Test Case: NVGRE IPv4 Filter
> +========================
> +This test adds NVGRE IPv4 filters to the hardware, and then checks
> whether
> +sent packets match those filters. In order to this, the packet should
> first
> +be sent from ``Scapy`` before the filter is created, to verify that it is
> not
> +matched by a NVGRE IPv4 filter. The filter is then added from the
> ``testpmd``
> +command line and the packet is sent again.
> +
> +Start testpmd::
> +
> +    testpmd -c 0xffff -n 4 -- -i --disable-rss --rxq=4 --txq=4 --nb-
> cores=8 --nb-ports=2
> +
> +Set rxonly packet forwarding mode and enable verbose log::
> +
> +    set fwd rxonly
> +    set verbose 1
> +
> +Add one new NVGRE filter as table listed first::
> +    tunnel_filter add port_id outer_mac inner_mac ip_addr inner_vlan
> +    tunnel_type(vxlan|nvgre) filter_type(imac-ivlan|imac-ivlan-
> tenid|imac-tenid|imac
> +    |omac-imac-tenid|iip) tenant_id queue_num
> +
> +For example:
> +    tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.2.2 1
> +    NVGRE imac 1 1
> +
> +Then send one packet and check packet was forwarded into right queue.
> +
> ++-----------+-----------+----------+---------+----------|-----------+----
> ------+-----------+---------------------+-----------+
> +| Outer L2  |Outer Vlan | Outer L3 | NVGRE   | Inner L2 |Inner Vlan |
> Inner L3 | Inner L4  | Rx packet type  | Pkt Error |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | None    | None     | None      |
> None     | None      | PKT_RX_IPV4_HDR     | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Tcp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Sctp      | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv4     | Yes     | Yes      | None      |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv4     | Yes     | Yes      | Yes       |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +
> +Remove NVGRE filter which has been added. Then send one packet and check
> +packet was received in queue 0.
> +
> +
> +Test Case: NVGRE IPv4 Filter invalid
> +========================
> +This test adds NVGRE IPv6 filters by invalid command, and then checks
> command
> +result.
> +
> +Start testpmd::
> +
> +    testpmd -c 0xffff -n 4 -- -i --disable-rss --rxq=4 --txq=4 --nb-
> cores=8 --nb-ports=2
> +
> +Set rxonly packet forwarding mode and enable verbose log::
> +
> +    set fwd rxonly
> +    set verbose 1
> +
> +Add NVGRE filter as table listed first::
> +    tunnel_filter add port_id outer_mac inner_mac ip_addr inner_vlan
> +    tunnel_type(vxlan|nvgre) filter_type(imac-ivlan|imac-ivlan-
> tenid|imac-tenid|imac
> +    |omac-imac-tenid|iip) tenant_id queue_num
> +
> +Validte the filter command with wrong parameter::
> +
> +Add Clould filter with invalid Mac address "00:00:00:00:01" will be
> failed.
> +
> +Add Clould filter with invalid ip address "192.168.1.256" will be failed.
> +
> +Add Clould filter with invalid vlan "4097" will be failed.
> +
> +Add Clould filter with invalid vni "16777216" will be failed.
> +
> +Add Clould filter with invalid queue id "64" will be failed.
> +
> +Test Case: NVGRE IPv6 Filter
> +========================
> +This test adds NVGRE IPv6 filters to the hardware, and then checks
> whether
> +sent packets match those filters. In order to this, the packet should
> first
> +be sent from ``Scapy`` before the filter is created, to verify that it is
> not
> +matched by a NVGRE IPv6 filter. The filter is then added from the
> ``testpmd``
> +command line and the packet is sent again.
> +
> +Start testpmd::
> +
> +    testpmd -c 0xffff -n 4 -- -i --disable-rss --rxq=4 --txq=4 --nb-
> cores=8 --nb-ports=2
> +
> +Set rxonly packet forwarding mode and enable verbose log::
> +
> +    set fwd rxonly
> +    set verbose 1
> +
> +Add NVGRE filter as table listed first::
> +    tunnel_filter add port_id outer_mac inner_mac ip_addr inner_vlan
> +    tunnel_type(vxlan|nvgre) filter_type(imac-ivlan|imac-ivlan-
> tenid|imac-tenid|imac
> +    |omac-imac-tenid|iip) tenant_id queue_num
> +
> +For example:
> +    tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.2.2 1
> +    NVGRE imac 1 1
> +
> +Then send one packet and check packet was forwarded into right queue.
> +
> ++-----------+-----------+----------+---------+----------|-----------+----
> ------+-----------+---------------------+-----------+
> +| Outer L2  |Outer Vlan | Outer L3 | NVGRE   | Inner L2 |Inner Vlan |
> Inner L3 | Inner L4  | Rx packet type  | Pkt Error |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | None    | None     | None      |
> None     | None      | PKT_RX_IPV6_HDR     | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Tcp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Sctp      | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv6     | Yes     | Yes      | None      |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv6     | Yes     | Yes      | Yes       |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +
> +Remove NVGRE filter which has been added. Then send one packet and check
> +packet was received in queue 0.
> +
> +Test Case: NVGRE ipv4 checksum offload
> +======================================
> +This test validates NVGRE IPv4 checksum by the hardware. In order to this,
> the packet should first
> +be sent from ``Scapy`` with wrong checksum(0x00) value. Then the pmd
> forward package while checksum
> +is modified on DUT tx port by hardware. To verify it, tcpdump captures
> the
> +forwarded packet and checks the forwarded packet checksum correct or not.
> +
> +Start testpmd with tunneling packet type to NVGRE::
> +
> +    testpmd -c 0xffff -n 4 -- -i --rxq=4 --txq=4 --nb-cores=8 --nb-
> ports=2 --enable-rx-cksum
> +
> +Set csum packet forwarding mode and enable verbose log::
> +
> +    set fwd csum
> +    tx_checksum set ip hw <dut tx_port>
> +    tx_checksum set udp hw <dut tx_port>
> +    tx_checksum set tcp hw <dut tx_port>
> +    tx_checksum set sctp hw <dut tx_port>
> +    tx_checksum set nvgre hw <dut tx_port>
> +    set verbose 1
> +
> +Send packet with invalid checksum first. Then check forwarded packet
> checksum
> +correct or not.
> +
> ++-----------+-----------+----------+---------+----------|-----------+----
> ------+-----------+---------------------+-----------+
> +| Outer L2  |Outer Vlan | Outer L3 | NVGRE   | Inner L2 |Inner Vlan |
> Inner L3 | Inner L4  | Rx packet type  | Pkt Error |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | None    | None     | None      |
> None     | None      | PKT_RX_IPV4_HDR     | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4(Bad)| Yes     | Yes      | None      |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4     | Yes     | Yes      | None      |
> Ipv4(Bad)| Tcp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv4(Bad)| Yes     | Yes      | None      |
> Ipv4(Bad)| Sctp      | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv4(Bad)| Yes     | Yes      | None      |
> Ipv4     | Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv4     | Yes     | Yes      | Yes       |
> Ipv4(Bad)| Udp       | PKT_RX_IPV4_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +
> +Test Case: NVGRE ipv6 checksum offload
> +======================================
> +This test validates NVGRE IPv6 checksum by the hardware. In order to this,
> the packet should first
> +be sent from ``Scapy`` with wrong checksum(0x00) value. Then the pmd
> forward package while checksum
> +is modified on DUT tx port by hardware. To verify it, tcpdump captures
> the
> +forwarded packet and checks the forwarded packet checksum correct or not.
> +
> +Start testpmd with tunneling packet type::
> +
> +    testpmd -c ffff -n 4 -- -i --rxq=4 --txq=4 --nb-cores=8 --nb-ports=2
> --enable-rx-cksum
> +
> +Set csum packet forwarding mode and enable verbose log::
> +
> +    set fwd csum
> +    tx_checksum set ip hw <dut tx_port>
> +    tx_checksum set udp hw <dut tx_port>
> +    tx_checksum set tcp hw <dut tx_port>
> +    tx_checksum set sctp hw <dut tx_port>
> +    tx_checksum set nvgre hw <dut tx_port>
> +    set verbose 1
> +
> +Send packet with invalid checksum first. Then check forwarded packet
> checksum
> +correct or not.
> +
> ++-----------+-----------+----------+---------+----------|-----------+----
> ------+-----------+---------------------+-----------+
> +| Outer L2  |Outer Vlan | Outer L3 | NVGRE   | Inner L2 |Inner Vlan |
> Inner L3 | Inner L4  | Rx packet type  | Pkt Error |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | None    | None     | None      |
> None     | None      | PKT_RX_IPV6_HDR     | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6(Bad)| Yes     | Yes      | None      |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6     | Yes     | Yes      | None      |
> Ipv6(Bad)| Tcp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | None      | Ipv6(Bad)| Yes     | Yes      | None      |
> Ipv6(Bad)| Sctp      | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv6(Bad)| Yes     | Yes      | None      |
> Ipv6     | Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +| Yes       | Yes       | Ipv6     | Yes     | Yes      | Yes       |
> Ipv6(Bad)| Udp       | PKT_RX_IPV6_HDR_EXT | None      |
> ++-----------+-----------+----------+---------+----------+-----------+----
> ------+-----------+---------------------+-----------+
> +
> +
> +
> +Test Case: NVGRE Checksum Offload Performance Benchmarking
> +==========================================================
> +
> +The throughput is measured for each of these cases for NVGRE tx checksum
> +offload of "all by software", "inner l3 offload by hardware", "inner l4
> +offload by hardware", "inner l3&l4 offload by hardware", "outer l3
> offload
> +by hardware", "outer l4 offload by hardware", "outer l3&l4 offload by
> +hardware", "all by hardware".
> +
> +The results are printed in the following table:
> +
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| Calculate Type | 1S/1C/1T Mpps | % linerate | 1S/1C/2T Mpps | %
> linerate | 1S/2C/1T Mpps | % linerate |
> ++================+===============+============+===============+==========
> ==+===============+============+
> +| SOFTWARE ALL   |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| HW OUTER L3    |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| HW OUTER L4    |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| HW OUTER L3&L4 |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| HW INNER L3    |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| HW INNER L4    |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| HW INNER L3&L4 |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +| HARDWARE ALL   |               |            |               |
> |               |            |
> ++----------------+---------------+------------+---------------+----------
> --+---------------+------------+
> +
> +Test Case: NVGRE Tunnel filter Performance Benchmarking
> +=======================================================
> +The throughput is measured for different NVGRE tunnel filter types.
> +Queue single mean there's only one flow and forwarded to the first queue.
> +Queue multi mean there're two flows and configure to different queues.
> +
> ++--------+------------------+--------+--------+------------+
> +| Packet | Filter           | Queue  | Mpps   | % linerate |
> ++========+==================+========+========+============+
> +| Normal | None             | Single |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | None             | Single |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac-ivlan       | Single |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac-ivlan-tenid | Single |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac-tenid       | Single |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac             | Single |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | omac-imac-tenid  | Single |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac-ivlan       | Multi  |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac-ivlan-tenid | Multi  |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac-tenid       | Multi  |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | imac             | Multi  |        |            |
> ++--------+------------------+--------+--------+------------+
> +| NVGRE  | omac-imac-tenid  | Multi  |        |            |
> ++--------+------------------+--------+--------+------------+
> --
> 1.7.4.4



More information about the dts mailing list