From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id D9883688F for ; Wed, 22 Oct 2014 01:50:34 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 21 Oct 2014 11:51:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,762,1406617200"; d="scan'208";a="617880956" Received: from pgsmsx101.gar.corp.intel.com ([10.221.44.78]) by fmsmga002.fm.intel.com with ESMTP; 21 Oct 2014 07:57:48 -0700 Received: from kmsmsx153.gar.corp.intel.com (172.21.73.88) by PGSMSX101.gar.corp.intel.com (10.221.44.78) with Microsoft SMTP Server (TLS) id 14.3.195.1; Tue, 21 Oct 2014 22:54:49 +0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by KMSMSX153.gar.corp.intel.com (172.21.73.88) with Microsoft SMTP Server (TLS) id 14.3.195.1; Tue, 21 Oct 2014 22:54:48 +0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.207]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.13]) with mapi id 14.03.0195.001; Tue, 21 Oct 2014 22:54:47 +0800 From: "Liu, Yong" To: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v6 0/9] Support VxLAN on Fortville Thread-Index: AQHP7QuZLNyJJqCi/UqLEhvZ6pJvI5w6o4lg Date: Tue, 21 Oct 2014 14:54:47 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E10CF5EFE@SHSMSX103.ccr.corp.intel.com> References: <1413881168-20239-1-git-send-email-jijiang.liu@intel.com> In-Reply-To: <1413881168-20239-1-git-send-email-jijiang.liu@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 v6 0/9] 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: Tue, 21 Oct 2014 23:50:37 -0000 Tested-by: Yong Liu - Tested Commit: 455d09e54b92a4626e178b020fe9c23e43ede3f7 - 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] - Default x86_64-native-linuxapp-gcc configuration - Total 6 cases, 6 passed, 0 failed - Case: vxlan_ipv4_detect Description: Check testpmd can receive and detect vxlan packet=20 Command / instruction: Start testpmd with vxlan enabled and rss disabled testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disable-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Enable VxLAN on both ports and UDP dport setting to 4789 testpmd>rx_vxlan_port add 4789 0 testpmd>rx_vxlan_port add 4789 1 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 Expected test result: testpmd can receive the vxlan packet with different inner L4 data and dete= ct whether the packet is vxlan packet. - Case: vxlan_ipv6_detect Description: Check testpmd can receive and detect ipv6 vxlan packet Command / instruction: Start testpmd with vxlan enabled and rss disabled testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disable-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Enable VxLAN on both ports and UDP dport setting to 4789 testpmd>rx_vxlan_port add 4789 0 testpmd>rx_vxlan_port add 4789 1 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. Expected test result: testpmd can receive the vxlan packet with different inner L4 data and dete= ct whether the packet is IPv6 vxlan packet. - Case: vxlan_ipv4_checksum_offload Description: Check testpmd can offload vxlan checksum and forward the pac= ket Command / instruction: Start testpmd with vxlan enabled and rss disabled. testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disable-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Enable VxLAN on both ports and UDP dport setting to 4789 testpmd>rx_vxlan_port add 4789 0 testpmd>rx_vxlan_port add 4789 1 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 inner = L4 protocal is UDP. testpmd>tx_checksum set 0 0xf3 Enable outer IP,UDP,TCP,SCTP and inner IP,TCP,SCTP checksum offload when i= nner L4 protocal is TCP or SCTP. testpmd>tx_checksum set 0 0xfd Send ipv4 vxlan packet with invalid outer/inner l3 or l4 checksum.=09 Expected test result: testpmd can forwarded vxlan packet and the checksum is corrected. The chks= um error counter also increased. - Case: vxlan_ipv6_checksum_offload Description: Check testpmd can offload ipv6 vxlan checksum and forward th= e packet=20 Command / instruction: Start testpmd with vxlan enabled and rss disabled. testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disable-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Enable VxLAN on both ports and UDP dport setting to 4789 testpmd>rx_vxlan_port add 4789 0 testpmd>rx_vxlan_port add 4789 1 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 inner = L4 protocal is UDP. testpmd>tx_checksum set 0 0xf3 Enable outer IP,UDP,TCP,SCTP and inner IP,TCP,SCTP checksum offload when i= nner L4 protocal is TCP or SCTP. testpmd>tx_checksum set 0 0xfd Send ipv6 vxlan packet with invalid outer/inner l3 or l4 checksum. Expected test result: testpmd can forwarded vxlan packet and the checksum is corrected. The chks= um error counter also increased. - Case: tunnel_filter Description: Check FVL vxlan tunnel filter function work with testpmd. Command / instruction: Start testpmd with vxlan enabled and rss disabled. testpmd -c ffff -n 4 -- -i --tunnel-type=3D1 --disable-rss --rxq=3D4 --tx= q=3D4 --nb-cores=3D8 --nb-ports=3D2 Enable VxLAN on both ports and UDP dport setting to 4789 testpmd>rx_vxlan_port add 4789 0 testpmd>rx_vxlan_port add 4 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. Expected test result: testpmd can received the vxlan packet on the assigned queue 3. - Case: tunnel_filter_invalid Description: Check FVL vxlan tunnel filter invalid command cannot accept= ed by testpmd=20 Command / instruction: 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 Enable VxLAN on both ports and UDP dport setting to 4789 testpmd>rx_vxlan_port add 4789 0 testpmd>rx_vxlan_port add 4 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. Expected test result: testpmd will report the parameter is invalid. > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jijiang Liu > Sent: Tuesday, October 21, 2014 4:46 PM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH v6 0/9] Support VxLAN on Fortville >=20 > The patch set supports VxLAN on Fortville based on latest rte_mbuf > structure. >=20 > It includes: > - Support VxLAN packet identification by configuring UDP tunneling port. > - Support VxLAN packet filters. It uses MAC and VLAN to point > to a queue. The filter types supported are listed 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 L= 3(IP) > and inner L4(UDP,TCP and SCTP) >=20 > Change notes: >=20 > v6) * Split the rte_mbuf structure changes as a seperate patch. > * Remove the initialization configuration of VXLAN UDP port. > * Change the filter_type field in rte_eth_tunnel_filter_conf to "ui= nt16_t" > type. > * Add more descriptions about some API comments and commit logs. >=20 >=20 > Jijiang Liu (9): > rte_mbuf structure changes > add VxLAN packet identification API in librte_ether > support VxLAN packet identification in librte_pmd_i40e > test VxLAN packet identification in testpmd. > add data structures of tunneling filter in rte_eth_ctrl.h > implement the API of VxLAN packet filter in librte_pmd_i40e > test VxLAN packet filter > support VxLAN Tx checksum offload > test VxLAN Tx checksum offload >=20 > app/test-pmd/cmdline.c | 230 ++++++++++++++++++++++++- > app/test-pmd/config.c | 6 +- > app/test-pmd/csumonly.c | 195 +++++++++++++++++++-- > app/test-pmd/parameters.c | 13 ++ > app/test-pmd/rxonly.c | 49 ++++++ > app/test-pmd/testpmd.c | 8 + > app/test-pmd/testpmd.h | 4 + > lib/librte_ether/rte_eth_ctrl.h | 64 +++++++ > lib/librte_ether/rte_ethdev.c | 63 +++++++ > lib/librte_ether/rte_ethdev.h | 63 +++++++ > lib/librte_ether/rte_ether.h | 8 + > lib/librte_mbuf/rte_mbuf.h | 26 +++- > lib/librte_pmd_i40e/i40e_ethdev.c | 341 > ++++++++++++++++++++++++++++++++++++- > lib/librte_pmd_i40e/i40e_ethdev.h | 8 +- > lib/librte_pmd_i40e/i40e_rxtx.c | 55 ++++++- > 15 files changed, 1101 insertions(+), 32 deletions(-) >=20 > -- > 1.7.7.6