[dpdk-dev] [PATCH v7 0/4] Add tunnel filter support for IP in GRE on i40e

Liu, Yong yong.liu at intel.com
Wed Mar 2 08:04:23 CET 2016


Tested-by: Yong Liu <yong.liu at intel.com>

- Tested Branch: dpdk-next-net
- Tested Commit: 5fa83b5398e26af7537b09605432fcb3d0cc1d41
- OS: Fedora20 3.11.10-301.fc20.x86_64
- GCC: gcc version 4.8.3 20140911
- CPU: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
- NIC: Intel Corporation Device RedrockCanyou [8086:15a4]
- Default x86_64-native-linuxapp-gcc configuration
- Prerequisites:
- Total 4 cases, 4 passed, 0 failed

- Prerequisites command / instruction:
  Intel(r) X710 (Fortville) NIC plugged in

- Case: GRE ipv4 packet detect
  Description: check IPGRE packet can be normally detected
  Command / instruction:
    Start testpmd and enable rxonly forwarding mode
      testpmd -c ffff -n 4 -- -i --txqflags=0x0
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start

    Send ipv4+GRE+ipv4 packet and check testpmd log match packet type
    
- Case: GRE ipv6 packet detect
  Description: check IPGRE packet can be normally detected
  Command / instruction:
    Start testpmd and enable rxonly forwarding mode
      testpmd -c ffff -n 4 -- -i --txqflags=0x0
      testpmd> set fwd rxonly
      testpmd> set verbose 1
      testpmd> start

    Send ipv6+GRE+ipv4 packet and check testpmd log match packet type
    Send ipv6+GRE+ipv6 packet and check testpmd log match packet type

- Case: GRE packet filter
  Description: check IPGRE cloud filter work as expected
  Command / instruction:
    Start testpmd with multi queues
      testpmd -c ff -n 3 -- -i  --rxq=4 --txq=4 --txqflags=0x0
      testpmd> set fwd rxonly
      testpmd> set nbcore 4
      testpmd> set verbose 1
      testpmd> start
    Add GRE filter that forward inner ip address 0.0.0.0 packets to queue 3
      testpmd> tunnel_filter add 0 XX:XX:XX:XX:XX:XX YY:YY:YY:YY:YY:YY \
               0.0.0.0 1 ipingre iip 0 3
    
    Send packet inner ip address matched and check packet recevied by queue 3.
    
    Remove tunnel filter and check same packet recevied by queue 0
      testpmd> tunnel_filter rm 0 XX:XX:XX:XX:XX:XX YY:YY:YY:YY:YY:YY \
               0.0.0.0 1 ipingre iip 0 3
    
    Add GRE filter that forward outer ip address 0.0.0.0 to queue 3
      testpmd> tunnel_filter add 0 XX:XX:XX:XX:XX:XX YY:YY:YY:YY:YY:YY \
               0.0.0.0 1 ipingre oip 0 3
    
    Send packet outer ip address matched and check packet recevied by queue 3.

    Remove tunnel filter and check same packet recevied by queue 0.
      testpmd> tunnel_filter rm 0 XX:XX:XX:XX:XX:XX YY:YY:YY:YY:YY:YY \
               0.0.0.0 1 ipingre iip 0 3

- Case: GRE packet chksum offload
  Description: check IPGRE packet's checksum can be offloaded
  Command / instruction:
    Start testpmd with hardware checksum offload enabled::
      testpmd -c ff -n 3 -- -i --txqflags=0x0 --enable-rx-cksum
      testpmd> set verbose 1
      testpmd> set fwd csum
      testpmd> csum set ip hw 0
      testpmd> csum set udp hw 0
      testpmd> csum set sctp hw 0
      testpmd> csum set outer-ip hw 0
      testpmd> csum set tcp hw 0
      testpmd> csum parse_tunnel on 0
      testpmd> start

    Send packet with wrong outer IP checksum and check forwarded packet IP
    checksum is correct.

    Send packet with wrong inner IP checksum and check forwarded packet IP
    checksum is correct.

    Send packet with wrong inner TCP checksum and check forwarded packet TCP
    checksum is correct.

    Send packet with wrong inner UDP checksum and check forwarded packet UDP
    checksum is correct.

    Send packet with wrong inner SCTP checksum and check forwarded packet SCTP
    checksum is correct.

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Xutao Sun
> Sent: Tuesday, March 01, 2016 4:41 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v7 0/4] Add tunnel filter support for IP in
> GRE on i40e
> 
> This patch set adds tunnel filter support for IP in GRE on i40e.
> 
> v2 changes:
>   Fix the byte order problem.
> 
> v3 changes:
>   Remove the deprecation notice and update the release notes.
> 
> v4 changes:
>   Modify the mistakes in cmdline.c in the old patch.
> 
> v5 changes:
>   Fix type errors and update the testpmd documentation.
> 
> v6 changes:
>   Use internal variables to convert byte order.
> 
> v7 changes:
>   Modify the mistakes of code style.
> 
> Xutao Sun (4):
>   lib/ether: optimize the'rte_eth_tunnel_filter_conf' structure
>   lib/ether: add IP in GRE type
>   driver/i40e: implement tunnel filter for IP in GRE
>   app/test-pmd: test tunnel filter for IP in GRE
> 
>  app/test-pmd/cmdline.c                      | 38 ++++++++++++++++-------
> -
>  doc/guides/rel_notes/deprecation.rst        |  5 ----
>  doc/guides/rel_notes/release_16_04.rst      |  2 ++
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst | 35 ++++++++++++++++++++--
>  drivers/net/i40e/i40e_ethdev.c              | 45 +++++++++++++++++++----
> ------
>  lib/librte_ether/rte_eth_ctrl.h             |  5 ++--
>  6 files changed, 94 insertions(+), 36 deletions(-)
> 
> --
> 1.9.3



More information about the dev mailing list