[dpdk-dev] [RFC] ethdev: use special speed for virtual Ethernetdevices

Morten Brørup mb at smartsharesystems.com
Fri Apr 3 11:45:18 CEST 2020


> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ivan Dyukov
> Sent: Friday, April 3, 2020 10:06 AM
> 
> 02.04.2020 23:58, Thomas Monjalon пишет:
> > 02/04/2020 22:41, Ivan Dyukov:
> >> 02.04.2020 16:50, Morten Brørup пишет:
> >>>>>> Yes, if speed is unknown, it should be reported as 0.
> >>> Could the DPDK vNIC PMDs be updated accordingly? At least the
> virtio driver...
> >> Current version of dpdk code on master always returns 10G speed for
> >> virtio device and many application rely on it. e.g. pktgen. If we'll
> >> change it, we break the apps.
> > I am OK with breaking such strange assumption.
> > I can understand the need for specifying the underlying hardware
> speed
> > through virtio driver. But hardcoded 10G... no!
> >
> >
> >
> OK. I'll redefine it to 0xffffffff, like in kernel virtio.
> 

Thomas, you were opposed to using 1 as the special value for "unknown", as it is likely interpreted as 1 Mbps instead, and I agree with your reasoning on that.

Since using an extremely large value is as close to infinity we can get, Ivan's suggested value makes sense to me instead:

+#define ETH_SPEED_NUM_UNKNOWN      0xffffffff /**< Unknown */

In theory, it also addresses Stephen's concern about breaking the ABI for existing applications that look at speed. They will get a non-zero speed, which is not a randomly chosen fake 10G speed; so I consider it an improvement.
Although in reality, such applications may still break if they are unable to handle the extreme speed of 4.3 Pbps.

I considered "Unlimited" instead of "Unknown", but Unlimited is not really correct, so I settled with Unknown.



More information about the dev mailing list