net: ethtool: Introduce a command to list PHYs on an interface
As we have the ability to track the PHYs connected to a net_device through the link_topology, we can expose this list to userspace. This allows userspace to use these identifiers for phy-specific commands and take the decision of which PHY to target by knowing the link topology. Add PHY_GET and PHY_DUMP, which can be a filtered DUMP operation to list devices on only one interface. Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
c29451aefc
commit
63d5eaf35a
@@ -57,6 +57,7 @@ enum {
|
||||
ETHTOOL_MSG_PLCA_GET_STATUS,
|
||||
ETHTOOL_MSG_MM_GET,
|
||||
ETHTOOL_MSG_MM_SET,
|
||||
ETHTOOL_MSG_PHY_GET,
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_MSG_USER_CNT,
|
||||
@@ -109,6 +110,8 @@ enum {
|
||||
ETHTOOL_MSG_PLCA_NTF,
|
||||
ETHTOOL_MSG_MM_GET_REPLY,
|
||||
ETHTOOL_MSG_MM_NTF,
|
||||
ETHTOOL_MSG_PHY_GET_REPLY,
|
||||
ETHTOOL_MSG_PHY_NTF,
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_MSG_KERNEL_CNT,
|
||||
@@ -977,6 +980,32 @@ enum {
|
||||
ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
|
||||
};
|
||||
|
||||
enum {
|
||||
ETHTOOL_A_PHY_UPSTREAM_UNSPEC,
|
||||
ETHTOOL_A_PHY_UPSTREAM_INDEX, /* u32 */
|
||||
ETHTOOL_A_PHY_UPSTREAM_SFP_NAME, /* string */
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_A_PHY_UPSTREAM_CNT,
|
||||
ETHTOOL_A_PHY_UPSTREAM_MAX = (__ETHTOOL_A_PHY_UPSTREAM_CNT - 1)
|
||||
};
|
||||
|
||||
enum {
|
||||
ETHTOOL_A_PHY_UNSPEC,
|
||||
ETHTOOL_A_PHY_HEADER, /* nest - _A_HEADER_* */
|
||||
ETHTOOL_A_PHY_INDEX, /* u32 */
|
||||
ETHTOOL_A_PHY_DRVNAME, /* string */
|
||||
ETHTOOL_A_PHY_NAME, /* string */
|
||||
ETHTOOL_A_PHY_UPSTREAM_TYPE, /* u8 */
|
||||
ETHTOOL_A_PHY_UPSTREAM, /* nest - _A_PHY_UPSTREAM_* */
|
||||
ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME, /* string */
|
||||
ETHTOOL_A_PHY_ID, /* u32 */
|
||||
|
||||
/* add new constants above here */
|
||||
__ETHTOOL_A_PHY_CNT,
|
||||
ETHTOOL_A_PHY_MAX = (__ETHTOOL_A_PHY_CNT - 1)
|
||||
};
|
||||
|
||||
/* generic netlink info */
|
||||
#define ETHTOOL_GENL_NAME "ethtool"
|
||||
#define ETHTOOL_GENL_VERSION 1
|
||||
|
||||
Reference in New Issue
Block a user