From: Thomas Monjalon <hidden> Date: 2016-01-26 20:54:22
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 <redacted>
---
doc/guides/nics/index.rst | 1 +
doc/guides/nics/overview.rst | 145 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 146 insertions(+)
create mode 100644 doc/guides/nics/overview.rst
@@ -0,0 +1,145 @@+.. 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: 5px;+ }+ 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 f m m m n n p r s v v x+ f n n o x 1 n 4 4 g g x x m l l p f u c i z i m e+ p x x n g 0 i 0 0 b b g g 1 x x i p l a n e r x n+ a 2 2 d b 0 c e e v b b 0 4 5 p l p g d t n v+ c x x i e 0 v f e e k e a i e i+ k v n f v t o t r+ e f g f a 3 t+ t 2+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = =+ 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+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = =
From: Thomas Monjalon <hidden> Date: 2016-01-27 20:08:23
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 <redacted>
---
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
@@ -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+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
From: Thomas Monjalon <hidden> Date: 2016-02-09 11:23:21
2016-01-27 21:07, Thomas Monjalon:
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 <redacted>
---
v2: add vector PMDs
Nobody complains after 2 weeks, so I guess the idea is welcomed.
Applied
The LaTeX formatting still needs to be fixed to view the entire table
in the PDF doc.
This empty table will have a value when it will be properly filled.
Please, maintainers of drivers, your help is requested here.
We now have 2 months to fill each driver columns with crosses (X).
Thanks
Hi Thomas,
Got a couple of questions on how to mark some of the features for CXGBE
below.
On Wednesday, January 01/27/16, 2016 at 21:07:09 +0100, Thomas Monjalon wrote:
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 <redacted>
---
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
[...]
+
+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+ 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
From: Thomas Monjalon <hidden> Date: 2016-02-16 13:44:02
2016-02-16 17:05, Rahul Lakkireddy:
Hi Thomas,
Got a couple of questions on how to mark some of the features for CXGBE
below.
On Wednesday, January 01/27/16, 2016 at 21:07:09 +0100, Thomas Monjalon wrote:
Hi Thomas,
On Tuesday, February 02/16/16, 2016 at 05:42:30 -0800, Thomas Monjalon wrote:
2016-02-16 17:05, Rahul Lakkireddy:
quoted
Hi Thomas,
Got a couple of questions on how to mark some of the features for CXGBE
below.
On Wednesday, January 01/27/16, 2016 at 21:07:09 +0100, Thomas Monjalon wrote:
It is possible to set some of the above filters via our cxgbe flow
director. Do we mark these filter features as supported?
How do you configure these filters? rte_eth_dev_filter_ctrl()?
Which type in rte_filter_type?
Yes, we configure it with rte_eth_dev_filter_ctrl() and with
RTE_ETH_FILTER_FDIR filter type. With Chelsio hardware it's possible
to match several different filters in the same rule.
For e.g., it's possible to set a vlan, ethertype, and n-tuple filters
all on the same rule.
The generic architecture [1] for flow director can accept these several
filters in the same rule and hence the cxgbe flow director can handle
these different filters with this generic approach.
[1] http://dpdk.org/ml/archives/dev/2016-February/032605.html
Thanks,
Rahul
From: Matej Vido <hidden> Date: 2016-03-01 13:53:42
Hi Thomas,
Dňa 27.01.2016 o 21:07 Thomas Monjalon napísal(a):
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 <redacted>
---
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
[...]
+
+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+ 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
+ ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
[...]
+ multiprocess aware
Could you please clarify what was meant by this "multiprocess aware" field?
Thanks,
Matej