[dpdk-dev] [RFC] ethdev: use special speed for virtual Ethernet devices
Thomas Monjalon
thomas at monjalon.net
Wed Apr 1 11:53:32 CEST 2020
01/04/2020 11:33, Morten Brørup:
> Thomas, Ferruh, Andrew (Ethernet API Maintainers),
>
> A command line option was recently added to set which speed a vNIC reports when the link is up. This makes sense for Spanning Tree and other protocols which depend on link speed.
Please could you reference the patch?
> However, I suspect that this workaround rarely reflects the physical truth, and suggest that the application should handle it instead.
I don't understand why we need to define some speed for virtual devices.
> In other words... Instead of faking it in the virtual Ethernet drivers, I suggest that rte_ethdev.h defines a special speed value for vNICs which really don't have a physical link speed:
>
> #define ETH_SPEED_NUM_NONE 0 /**< Not defined */
The only issue with this constant is the lack of RTE_ prefix :-)
Otherwise I think "0 - NONE - not defined" fits well with virtual device case.
> +#define ETH_SPEED_NUM_UNKNOWN 1 /**< Unknown (virtual device) */
1 means 1 Mbps
> #define ETH_SPEED_NUM_10M 10 /**< 10 Mbps */
>
> Alternatively, we could expand the meaning of ETH_SPEED_NUM_NONE:
>
> -#define ETH_SPEED_NUM_NONE 0 /**< Not defined */
> +#define ETH_SPEED_NUM_NONE 0 /**< Not defined or unknown (virtual device) */
Yes I agree with extending the comment for NONE.
> The special value could also be used in cases like this:
> http://inbox.dpdk.org/dev/AM0PR0502MB401907ADE7CEA27DC642DF35D2CB0@AM0PR0502MB4019.eurprd05.prod.outlook.com/T/#t
Yes, if speed is unknown, it should be reported as 0.
More information about the dev
mailing list