From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 50A7AB6B1 for ; Tue, 17 Feb 2015 08:03:36 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP; 16 Feb 2015 22:58:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,593,1418112000"; d="scan'208";a="667354699" Received: from pgsmsx108.gar.corp.intel.com ([10.221.44.103]) by fmsmga001.fm.intel.com with ESMTP; 16 Feb 2015 23:03:33 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by PGSMSX108.gar.corp.intel.com (10.221.44.103) with Microsoft SMTP Server (TLS) id 14.3.195.1; Tue, 17 Feb 2015 15:03:32 +0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.62]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.192]) with mapi id 14.03.0195.001; Tue, 17 Feb 2015 15:03:31 +0800 From: "Liang, Cunming" To: "Zhang, Helin" , "dev@dpdk.org" Thread-Topic: [PATCH v3 00/16] unified packet type Thread-Index: AQHQSn9QPy0fkOZcW06FzJ1kchTZMJz0af7A Date: Tue, 17 Feb 2015 07:03:31 +0000 Message-ID: References: <1422501365-12643-1-git-send-email-helin.zhang@intel.com> <1424156374-21768-1-git-send-email-helin.zhang@intel.com> In-Reply-To: <1424156374-21768-1-git-send-email-helin.zhang@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 v3 00/16] unified packet type 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, 17 Feb 2015 07:03:36 -0000 > -----Original Message----- > From: Zhang, Helin > Sent: Tuesday, February 17, 2015 2:59 PM > To: dev@dpdk.org > Cc: Cao, Waterman; Liang, Cunming; Liu, Jijiang; Ananyev, Konstantin; Ric= hardson, > Bruce; Zhang, Helin > Subject: [PATCH v3 00/16] unified packet type >=20 > Currently only 6 bits which are stored in ol_flags are used to indicate t= he > packet types. This is not enough, as some NIC hardware can recognize quit= e > a lot of packet types, e.g i40e hardware can recognize more than 150 pack= et > types. Hiding those packet types hides hardware offload capabilities whic= h > could be quite useful for improving performance and for end users. So an > unified packet types are needed to support all possible PMDs. A 16 bits > packet_type in mbuf structure can be changed to 32 bits and used for this > purpose. In addition, all packet types stored in ol_flag field should be > deleted at all, and 6 bits of ol_flags can be save as the benifit. >=20 > Initially, 32 bits of packet_type can be divided into several sub fields = to > indicate different packet type information of a packet. The initial desig= n > is to divide those bits into fields for L2 types, L3 types, L4 types, tun= nel > types, inner L2 types, inner L3 types and inner L4 types. All PMDs should > translate the offloaded packet types into these 7 fields of information, = for > user applications. >=20 > v2 changes: > * Enlarged the packet_type field from 16 bits to 32 bits. > * Redefined the packet type sub-fields. > * Updated the 'struct rte_kni_mbuf' for KNI according to the mbuf changes= . > * Used redefined packet types and enlarged packet_type field for all PMDs > and corresponding applications. > * Removed changes in bond and its relevant application, as there is no ne= ed > at all according to the recent bond changes. >=20 > v3 changes: > * Put the mbuf layout changes into a single patch. > * Put vector ixgbe changes right after mbuf changes. > * Disabled vector ixgbe PMD by default, as mbuf layout changed, and then > re-enabled it after vector ixgbe PMD updated. > * Put the definitions of unified packet type into a single patch. > * Minor bug fixes and enhancements in l3fwd example. >=20 > Helin Zhang (16): > mbuf: redefinition of packet_type in rte_mbuf > ixgbe: support of unified packet type for vector > mbuf: add definitions of unified packet types > e1000: support of unified packet type > ixgbe: support of unified packet type > i40e: support of unified packet type > enic: support of unified packet type > vmxnet3: support of unified packet type > app/test-pipeline: support of unified packet type > app/testpmd: support of unified packet type > examples/ip_fragmentation: support of unified packet type > examples/ip_reassembly: support of unified packet type > examples/l3fwd-acl: support of unified packet type > examples/l3fwd-power: support of unified packet type > examples/l3fwd: support of unified packet type > mbuf: remove old packet type bit masks >=20 > app/test-pipeline/pipeline_hash.c | 7 +- > app/test-pmd/csumonly.c | 10 +- > app/test-pmd/rxonly.c | 9 +- > examples/ip_fragmentation/main.c | 7 +- > examples/ip_reassembly/main.c | 7 +- > examples/l3fwd-acl/main.c | 19 +- > examples/l3fwd-power/main.c | 5 +- > examples/l3fwd/main.c | 71 +- > .../linuxapp/eal/include/exec-env/rte_kni_common.h | 4 +- > lib/librte_mbuf/rte_mbuf.c | 6 - > lib/librte_mbuf/rte_mbuf.h | 127 +++- > lib/librte_pmd_e1000/igb_rxtx.c | 98 ++- > lib/librte_pmd_enic/enic_main.c | 14 +- > lib/librte_pmd_i40e/i40e_rxtx.c | 786 ++++++++++++++-= ------ > lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 146 +++- > lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 49 +- > lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c | 4 +- > 17 files changed, 921 insertions(+), 448 deletions(-) >=20 > -- > 1.9.3 Acked-by: Cunming Liang =20