From: Joe Holden <j...@zorins.co.uk>

This adds an array that contains the link modes advertised by the other device 
and also
indicates whether auto negotiation is true or false.

link-partner may or may not be popualated depending on hardware, driver and/or 
settings.
---
 system-linux.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/system-linux.c b/system-linux.c
index 1330ea1..362e06d 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -1730,6 +1730,10 @@ system_if_dump_info(struct device *dev, struct blob_buf 
*b)
                system_add_link_modes(b, ecmd.advertising);
                blobmsg_close_array(b, c);
 
+               c = blobmsg_open_array(b, "link-partner");
+               system_add_link_modes(b, ecmd.lp_advertising);
+               blobmsg_close_array(b, c);
+
                c = blobmsg_open_array(b, "link-supported");
                system_add_link_modes(b, ecmd.supported);
                blobmsg_close_array(b, c);
@@ -1738,6 +1742,8 @@ system_if_dump_info(struct device *dev, struct blob_buf 
*b)
                snprintf(s, 8, "%d%c", ethtool_cmd_speed(&ecmd),
                        ecmd.duplex == DUPLEX_HALF ? 'H' : 'F');
                blobmsg_add_string_buffer(b);
+
+               blobmsg_add_u8(b, "autoneg", !!ecmd.autoneg);
        }
 
        return 0;
-- 
2.18.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to