[dpdk-dev] drivers/net: document missing speed capabilities feature

Message ID 20170510131053.75843-1-ferruh.yigit@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Ferruh Yigit May 10, 2017, 1:10 p.m. UTC
  Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---

Please check other features of PMD and document missing ones in features
file.

Thanks.
---
 doc/guides/nics/features/ark.ini          | 1 +
 doc/guides/nics/features/bnx2x.ini        | 1 +
 doc/guides/nics/features/bnx2x_vf.ini     | 1 +
 doc/guides/nics/features/cxgbe.ini        | 1 +
 doc/guides/nics/features/dpaa2.ini        | 1 +
 doc/guides/nics/features/e1000.ini        | 1 +
 doc/guides/nics/features/ena.ini          | 1 +
 doc/guides/nics/features/fm10k.ini        | 1 +
 doc/guides/nics/features/fm10k_vec.ini    | 1 +
 doc/guides/nics/features/fm10k_vf.ini     | 1 +
 doc/guides/nics/features/fm10k_vf_vec.ini | 1 +
 doc/guides/nics/features/i40e.ini         | 1 +
 doc/guides/nics/features/i40e_vec.ini     | 1 +
 doc/guides/nics/features/igb.ini          | 1 +
 doc/guides/nics/features/ixgbe.ini        | 1 +
 doc/guides/nics/features/ixgbe_vec.ini    | 1 +
 doc/guides/nics/features/mlx4.ini         | 1 +
 doc/guides/nics/features/szedata2.ini     | 1 +
 doc/guides/nics/features/tap.ini          | 2 +-
 doc/guides/nics/features/virtio.ini       | 1 +
 doc/guides/nics/features/virtio_vec.ini   | 1 +
 doc/guides/nics/features/vmxnet3.ini      | 1 +
 22 files changed, 22 insertions(+), 1 deletion(-)
  

Comments

John McNamara May 10, 2017, 1:49 p.m. UTC | #1
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Wednesday, May 10, 2017 2:11 PM
> To: Shepard Siegel <shepard.siegel@atomicrules.com>; Ed Czeck
> <ed.czeck@atomicrules.com>; John Miller <john.miller@atomicrules.com>;
> Mcnamara, John <john.mcnamara@intel.com>; Harish Patil
> <harish.patil@cavium.com>; Rasesh Mody <rasesh.mody@cavium.com>; Rahul
> Lakkireddy <rahul.lakkireddy@chelsio.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>; Shreyansh Jain <shreyansh.jain@nxp.com>; Lu,
> Wenzhuo <wenzhuo.lu@intel.com>; Marcin Wojtas <mw@semihalf.com>; Michal
> Krawczyk <mk@semihalf.com>; Guy Tzalik <gtzalik@amazon.com>; Evgeny
> Schemeilin <evgenys@amazon.com>; Chen, Jing D <jing.d.chen@intel.com>;
> Zhang, Helin <helin.zhang@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>; Adrien Mazarguil
> <adrien.mazarguil@6wind.com>; Nelio Laranjeiro
> <nelio.laranjeiro@6wind.com>; Matej Vido <vido@cesnet.cz>; Pascal Mazon
> <pascal.mazon@6wind.com>; Yuanhan Liu <yuanhan.liu@linux.intel.com>;
> Maxime Coquelin <maxime.coquelin@redhat.com>; Shrikrishna Khare
> <skhare@vmware.com>
> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>
> Subject: [PATCH] drivers/net: document missing speed capabilities feature
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>


> 
> Please check other features of PMD and document missing ones in features
> file.

+1 to this suggestion. PMD maintainers should check the Nic Overview table
and update any supported features:

    http://dpdk.org/doc/guides/nics/overview.html


Acked-by: John McNamara <john.mcnamara@intel.com>
  
Thomas Monjalon May 10, 2017, 1:51 p.m. UTC | #2
10/05/2017 15:10, Ferruh Yigit:
> --- a/doc/guides/nics/features/bnx2x.ini
> +++ b/doc/guides/nics/features/bnx2x.ini
> @@ -4,6 +4,7 @@
>  ; Refer to default.ini for the full list of available PMD features.
>  ;
>  [Features]
> +Speed capabilities   = Y

We should validate this feature only if the driver advertise the
right speeds for the device.
Most of drivers advertise every possible speeds for the driver
without considering device limitations.
  
Ferruh Yigit May 12, 2017, 10:49 a.m. UTC | #3
On 5/10/2017 2:51 PM, Thomas Monjalon wrote:
> 10/05/2017 15:10, Ferruh Yigit:
>> --- a/doc/guides/nics/features/bnx2x.ini
>> +++ b/doc/guides/nics/features/bnx2x.ini
>> @@ -4,6 +4,7 @@
>>  ; Refer to default.ini for the full list of available PMD features.
>>  ;
>>  [Features]
>> +Speed capabilities   = Y
> 
> We should validate this feature only if the driver advertise the
> right speeds for the device.

Hi Thomas,

Can you please clarify more, what is expected implementation in PMD?
And perhaps a good and a bad sample can be helpful.

Thanks,
ferruh


> Most of drivers advertise every possible speeds for the driver
> without considering device limitations.
>
  
Thomas Monjalon May 12, 2017, 3:48 p.m. UTC | #4
12/05/2017 12:49, Ferruh Yigit:
> On 5/10/2017 2:51 PM, Thomas Monjalon wrote:
> > 10/05/2017 15:10, Ferruh Yigit:
> >> --- a/doc/guides/nics/features/bnx2x.ini
> >> +++ b/doc/guides/nics/features/bnx2x.ini
> >> @@ -4,6 +4,7 @@
> >>  ; Refer to default.ini for the full list of available PMD features.
> >>  ;
> >>  [Features]
> >> +Speed capabilities   = Y
> > 
> > We should validate this feature only if the driver advertise the
> > right speeds for the device.
> 
> Hi Thomas,
> 
> Can you please clarify more, what is expected implementation in PMD?

It is expected to advertise only the speeds that the device is
capable to offer.

> And perhaps a good and a bad sample can be helpful.

Good example:
drivers/net/i40e/i40e_ethdev.c
    if (I40E_PHY_TYPE_SUPPORT_40G(hw->phy.phy_types))
        /* For XL710 */
        dev_info->speed_capa = ETH_LINK_SPEED_40G;
    else if (I40E_PHY_TYPE_SUPPORT_25G(hw->phy.phy_types))
        /* For XXV710 */
        dev_info->speed_capa = ETH_LINK_SPEED_25G;
    else
        /* For X710 */
        dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G;

Bad example:
drivers/net/bnx2x/bnx2x_ethdev.c
    dev_info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_20G;
Looking at qlogic.com, only some 57840 adapters are capable of 20G.
  
Ferruh Yigit May 15, 2017, 8:40 a.m. UTC | #5
On 5/12/2017 4:48 PM, Thomas Monjalon wrote:
> 12/05/2017 12:49, Ferruh Yigit:
>> On 5/10/2017 2:51 PM, Thomas Monjalon wrote:
>>> 10/05/2017 15:10, Ferruh Yigit:
>>>> --- a/doc/guides/nics/features/bnx2x.ini
>>>> +++ b/doc/guides/nics/features/bnx2x.ini
>>>> @@ -4,6 +4,7 @@
>>>>  ; Refer to default.ini for the full list of available PMD features.
>>>>  ;
>>>>  [Features]
>>>> +Speed capabilities   = Y
>>>
>>> We should validate this feature only if the driver advertise the
>>> right speeds for the device.
>>
>> Hi Thomas,
>>
>> Can you please clarify more, what is expected implementation in PMD?
> 
> It is expected to advertise only the speeds that the device is
> capable to offer.
> 
>> And perhaps a good and a bad sample can be helpful.
> 
> Good example:
> drivers/net/i40e/i40e_ethdev.c
>     if (I40E_PHY_TYPE_SUPPORT_40G(hw->phy.phy_types))
>         /* For XL710 */
>         dev_info->speed_capa = ETH_LINK_SPEED_40G;
>     else if (I40E_PHY_TYPE_SUPPORT_25G(hw->phy.phy_types))
>         /* For XXV710 */
>         dev_info->speed_capa = ETH_LINK_SPEED_25G;
>     else
>         /* For X710 */
>         dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G;
> 
> Bad example:
> drivers/net/bnx2x/bnx2x_ethdev.c
>     dev_info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_20G;
> Looking at qlogic.com, only some 57840 adapters are capable of 20G.

OK, I will update the patch according.

Does it make sense to mark PMDs that report speed_capabilities, but
without checking actual hw, as partial "P", to differentiate them from
the ones that doesn't report at all, also this may help to PMD
maintainers about what to fix.

Thanks,
ferruh
  
Thomas Monjalon May 15, 2017, 9:33 a.m. UTC | #6
15/05/2017 10:40, Ferruh Yigit:
> On 5/12/2017 4:48 PM, Thomas Monjalon wrote:
> > 12/05/2017 12:49, Ferruh Yigit:
> >> On 5/10/2017 2:51 PM, Thomas Monjalon wrote:
> >>> 10/05/2017 15:10, Ferruh Yigit:
> >>>> --- a/doc/guides/nics/features/bnx2x.ini
> >>>> +++ b/doc/guides/nics/features/bnx2x.ini
> >>>> @@ -4,6 +4,7 @@
> >>>>  ; Refer to default.ini for the full list of available PMD features.
> >>>>  ;
> >>>>  [Features]
> >>>> +Speed capabilities   = Y
> >>>
> >>> We should validate this feature only if the driver advertise the
> >>> right speeds for the device.
> >>
> >> Hi Thomas,
> >>
> >> Can you please clarify more, what is expected implementation in PMD?
> > 
> > It is expected to advertise only the speeds that the device is
> > capable to offer.
> > 
> >> And perhaps a good and a bad sample can be helpful.
> > 
> > Good example:
> > drivers/net/i40e/i40e_ethdev.c
> >     if (I40E_PHY_TYPE_SUPPORT_40G(hw->phy.phy_types))
> >         /* For XL710 */
> >         dev_info->speed_capa = ETH_LINK_SPEED_40G;
> >     else if (I40E_PHY_TYPE_SUPPORT_25G(hw->phy.phy_types))
> >         /* For XXV710 */
> >         dev_info->speed_capa = ETH_LINK_SPEED_25G;
> >     else
> >         /* For X710 */
> >         dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G;
> > 
> > Bad example:
> > drivers/net/bnx2x/bnx2x_ethdev.c
> >     dev_info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_20G;
> > Looking at qlogic.com, only some 57840 adapters are capable of 20G.
> 
> OK, I will update the patch according.
> 
> Does it make sense to mark PMDs that report speed_capabilities, but
> without checking actual hw, as partial "P", to differentiate them from
> the ones that doesn't report at all, also this may help to PMD
> maintainers about what to fix.

Yes, we can use partial "P" here.
  
Alejandro Lucero May 16, 2017, 9:39 a.m. UTC | #7
Maybe we need another feature for detected link speed report capability.

There is already support for ETH_SPEED_NUM_NONE if the speed is not defined
or it can not be specified by the device. Netronome has some firmwares
without that link speed report capability, although maybe we are not the
only ones with that problem.


What do you think about this?


On Fri, May 12, 2017 at 4:48 PM, Thomas Monjalon <thomas@monjalon.net>
wrote:

> 12/05/2017 12:49, Ferruh Yigit:
> > On 5/10/2017 2:51 PM, Thomas Monjalon wrote:
> > > 10/05/2017 15:10, Ferruh Yigit:
> > >> --- a/doc/guides/nics/features/bnx2x.ini
> > >> +++ b/doc/guides/nics/features/bnx2x.ini
> > >> @@ -4,6 +4,7 @@
> > >>  ; Refer to default.ini for the full list of available PMD features.
> > >>  ;
> > >>  [Features]
> > >> +Speed capabilities   = Y
> > >
> > > We should validate this feature only if the driver advertise the
> > > right speeds for the device.
> >
> > Hi Thomas,
> >
> > Can you please clarify more, what is expected implementation in PMD?
>
> It is expected to advertise only the speeds that the device is
> capable to offer.
>
> > And perhaps a good and a bad sample can be helpful.
>
> Good example:
> drivers/net/i40e/i40e_ethdev.c
>     if (I40E_PHY_TYPE_SUPPORT_40G(hw->phy.phy_types))
>         /* For XL710 */
>         dev_info->speed_capa = ETH_LINK_SPEED_40G;
>     else if (I40E_PHY_TYPE_SUPPORT_25G(hw->phy.phy_types))
>         /* For XXV710 */
>         dev_info->speed_capa = ETH_LINK_SPEED_25G;
>     else
>         /* For X710 */
>         dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G;
>
> Bad example:
> drivers/net/bnx2x/bnx2x_ethdev.c
>     dev_info->speed_capa = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_20G;
> Looking at qlogic.com, only some 57840 adapters are capable of 20G.
>
>
  
Thomas Monjalon May 16, 2017, 10:02 a.m. UTC | #8
16/05/2017 11:39, Alejandro Lucero:
> Maybe we need another feature for detected link speed report capability.
> 
> There is already support for ETH_SPEED_NUM_NONE if the speed is not defined
> or it can not be specified by the device. Netronome has some firmwares
> without that link speed report capability, although maybe we are not the
> only ones with that problem.
> 
> 
> What do you think about this?

Yes, you mean you can advertise a speed capability,
but cannot report the real negotiated speed, right?
So we could add this feature.
There are also virtual drivers which cannot report some real speed.
  
Alejandro Lucero May 16, 2017, 10:17 a.m. UTC | #9
On Tue, May 16, 2017 at 11:02 AM, Thomas Monjalon <thomas@monjalon.net>
wrote:

> 16/05/2017 11:39, Alejandro Lucero:
> > Maybe we need another feature for detected link speed report capability.
> >
> > There is already support for ETH_SPEED_NUM_NONE if the speed is not
> defined
> > or it can not be specified by the device. Netronome has some firmwares
> > without that link speed report capability, although maybe we are not the
> > only ones with that problem.
> >
> >
> > What do you think about this?
>
> Yes, you mean you can advertise a speed capability,
> but cannot report the real negotiated speed, right?
> So we could add this feature.
>

Perfect.


> There are also virtual drivers which cannot report some real speed.
>
>
Yes, that is right. Virtual drivers can not report speed.

We have a problem with a client using pktgen which assumes a device will
report the link speed always. By the way, I will send a patch for avoiding
this issue with pktgen.

Thanks
  

Patch

diff --git a/doc/guides/nics/features/ark.ini b/doc/guides/nics/features/ark.ini
index 31a3527..ec8a2b9 100644
--- a/doc/guides/nics/features/ark.ini
+++ b/doc/guides/nics/features/ark.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Queue start/stop     = Y
 Jumbo frame          = Y
 Scattered Rx         = Y
diff --git a/doc/guides/nics/features/bnx2x.ini b/doc/guides/nics/features/bnx2x.ini
index 1ad8a3e..b41645a 100644
--- a/doc/guides/nics/features/bnx2x.ini
+++ b/doc/guides/nics/features/bnx2x.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Promiscuous mode     = Y
diff --git a/doc/guides/nics/features/bnx2x_vf.ini b/doc/guides/nics/features/bnx2x_vf.ini
index da9168e..7cd972d 100644
--- a/doc/guides/nics/features/bnx2x_vf.ini
+++ b/doc/guides/nics/features/bnx2x_vf.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Promiscuous mode     = Y
diff --git a/doc/guides/nics/features/cxgbe.ini b/doc/guides/nics/features/cxgbe.ini
index 2e72a10..3d0fde2 100644
--- a/doc/guides/nics/features/cxgbe.ini
+++ b/doc/guides/nics/features/cxgbe.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Queue start/stop     = Y
 MTU update           = Y
diff --git a/doc/guides/nics/features/dpaa2.ini b/doc/guides/nics/features/dpaa2.ini
index d43f404..259c2ee 100644
--- a/doc/guides/nics/features/dpaa2.ini
+++ b/doc/guides/nics/features/dpaa2.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Queue start/stop     = Y
 MTU update           = Y
diff --git a/doc/guides/nics/features/e1000.ini b/doc/guides/nics/features/e1000.ini
index 260d46d..4c8ac48 100644
--- a/doc/guides/nics/features/e1000.ini
+++ b/doc/guides/nics/features/e1000.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Rx interrupt         = Y
diff --git a/doc/guides/nics/features/ena.ini b/doc/guides/nics/features/ena.ini
index 74969fd..1b33d3b 100644
--- a/doc/guides/nics/features/ena.ini
+++ b/doc/guides/nics/features/ena.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Queue start/stop     = Y
 MTU update           = Y
 Jumbo frame          = Y
diff --git a/doc/guides/nics/features/fm10k.ini b/doc/guides/nics/features/fm10k.ini
index 9e1035f..fb8214e 100644
--- a/doc/guides/nics/features/fm10k.ini
+++ b/doc/guides/nics/features/fm10k.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Rx interrupt         = Y
 Queue start/stop     = Y
 Jumbo frame          = Y
diff --git a/doc/guides/nics/features/fm10k_vec.ini b/doc/guides/nics/features/fm10k_vec.ini
index 1384ab1..f1a22bf 100644
--- a/doc/guides/nics/features/fm10k_vec.ini
+++ b/doc/guides/nics/features/fm10k_vec.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Rx interrupt         = Y
 Queue start/stop     = Y
 Jumbo frame          = Y
diff --git a/doc/guides/nics/features/fm10k_vf.ini b/doc/guides/nics/features/fm10k_vf.ini
index 15de536..92b5edb 100644
--- a/doc/guides/nics/features/fm10k_vf.ini
+++ b/doc/guides/nics/features/fm10k_vf.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Rx interrupt         = Y
 Queue start/stop     = Y
 Jumbo frame          = Y
diff --git a/doc/guides/nics/features/fm10k_vf_vec.ini b/doc/guides/nics/features/fm10k_vf_vec.ini
index b32550c..046dcb9 100644
--- a/doc/guides/nics/features/fm10k_vf_vec.ini
+++ b/doc/guides/nics/features/fm10k_vf_vec.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Rx interrupt         = Y
 Queue start/stop     = Y
 Jumbo frame          = Y
diff --git a/doc/guides/nics/features/i40e.ini b/doc/guides/nics/features/i40e.ini
index ecabce0..e862712 100644
--- a/doc/guides/nics/features/i40e.ini
+++ b/doc/guides/nics/features/i40e.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Rx interrupt         = Y
diff --git a/doc/guides/nics/features/i40e_vec.ini b/doc/guides/nics/features/i40e_vec.ini
index 206f348..7d7b3a9 100644
--- a/doc/guides/nics/features/i40e_vec.ini
+++ b/doc/guides/nics/features/i40e_vec.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Rx interrupt         = Y
diff --git a/doc/guides/nics/features/igb.ini b/doc/guides/nics/features/igb.ini
index 1145027..712063d 100644
--- a/doc/guides/nics/features/igb.ini
+++ b/doc/guides/nics/features/igb.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Rx interrupt         = Y
diff --git a/doc/guides/nics/features/ixgbe.ini b/doc/guides/nics/features/ixgbe.ini
index 4aa7af6..9ff5d8f 100644
--- a/doc/guides/nics/features/ixgbe.ini
+++ b/doc/guides/nics/features/ixgbe.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Rx interrupt         = Y
diff --git a/doc/guides/nics/features/ixgbe_vec.ini b/doc/guides/nics/features/ixgbe_vec.ini
index 4da8118..4d56df4 100644
--- a/doc/guides/nics/features/ixgbe_vec.ini
+++ b/doc/guides/nics/features/ixgbe_vec.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Rx interrupt         = Y
diff --git a/doc/guides/nics/features/mlx4.ini b/doc/guides/nics/features/mlx4.ini
index 285f0ec..1cf7979 100644
--- a/doc/guides/nics/features/mlx4.ini
+++ b/doc/guides/nics/features/mlx4.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Removal event        = Y
diff --git a/doc/guides/nics/features/szedata2.ini b/doc/guides/nics/features/szedata2.ini
index 624314d..cf41b6c 100644
--- a/doc/guides/nics/features/szedata2.ini
+++ b/doc/guides/nics/features/szedata2.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Queue start/stop     = Y
 Scattered Rx         = Y
diff --git a/doc/guides/nics/features/tap.ini b/doc/guides/nics/features/tap.ini
index 3efae75..d410409 100644
--- a/doc/guides/nics/features/tap.ini
+++ b/doc/guides/nics/features/tap.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Jumbo frame          = Y
@@ -13,7 +14,6 @@  Basic stats          = Y
 Flow API             = Y
 MTU update           = Y
 Multicast MAC filter = Y
-Speed capabilities   = Y
 Unicast MAC filter   = Y
 Packet type parsing  = Y
 Flow control         = Y
diff --git a/doc/guides/nics/features/virtio.ini b/doc/guides/nics/features/virtio.ini
index 8e3aca1..ca77362 100644
--- a/doc/guides/nics/features/virtio.ini
+++ b/doc/guides/nics/features/virtio.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Rx interrupt         = Y
 Queue start/stop     = Y
diff --git a/doc/guides/nics/features/virtio_vec.ini b/doc/guides/nics/features/virtio_vec.ini
index ec93f5c..06e9089 100644
--- a/doc/guides/nics/features/virtio_vec.ini
+++ b/doc/guides/nics/features/virtio_vec.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Rx interrupt         = Y
 Queue start/stop     = Y
diff --git a/doc/guides/nics/features/vmxnet3.ini b/doc/guides/nics/features/vmxnet3.ini
index ef95932..c44ca96 100644
--- a/doc/guides/nics/features/vmxnet3.ini
+++ b/doc/guides/nics/features/vmxnet3.ini
@@ -4,6 +4,7 @@ 
 ; Refer to default.ini for the full list of available PMD features.
 ;
 [Features]
+Speed capabilities   = Y
 Link status          = Y
 Link status event    = Y
 Queue start/stop     = Y