> +enum {
> +     ETHTOOL_LINK_VENDOR_SPECIFIC = -1, /* Vendor specific issue provided in 
> vendor_reason */
> +     ETHTOOL_LINK_NO_ISSUE, /* No issue observed with link */
> +     ETHTOOL_LINK_REASON_UNKNOWN, /* Unknown reason */

I think OTHER would be better that UNKNOWN. 

> +     ETHTOOL_LINK_NETDEV_CARRIER_DOWN, /* Netdev carrier is down */
> +     ETHTOOL_LINK_ADMIN_DOWN, /* Admin down */

These two are interesting. We have that information already. Why do we
want it again?

> +     ETHTOOL_LINK_AN_FAILED, /* Auto negotiation failed */
> +     ETHTOOL_LINK_TRAINING_FAILED, /* Link training failed */
> +     ETHTOOL_LINK_RMT_FAULT, /* Remote fault indication */
> +     ETHTOOL_LINK_BAD_SIGNAL_INTEGRITY, /* Bad signal integrity */
> +     ETHTOOL_LINK_CABLE_MISMATCH, /* Cable protocol mismatch */
> +     ETHTOOL_LINK_INTERNAL_ERR, /* Internal error */

How does an internet error differ from an UNKNOWN?

> +     ETHTOOL_LINK_CABLE_UNPLUGGED, /* Cable unplugged */
> +     ETHTOOL_LINK_UNSUPP_MODULE, /* Unsupported module */
> +     ETHTOOL_LINK_I2C_BUS_ERR, /* I2C bus error */

Which I2C bus? What about MDIO BUS errors?

> +     ETHTOOL_LINK_UNSUPP_EEPROM, /* Unsupported EEPROM */

Which EEPROM?

> +     ETHTOOL_LINK_OVERTEMP, /* Over temperature */
> +     ETHTOOL_LINK_PWR_BUDGET_EXC, /* Power budget exceeded */
> +     ETHTOOL_LINK_MODULE_ADMIN_DOWN, /* Module admin down */

It seems like these last 6 are all SFP issues? How about putting SFP
into the name?

     Andrew

Reply via email to