> +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