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/am0pr0502mb401907ade7cea27dc642df35d2...@am0pr0502mb4019.eurprd05.prod.outlook.com/T/#t Yes, if speed is unknown, it should be reported as 0.