From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id C97F78195 for ; Sat, 11 Oct 2014 09:49:57 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 11 Oct 2014 00:57:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,697,1406617200"; d="scan'208";a="587167999" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga001.jf.intel.com with ESMTP; 11 Oct 2014 00:56:59 -0700 Received: from fmsmsx153.amr.corp.intel.com (10.18.125.6) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.195.1; Sat, 11 Oct 2014 00:56:58 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX153.amr.corp.intel.com (10.18.125.6) with Microsoft SMTP Server (TLS) id 14.3.195.1; Sat, 11 Oct 2014 00:56:58 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.204]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.203]) with mapi id 14.03.0195.001; Sat, 11 Oct 2014 15:56:56 +0800 From: "Liu, Yong" To: "Liu, Jijiang" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v5 0/8]Support VxLAN on Fortville Thread-Index: AQHP5RgJGePuuUeMnEenP1syku7NnZwqfBGwgAAKtHA= Date: Sat, 11 Oct 2014 07:56:55 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E10CE5A77@SHSMSX103.ccr.corp.intel.com> References: <1413006935-22535-1-git-send-email-jijiang.liu@intel.com> <86228AFD5BCD8E4EBFD2B90117B5E81E10CE5A29@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <86228AFD5BCD8E4EBFD2B90117B5E81E10CE5A29@SHSMSX103.ccr.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5 0/8]Support VxLAN on Fortville X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Oct 2014 07:49:59 -0000 Resend test-by email and fixed ugly format. Patch name: Support VxLAN on Fortville Brief description: Verify vxlan checksum detect/offload and tunnel filter w= ork fine. Test Flag: Tested-by=20 Tester name: yong.liu@intel.com Test environment: OS: Fedora20 3.15.8-200.fc20.x86_64 GCC: gcc version 4.8.3 20140624 CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz NIC: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ [8086:1= 583] Test Tool Chain information:=09 N/A Commit ID: ee1a5470faa751c1fd07d23b86659fe7a68fd251 Detailed Testing information=09 DPDK SW Configuration: Default x86_64-native-linuxapp-gcc configuration Test Result Summary: Total 6 cases, 6 passed, 0 failed Test Case - name: vxlan_ipv4_detect Test Case - Description: Check testpmd can receive and detect vxlan packet=20 Test Case -command / instruction: Start testpmd with vxlan enabled and rss disabled testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 =09 Set forward type to rxonly and enable detail log output testpmd>set fwd rxonly testpmd>set verbose 1 testpmd>start Send packets with udp/tcp/sctp inner L4 data =09 Test Case - expected test result: testpmd can receive the vxlan packet with different inner L4 data and de= tect whether the packet is vxlan packet Test Case - name: vxlan_ipv6_detect Test Case - Description: Check testpmd can receive and detect ipv6 vxlan packet Test Case -command / instruction: Start testpmd with vxlan enabled and rss disabled testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Set forward type to rxonly and enable detail log output testpmd>set fwd rxonly testpmd>set verbose 1 testpmd>start Send vxlan packets with outer IPv6 header and inner IPv6 header. Test Case - expected test result: testpmd can receive the vxlan packet with different inner L4 data and de= tect whether the packet is IPv6 vxlan packet Test Case - name: vxlan_ipv4_checksum_offload Test Case - Description: Check testpmd can offload vxlan checksum and forward the packet Test Case -command / instruction: Start testpmd with vxlan enabled and rss disabled. testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Set csum packet forwarding mode and enable verbose log. testpmd>set fwd csum testpmd>set verbose 1 testpmd>start Enable outer IP,UDP,TCP,SCTP and inner IP,UDP checksum offload when inne= r L4 protocal is UDP. testpmd>tx_checksum set 0 0xf3 Enable outer IP,UDP,TCP,SCTP and inner IP,TCP,SCTP checksum offload when= inner L4 protocal is TCP or SCTP. testpmd>tx_checksum set 0 0xfd Send ipv4 vxlan packet with invalid outer/inner l3 or l4 checksum first.= Then check forwarded packet checksum is corrected and there's chksum error= counter increased. =09 Test Case - expected test result: testpmd can forwarded vxlan packet and the checksum is corrected. The ch= ksum error counter also increased. Test Case - name: vxlan_ipv6_checksum_offload Test Case - Description: Check testpmd can offload ipv6 vxlan checksum and forward the packet=20 Test Case -command / instruction: Start testpmd with vxlan enabled and rss disabled. testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Set csum packet forwarding mode and enable verbose log. testpmd>set fwd csum testpmd>set verbose 1 testpmd>start Enable outer IP,UDP,TCP,SCTP and inner IP,UDP checksum offload when inne= r L4 protocal is UDP. testpmd>tx_checksum set 0 0xf3 Enable outer IP,UDP,TCP,SCTP and inner IP,TCP,SCTP checksum offload when= inner L4 protocal is TCP or SCTP. testpmd>tx_checksum set 0 0xfd Send ipv6 vxlan packet with invalid outer/inner l3 or l4 checksum first.= Then check forwarded packet checksum is corrected and there's chksum error= counter increased. Test Case - expected test result: testpmd can forwarded vxlan packet and the checksum is corrected. The ch= ksum error counter also increased. Test Case - name: tunnel_filter Test Case - Description: Check FVL vxlan tunnel filter function work with testpmd. Test Case -command / instruction: Start testpmd with vxlan enabled and rss disabled. testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Set rxonly forwarding mode and enable verbose log. testpmd>set fwd rxonly testpmd>set verbose 1 testpmd>start Add cloud filter with specified inner dst mac and inner vlan. testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.= 2.2 1 vxlan imac-ivlan 1 3 Add cloud filter with specified inner dst mac,inner vlan and tunnel id.= =20 testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.= 2.2 1 vxlan imac-ivlan-tenid 1 3 Add cloud filter with specified inner dst mac and tunnel id. testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.= 2.2 1 vxlan imac-tenid 1 3 Add cloud filter with specified inner dst mac. testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.= 2.2 1 vxlan imac 1 3 Add cloud filter with specified outer dst mac, inner dst mac and tunnel = id. testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.= 2.2 1 vxlan omac-imac-tenid 1 3 Send vxlan packet matched the specified fields. Test Case - expected test result: testpmd can received the vxlan packet on the assigned queue 3. Test Case - name: tunnel_filter_invalid Test Case - Description: Check FVL vxlan tunnel filter invalid command cannot accepted by testpm= d=20 Test Case -command / instruction: Start testpmd with vxlan enabled and rss disabled. testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Add Clould filter with invalid Mac address. Add Clould filter with invalid ip address. Add Clould filter with invalid vlan. Add Clould filter with invalid vni. Add Clould filter with invalid queue id. =09 Test Case - expected test result: testpmd will report the parameter is invalid. > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Liu, Yong > Sent: Saturday, October 11, 2014 3:29 PM > To: Liu, Jijiang; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v5 0/8]Support VxLAN on Fortville >=20 > Basic Information > Patch name Support VxLAN on Fortville > Brief description about test purpose Verify vxlan checksum > detect/offload and tunnel filter work fine. > Test Flag Tested-by > Tester name yong.liu@intel.com > Test environment > - OS Environment > - Compilation (GCC) > - Hardware Info (CPU & NIC) > - Virtualization environment /Configure OS: Fedora20 3.15.8- > 200.fc20.x86_64 > GCC: gcc version 4.8.3 20140624 > CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz > NIC: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ [8086:15= 83] >=20 >=20 >=20 > Test Tool Chain information N/A > Commit ID ee1a5470faa751c1fd07d23b86659fe7a68fd251 > Detailed Testing information DPDK SW Configuration Default x86_64- > native-linuxapp-gcc configuration > Test Result Summary Total 6 cases, 6 passed, 0 failed > Test Case - name vxlan_ipv4_detect > Test Case - Description Check testpmd can receive and detect vxla= n > packet > Test Case -test sample/application Start testpmd with vxlan = enabled > and rss disabled. > testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --txq= =3D4 --nb- > cores=3D8 --nb-ports=3D2 >=20 > Set forward type to rxonly and enable verbose log. > testpmd>set fwd rxonly > testpmd>set verbose 1 > testpmd>start >=20 > Send vxlan packets with udp|tcp|sctp inner L4 data > Test Case -command / instruction > Test Case - expected test result testpmd can receive the v= xlan packet > with different inner L4 data and detect whether the packet is vxlan pack= et > Test Case - name vxlan_ipv6_detect > Test Case - Description Check testpmd can receive and detect ipv6= vxlan > packet > Test Case -test sample/application Start testpmd with vxlan = enabled > and rss disabled. > testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --txq= =3D4 --nb- > cores=3D8 --nb-ports=3D2 >=20 > Set forward type to rxonly and enable verbose log. > testpmd>set fwd rxonly > testpmd>set verbose 1 > testpmd>start >=20 > Send vxlan packets with outer IPv6 header and inner IPv6 header. > Test Case -command / instruction > Test Case - expected test result testpmd can receive the v= xlan packet > with different inner L4 data and detect whether the packet is IPv6 vxlan > packet > Test Case - name vxlan_ipv4_checksum_offload > Test Case - Description Check testpmd can offload vxlan checksum = and > forward the packet > Test Case -test sample/application Start testpmd with vxlan = enabled > and rss disabled. > testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --txq= =3D4 --nb- > cores=3D8 --nb-ports=3D2 >=20 > Set csum packet forwarding mode and enable verbose log. > testpmd>set fwd csum > testpmd>set verbose 1 > testpmd>start >=20 > Enable outer IP,UDP,TCP,SCTP and inner IP,UDP checksum offload when > inner L4 protocal is UDP. > testpmd>tx_checksum set 0 0xf3 >=20 > Enable outer IP,UDP,TCP,SCTP and inner IP,TCP,SCTP checksum offload > when inner L4 protocal is TCP or SCTP. > testpmd>tx_checksum set 0 0xfd >=20 > Send ipv4 vxlan packet with invalid outer/inner l3 or l4 checksum first. = Then > check forwarded packet checksum is corrected and there's chksum error > counter increased. > Test Case -command / instruction > Test Case - expected test result testpmd can forwarded vxl= an packet > and the checksum is corrected. The chksum error counter also increased. > Test Case - name vxlan_ipv6_checksum_offload > Test Case - Description Check testpmd can offload ipv6 vxlan chec= ksum > and forward the packet > Test Case -test sample/application Start testpmd with vxlan = enabled > and rss disabled. > testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --txq= =3D4 --nb- > cores=3D8 --nb-ports=3D2 >=20 > Set csum packet forwarding mode and enable verbose log. > testpmd>set fwd csum > testpmd>set verbose 1 > testpmd>start >=20 > Enable outer IP,UDP,TCP,SCTP and inner IP,UDP checksum offload when > inner L4 protocal is UDP. > testpmd>tx_checksum set 0 0xf3 >=20 > Enable outer IP,UDP,TCP,SCTP and inner IP,TCP,SCTP checksum offload > when inner L4 protocal is TCP or SCTP. > testpmd>tx_checksum set 0 0xfd >=20 > Send ipv6 vxlan packet with invalid outer/inner l3 or l4 checksum first. = Then > check forwarded packet checksum is corrected and there's chksum error > counter increased. > Test Case -command / instruction > Test Case - expected test result testpmd can forwarded vxl= an packet > and the checksum is corrected. The chksum error counter also increased. > Test Case - name tunnel_filter > Test Case - Description Check FVL vxlan tunnel filter function w= ork on > testpmd > Test Case -test sample/application Start testpmd with vxlan = enabled > and rss disabled. > testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --txq= =3D4 --nb- > cores=3D8 --nb-ports=3D2 >=20 > Set rxonly forwarding mode and enable verbose log. > testpmd>set fwd rxonly > testpmd>set verbose 1 > testpmd>start >=20 > Add cloud filter with specified inner dst mac and inner vlan. > testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.2= .2 1 > vxlan imac-ivlan 1 3 >=20 > Add cloud filter with specified inner dst mac,inner vlan and tunnel id. >=20 > testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.2= .2 1 > vxlan imac-ivlan-tenid 1 3 >=20 > Add cloud filter with specified inner dst mac and tunnel id. > testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.2= .2 1 > vxlan imac-tenid 1 3 >=20 > Add cloud filter with specified inner dst mac. > testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.2= .2 1 > vxlan imac 1 3 >=20 > Add cloud filter with specified outer dst mac, inner dst mac and tunnel i= d. > testpmd>tunnel_filter add 0 11:22:33:44:55:66 00:00:20:00:00:01 192.168.2= .2 1 > vxlan omac-imac-tenid 1 3 >=20 > Send vxlan packet matched the specified fields > Test Case -command / instruction > Test Case - expected test result testpmd can received the = vxlan > packet on the assigned queue 3. > Test Case - name tunnel_filter_invalid > Test Case - Description Check FVL vxlan tunnel filter invalid co= mmand > cannot accepted by testpmd > Test Case -test sample/application Start testpmd with vxlan = enabled > and rss disabled. > testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disble-rss --rxq=3D4 --txq= =3D4 --nb- > cores=3D8 --nb-ports=3D2 >=20 > Add Clould filter with invalid Mac address. > Add Clould filter with invalid ip address. > Add Clould filter with invalid vlan. > Add Clould filter with invalid vni. > Add Clould filter with invalid queue id. > Test Case -command / instruction > Test Case - expected test result testpmd will report the p= arameter is > invalid. >=20 >=20 > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jijiang Liu > > Sent: Saturday, October 11, 2014 1:55 PM > > To: dev@dpdk.org > > Subject: [dpdk-dev] [PATCH v5 0/8]Support VxLAN on Fortville > > > > The patch set supports VxLAN on Fortville based on latest mbuf structur= e. > > > > It includes: > > - Support VxLAN packet identification by configuring tunneling UDP por= t. > > - Support VxLAN packet filters. It uses MAC and VLAN to point > > to a queue. The filter types supported include below: > > 1. Inner MAC and Inner VLAN ID > > 2. Inner MAC address, inner VLAN ID and tenant ID. > > 3. Inner MAC and tenant ID > > 4. Inner MAC address > > 5. Outer MAC address, tenant ID and inner MAC > > - Support VxLAN TX checksum offload, which include outer L3(IP), inner > L3(IP) > > and inner L4(UDP,TCP and SCTP) > > > > Change notes: > > > > v5) * Use the "packet_type" field to replace the "reserved2" field in = the > > rte_mbuf structure. > > * Add the "inner_l2_l3_len" field in the rte_mbuf structure. > > * Add an offload flag PKT_TX_VXLAN_CKSUM in rte_mbuf.h > > * Change i40e_txd_enable_checksum() function for VxLAN Tx checksum > > offload setting. > > > > jijiangl (8): > > Support VxLAN packet identification in librte_ether > > Support VxLAN packet identification in librte_pmd_i40e > > Test vxlan packet identification > > Add new filter framework > > Implement API of VxLAN packet filter in librte_pmd_i40e > > Test VxLAN packet filter API > > Support VxLAN Tx checksum offload > > Test VxLAN Tx checksum offload > > > > > > app/test-pmd/cmdline.c | 230 ++++++++++++++++++++- > > app/test-pmd/config.c | 6 +- > > app/test-pmd/csumonly.c | 196 ++++++++++++++++-- > > app/test-pmd/parameters.c | 13 ++ > > app/test-pmd/rxonly.c | 49 +++++ > > app/test-pmd/testpmd.c | 8 + > > app/test-pmd/testpmd.h | 4 + > > config/common_linuxapp | 5 + > > lib/librte_ether/Makefile | 1 + > > lib/librte_ether/rte_eth_ctrl.h | 152 ++++++++++++++ > > lib/librte_ether/rte_ethdev.c | 95 +++++++++ > > lib/librte_ether/rte_ethdev.h | 108 ++++++++++ > > lib/librte_ether/rte_ether.h | 8 + > > lib/librte_mbuf/rte_mbuf.h | 22 ++- > > lib/librte_pmd_i40e/i40e_ethdev.c | 419 > > ++++++++++++++++++++++++++++++++++++- > > lib/librte_pmd_i40e/i40e_ethdev.h | 5 + > > lib/librte_pmd_i40e/i40e_rxtx.c | 53 +++++- > > 17 files changed, 1344 insertions(+), 30 deletions(-) > > create mode 100644 lib/librte_ether/rte_eth_ctrl.h > > > > -- > > 1.7.7.6 >=20