[ovs-dev] netdev-dpdk: Support the link speed of XL710

Ian Stokes ian.stokes at intel.com
Thu Aug 23 11:34:08 UTC 2018


On 8/22/2018 6:14 PM, Federico Iezzi wrote:
> DPDK exposes API all the way from 10Mbps to 100Gbps.
> http://doc.dpdk.org/api/rte__ethdev_8h_source.html
> 
> Can other cards be added? 25G is now getting really popular.
> 
> Thanks

It’s a good point, technically there’s nothing stopping users from using 
25/50/56/100 Gbp HW.

25/50/56 Gb are not defined specifically as a port feature rate in the 
openflow specifications at this time so they would have to be defined as 
NETDEV_F_OTHER to correlate to the feature rate not being in the 
ofp_port feature list in openflow.

The following incremental on the patch below should suffice:

@@ -2735,9 +2735,21 @@ netdev_dpdk_get_features(const struct netdev *netdev,
          if (link.link_speed == ETH_SPEED_NUM_10G) {
              *current = NETDEV_F_10GB_FD;
          }
+        if (link.link_speed == ETH_SPEED_NUM_25G) {
+            *current = NETDEV_F_OTHER;
+        }
          if (link.link_speed == ETH_SPEED_NUM_40G) {
              *current = NETDEV_F_40GB_FD;
          }
+        if (link.link_speed == ETH_SPEED_NUM_50G) {
+            *current = NETDEV_F_OTHER;
+        }
+        if (link.link_speed == ETH_SPEED_NUM_56G) {
+            *current = NETDEV_F_OTHER;
+        }
+        if (link.link_speed == ETH_SPEED_NUM_100G) {
+            *current = NETDEV_F_100GB_FD;
+        }

What are peoples thoughts? I can submit this as a separate patch if 
preferred.

Thanks
Ian

Ian

> 
> On Wed, 22 Aug 2018 at 16:28, Stokes, Ian <ian.stokes at intel.com 
> <mailto:ian.stokes at intel.com>> wrote:
> 
>      > In the scenario of XL710, the link speed which stored in the table of
>      > Interface is not 40G. Because the implementation of query of link
>     speed
>      > only support to 10G, the parameter 'current' will be a random
>     value in the
>      > scenario of higher link speed. In this case, incorrect link speed
>     of XL710
>      > nic will be stored in the database.
>      >
> 
>     Good catch, I've tested and it works as expected. I'll add this to
>     the dpdk_merge pull request for this week and backport it to the
>     previous release branches also.
> 
>     Thanks
>     Ian
> 
>      > Signed-off-by: Xu Binbin <xu.binbin1 at zte.com.cn
>     <mailto:xu.binbin1 at zte.com.cn>>
>      > ---
>      >  lib/netdev-dpdk.c | 3 +++
>      >  1 file changed, 3 insertions(+)
>      >
>      > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index
>     ac02a09..e4b6ced
>      > 100644
>      > --- a/lib/netdev-dpdk.c
>      > +++ b/lib/netdev-dpdk.c
>      > @@ -2735,6 +2735,9 @@ netdev_dpdk_get_features(const struct netdev
>      > *netdev,
>      >          if (link.link_speed == ETH_SPEED_NUM_10G) {
>      >              *current = NETDEV_F_10GB_FD;
>      >          }
>      > +        if (link.link_speed == ETH_SPEED_NUM_40G) {
>      > +            *current = NETDEV_F_40GB_FD;
>      > +        }
>      >      }
>      >
>      >      if (link.link_autoneg) {
>      > --
>      > 1.8.3.1
>      >
>      > _______________________________________________
>      > dev mailing list
>      > dev at openvswitch.org <mailto:dev at openvswitch.org>
>      > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>     _______________________________________________
>     dev mailing list
>     dev at openvswitch.org <mailto:dev at openvswitch.org>
>     https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 



More information about the dev mailing list