On Thu, May 28, 2020 at 01:54:14PM +0200, Oleksij Rempel wrote:
> Some PHYs provide Signal Quality Index (SQI) if the link is in active
> state. This information can help to diagnose cable and system design
> related issues.
> 
> Signed-off-by: Oleksij Rempel <o.rem...@pengutronix.de>
> Reviewed-by: Florian Fainelli <f.faine...@gmail.com>

Reviewed-by: Michal Kubecek <mkube...@suse.cz>

> ---
>  netlink/desc-ethtool.c |  2 ++
>  netlink/settings.c     | 16 ++++++++++++++++
>  2 files changed, 18 insertions(+)
> 
> diff --git a/netlink/desc-ethtool.c b/netlink/desc-ethtool.c
> index b0a793c..8f4c36b 100644
> --- a/netlink/desc-ethtool.c
> +++ b/netlink/desc-ethtool.c
> @@ -93,6 +93,8 @@ static const struct pretty_nla_desc __linkstate_desc[] = {
>       NLATTR_DESC_INVALID(ETHTOOL_A_LINKSTATE_UNSPEC),
>       NLATTR_DESC_NESTED(ETHTOOL_A_LINKSTATE_HEADER, header),
>       NLATTR_DESC_BOOL(ETHTOOL_A_LINKSTATE_LINK),
> +     NLATTR_DESC_U32(ETHTOOL_A_LINKSTATE_SQI),
> +     NLATTR_DESC_U32(ETHTOOL_A_LINKSTATE_SQI_MAX),
>  };
>  
>  static const struct pretty_nla_desc __debug_desc[] = {
> diff --git a/netlink/settings.c b/netlink/settings.c
> index 851de15..cd4b9a7 100644
> --- a/netlink/settings.c
> +++ b/netlink/settings.c
> @@ -638,6 +638,22 @@ int linkstate_reply_cb(const struct nlmsghdr *nlhdr, 
> void *data)
>               printf("\tLink detected: %s\n", val ? "yes" : "no");
>       }
>  
> +     if (tb[ETHTOOL_A_LINKSTATE_SQI]) {
> +             uint32_t val = mnl_attr_get_u32(tb[ETHTOOL_A_LINKSTATE_SQI]);
> +
> +             print_banner(nlctx);
> +             printf("\tSQI: %u", val);
> +
> +             if (tb[ETHTOOL_A_LINKSTATE_SQI_MAX]) {
> +                     uint32_t max;
> +
> +                     max = mnl_attr_get_u32(tb[ETHTOOL_A_LINKSTATE_SQI_MAX]);
> +                     printf("/%u\n", max);
> +             } else {
> +                     printf("\n");
> +             }
> +     }
> +
>       return MNL_CB_OK;
>  }
>  
> -- 
> 2.26.2
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to