From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: John McNamara <john.mcnamara@intel.com>
Cc: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v2] doc: introduce networking driver matrix
Date: Wed, 27 Jan 2016 21:07:09 +0100 [thread overview]
Message-ID: <1453925229-19696-1-git-send-email-thomas.monjalon@6wind.com> (raw)
In-Reply-To: <1453841586-27747-1-git-send-email-thomas.monjalon@6wind.com>
In order to better compare the drivers and check what is missing
for a common baseline, we need to fill a matrix.
A CSS trick is used to fit the HTML page.
The PDF output needs some LaTeX wizardry.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
v2: add vector PMDs
---
doc/guides/nics/index.rst | 1 +
doc/guides/nics/overview.rst | 147 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 148 insertions(+)
create mode 100644 doc/guides/nics/overview.rst
diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
index 33c9cea..8618114 100644
--- a/doc/guides/nics/index.rst
+++ b/doc/guides/nics/index.rst
@@ -35,6 +35,7 @@ Network Interface Controller Drivers
:maxdepth: 3
:numbered:
+ overview
bnx2x
cxgbe
e1000em
diff --git a/doc/guides/nics/overview.rst b/doc/guides/nics/overview.rst
new file mode 100644
index 0000000..d4c6ff4
--- /dev/null
+++ b/doc/guides/nics/overview.rst
@@ -0,0 +1,147 @@
+.. BSD LICENSE
+ Copyright 2016 6WIND S.A.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of 6WIND S.A. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Overview of Networking Drivers
+==============================
+
+The networking drivers may be classified in two categories:
+
+- physical for real devices
+- virtual for emulated devices
+
+Some physical devices may be shaped through a virtual layer as for
+SR-IOV.
+The interface seen in the virtual environment is a VF (Virtual Function).
+
+The ethdev layer exposes an API to use the networking functions
+of these devices.
+The bottom half part of ethdev is implemented by the drivers.
+Thus some features may not be implemented.
+
+There are more differences between drivers regarding some internal properties,
+portability or even documentation availability.
+Most of these differences are summarized below.
+
+.. _table_net_pmd_features:
+
+.. raw:: html
+
+ <style>
+ table#id1 th {
+ font-size: 80%;
+ white-space: pre-wrap;
+ text-align: center;
+ vertical-align: top;
+ padding: 3px;
+ }
+ table#id1 th:first-child {
+ vertical-align: bottom;
+ }
+ table#id1 td {
+ font-size: 70%;
+ padding: 1px;
+ }
+ table#id1 td:first-child {
+ padding-left: 1em;
+ }
+ </style>
+
+.. table:: Features availability in networking drivers
+
+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+ Feature a b b b c e e i i i i i i i i i i f f m m m n n p r s v v v x
+ f n n o x 1 n 4 4 4 4 g g x x x x m m l l p f u c i z i i m e
+ p x x n g 0 i 0 0 0 0 b b g g g g 1 1 x x i p l a n e r r x n
+ a 2 2 d b 0 c e e e e v b b b b 0 0 4 5 p l p g d t t n v
+ c x x i e 0 . v v f e e e e k k e a i i e i
+ k v n . f f . v v . t o o t r
+ e f g . . . f f . a . 3 t
+ t v v v v v 2 v
+ e e e e e e
+ c c c c c c
+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+ link status
+ link status event
+ Rx interrupt
+ queue start/stop
+ MTU update
+ jumbo frame
+ scattered Rx
+ LRO
+ TSO
+ promiscuous mode
+ allmulticast mode
+ unicast MAC filter
+ multicast MAC filter
+ RSS hash
+ RSS key update
+ RSS reta update
+ VMDq
+ SR-IOV
+ DCB
+ VLAN filter
+ ethertype filter
+ n-tuple filter
+ SYN filter
+ tunnel filter
+ flexible filter
+ hash filter
+ flow director
+ flow control
+ rate limitation
+ traffic mirroring
+ CRC offload
+ VLAN offload
+ QinQ offload
+ L3 checksum offload
+ L4 checksum offload
+ inner L3 checksum
+ inner L4 checksum
+ packet type parsing
+ timesync
+ basic stats
+ extended stats
+ stats per queue
+ EEPROM dump
+ registers dump
+ multiprocess aware
+ BSD nic_uio
+ Linux UIO
+ Linux VFIO
+ other kdrv
+ ARMv7
+ ARMv8
+ Power8
+ TILE-Gx
+ x86-32
+ x86-64
+ usage doc
+ design doc
+ perf doc
+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
--
2.5.2
next prev parent reply other threads:[~2016-01-27 20:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-26 20:53 [dpdk-dev] [PATCH] " Thomas Monjalon
2016-01-27 20:07 ` Thomas Monjalon [this message]
2016-02-09 11:21 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
2016-02-16 11:35 ` Rahul Lakkireddy
2016-02-16 13:42 ` Thomas Monjalon
2016-02-17 9:52 ` Rahul Lakkireddy
2016-03-01 13:53 ` Matej Vido
2016-03-01 14:12 ` Thomas Monjalon
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=1453925229-19696-1-git-send-email-thomas.monjalon@6wind.com \
--to=thomas.monjalon@6wind.com \
--cc=dev@dpdk.org \
--cc=john.mcnamara@intel.com \
/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).