[dpdk-dev] [PATCH v3 03/16] mbuf: add definitions of unified packet types

Olivier MATZ olivier.matz at 6wind.com
Tue Feb 17 10:01:40 CET 2015


Hi Helin,

On 02/17/2015 07:59 AM, Helin Zhang wrote:
> As there are only 6 bit flags in ol_flags for indicating packet
> types, which is not enough to describe all the possible packet
> types hardware can recognize. For example, i40e hardware can
> recognize more than 150 packet types. Unified packet type is
> composed of L2 type, L3 type, L4 type, tunnel type, inner L2 type,
> inner L3 type and inner L4 type fields, and can be stored in
> 'struct rte_mbuf' of 32 bits field 'packet_type'.
>
> Signed-off-by: Helin Zhang <helin.zhang at intel.com>

A formal definition of each flag is still missing. I explained
several times why it's needed. We must be able to answer to these
questions:

- If I'm developing a PMD, what fields should I check in the packet
   to set a specific flag?
- If I'm developing an application, if a specific flag is set, what
   checks can I skip?

Example with RTE_PTYPE_L3_IPV4:

- IP version field is 4
- no IP options (header size is 20)
- layer 2 identified the packet as IP (ex: ethertype=0x800)

I think we need such a definition for all packet types.

Regards,
Olivier



More information about the dev mailing list