[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