From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v10 00/19] unified packet type Date: Thu, 16 Jul 2015 01:00:55 +0200 Message-ID: <1656470.VpSR9lnEEE@xps13> References: <1435912347-19499-1-git-send-email-helin.zhang@intel.com> <1436459501-14173-1-git-send-email-helin.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Helin Zhang Return-path: Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com [209.85.212.179]) by dpdk.org (Postfix) with ESMTP id 5CE393772 for ; Thu, 16 Jul 2015 01:02:08 +0200 (CEST) Received: by wiga1 with SMTP id a1so962818wig.0 for ; Wed, 15 Jul 2015 16:02:08 -0700 (PDT) In-Reply-To: <1436459501-14173-1-git-send-email-helin.zhang@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2015-07-10 00:31, Helin Zhang: > Currently only 6 bits which are stored in ol_flags are used to indicate the > packet types. This is not enough, as some NIC hardware can recognize quite > a lot of packet types, e.g i40e hardware can recognize more than 150 packet > types. Hiding those packet types hides hardware offload capabilities which > 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. > > Initially, 32 bits of packet_type can be divided into several sub fields to > indicate different packet type information of a packet. The initial design > is to divide those bits into fields for L2 types, L3 types, L4 types, tunnel > 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. > > To avoid breaking ABI compatibility, currently all the code changes for > unified packet type are disabled at compile time by default. Users can enable > it manually by defining the macro of RTE_NEXT_ABI. The code changes will be > valid by default in a future release, and the old version will be deleted > accordingly, after the ABI change process is done. Applied with fixes for cxgbe and mlx4, thanks everyone The macro RTE_ETH_IS_TUNNEL_PKT may need to take RTE_PTYPE_INNER_* into account.