[dpdk-dev] [PATCH v3 00/16] unified packet type
Liang, Cunming
cunming.liang at intel.com
Tue Feb 17 08:03:31 CET 2015
> -----Original Message-----
> From: Zhang, Helin
> Sent: Tuesday, February 17, 2015 2:59 PM
> To: dev at dpdk.org
> Cc: Cao, Waterman; Liang, Cunming; Liu, Jijiang; Ananyev, Konstantin; Richardson,
> Bruce; Zhang, Helin
> Subject: [PATCH v3 00/16] unified packet type
>
> 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.
>
> 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 need
> at all according to the recent bond changes.
>
> 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.
>
> 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
>
> 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(-)
>
> --
> 1.9.3
Acked-by: Cunming Liang <cunming.liang at intel.com>
More information about the dev
mailing list