From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Liang, Cunming" Subject: Re: [PATCH v3 00/16] unified packet type 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> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable To: "Zhang, Helin" , "dev-VfR2kkLFssw@public.gmane.org" Return-path: In-Reply-To: <1424156374-21768-1-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Content-Language: en-US List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" > -----Original Message----- > From: Zhang, Helin > Sent: Tuesday, February 17, 2015 2:59 PM > To: dev-VfR2kkLFssw@public.gmane.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