From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id C51837F94 for ; Mon, 27 Oct 2014 03:13:57 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP; 26 Oct 2014 19:16:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,792,1406617200"; d="scan'208";a="611821029" Received: from pgsmsx103.gar.corp.intel.com ([10.221.44.82]) by fmsmga001.fm.intel.com with ESMTP; 26 Oct 2014 19:22:10 -0700 Received: from pgsmsx108.gar.corp.intel.com (10.221.44.103) by PGSMSX103.gar.corp.intel.com (10.221.44.82) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 27 Oct 2014 10:20:22 +0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by PGSMSX108.gar.corp.intel.com (10.221.44.103) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 27 Oct 2014 10:20:21 +0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.207]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.44]) with mapi id 14.03.0195.001; Mon, 27 Oct 2014 10:20:21 +0800 From: "Liu, Yong" To: "Liu, Jijiang" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v8 00/10] Support VxLAN on Fortville Thread-Index: AQHP8Yu6N6holDYPR02V6OuAR7nVX5xDNfCA Date: Mon, 27 Oct 2014 02:20:20 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E10CF7AE2@SHSMSX103.ccr.corp.intel.com> References: <1414376006-31402-1-git-send-email-jijiang.liu@intel.com> In-Reply-To: <1414376006-31402-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 v8 00/10] 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: Mon, 27 Oct 2014 02:13:59 -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: Monday, October 27, 2014 10:13 AM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH v8 00/10] 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 > v8) * Fix the issue of redundant "PKT_RX" and the comma missing in the > pkt_rx_flag_names[] in the rxonly.c file. >=20 > Jijiang Liu (10): > change rte_mbuf structures > add data structures of UDP tunneling > add VxLAN packet identification API in librte_ether > support VxLAN packet identification in 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 i40e > test VxLAN packet filter > support VxLAN Tx checksum offload in i40e > test VxLAN Tx checksum offload >=20 >=20 > app/test-pmd/cmdline.c | 228 +++++++++++++++++++++++++- > app/test-pmd/config.c | 6 +- > app/test-pmd/csumonly.c | 194 ++++++++++++++++++++-- > app/test-pmd/rxonly.c | 50 ++++++- > lib/librte_ether/rte_eth_ctrl.h | 61 +++++++ > lib/librte_ether/rte_ethdev.c | 52 ++++++ > lib/librte_ether/rte_ethdev.h | 54 ++++++ > lib/librte_ether/rte_ether.h | 13 ++ > lib/librte_mbuf/rte_mbuf.h | 28 +++- > lib/librte_pmd_i40e/i40e_ethdev.c | 331 > ++++++++++++++++++++++++++++++++++++- > lib/librte_pmd_i40e/i40e_ethdev.h | 8 +- > lib/librte_pmd_i40e/i40e_rxtx.c | 151 +++++++++++------ > 12 files changed, 1096 insertions(+), 80 deletions(-) >=20 > -- > 1.7.7.6