DPDK patches and discussions
 help / color / mirror / Atom feed
From: Helin Zhang <helin.zhang@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [RFC 00/17] unified packet type
Date: Mon, 19 Jan 2015 11:23:06 +0800	[thread overview]
Message-ID: <1421637803-17034-1-git-send-email-helin.zhang@intel.com> (raw)

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. Recently
a 16 bits packet_type field has been added in mbuf header which can be 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, 16 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 4 fields for L3 types, tunnel types, inner L3
types and L4 types. All PMDs should translate the offloaded packet types into
this 4 fields of information, for user applications.

As the changes affect all PMDs, mbuf and ethdev library, comments and ideas
are welcome!

Helin Zhang (17):
  mbuf: add definitions of unified packet types
  e1000: support of unified packet type
  ixgbe: support of unified packet type
  ixgbe: support of unified packet type
  i40e: support of unified packet type
  bond: 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/test-pmd: support of unified packet type
  app/test: 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 for ol_flags

 app/test-pipeline/pipeline_hash.c      |   4 +-
 app/test-pmd/csumonly.c                |   6 +-
 app/test-pmd/rxonly.c                  |   9 +-
 app/test/packet_burst_generator.c      |  10 +-
 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                  |  64 +--
 lib/librte_mbuf/rte_mbuf.c             |   6 -
 lib/librte_mbuf/rte_mbuf.h             |  78 +++-
 lib/librte_pmd_bond/rte_eth_bond_pmd.c |   9 +-
 lib/librte_pmd_e1000/igb_rxtx.c        |  95 +++-
 lib/librte_pmd_enic/enic_main.c        |  14 +-
 lib/librte_pmd_i40e/i40e_rxtx.c        | 778 +++++++++++++++++++++------------
 lib/librte_pmd_ixgbe/ixgbe_rxtx.c      | 141 ++++--
 lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c  |  39 +-
 lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c  |   4 +-
 18 files changed, 859 insertions(+), 436 deletions(-)

-- 
1.8.1.4

             reply	other threads:[~2015-01-19  3:23 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-19  3:23 Helin Zhang [this message]
2015-01-19  3:23 ` [dpdk-dev] [RFC 01/17] mbuf: add definitions of unified packet types Helin Zhang
2015-01-19 16:19   ` Ananyev, Konstantin
2015-01-20  3:47     ` Zhang, Helin
2015-01-19 16:33   ` Neil Horman
2015-01-19 17:27     ` Olivier MATZ
2015-01-19 18:15       ` Neil Horman
2015-01-20  2:28       ` Zhang, Helin
2015-01-20  9:53         ` Olivier MATZ
2015-01-19  3:23 ` [dpdk-dev] [RFC 02/17] e1000: support of unified packet type Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 03/17] ixgbe: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 04/17] " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 05/17] i40e: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 06/17] bond: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 07/17] enic: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 08/17] vmxnet3: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 09/17] app/test-pipeline: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 10/17] app/test-pmd: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 11/17] app/test: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 12/17] examples/ip_fragmentation: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 13/17] examples/ip_reassembly: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 14/17] examples/l3fwd-acl: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 15/17] examples/l3fwd-power: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 16/17] examples/l3fwd: " Helin Zhang
2015-01-19  3:23 ` [dpdk-dev] [RFC 17/17] mbuf: remove old packet type bit masks for ol_flags Helin Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1421637803-17034-1-git-send-email-helin.zhang@intel.com \
    --to=helin.zhang@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).