On Thu, Jun 22, 2017 at 11:09:04AM +0300, Gal Pressman wrote:
>
> >> +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.
>
> Fine with me.
> >> + 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?
>
> My goal is to gather all link issue reasons in one place.
I'm actually wondering if this is a user space problem. Nearly
everything you list is already available. Some you get from ip link,
others from ethtool or ethtool --module-info, including I2C bus
error, since you would expect EIO or ETIMEOUT.
If you were to write a user space tool using the information what is
currently available, what would be missing?
Andrew