Skip to contentSkip to conversation

Which ethtool methods should I implement?

DISCUSSION Timur Tabi 2 participants 3 messages Dec 20, 2016

Subsystems (2)
lore
Share & tools
lore

Timur Tabi

author
#0 lore raw

I'm adding support for ethtool to my driver (drivers/net/ethernet/qualcomm/emac/), and I can't find any meaningful HOWTO documentation, so I'm not sure which methods I need to implement.

Is there some minimal set of must-have ethtool methods that should be implemented? Since I support phylib, I guess I should use phy_ethtool_get_link_ksettings and phy_ethtool_set_link_ksettings. What else?

Signature · 3 lines
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
#1 lore raw
Quoted 8 lines · Timur Tabi

I'm adding support for ethtool to my driver (drivers/net/ethernet/qualcomm/emac/), and I can't find any meaningful HOWTO documentation, so I'm not sure which methods I need to implement.

Is there some minimal set of must-have ethtool methods that should be implemented? Since I support phylib, I guess I should use phy_ethtool_get_link_ksettings and phy_ethtool_set_link_ksettings. What else?

Ideally, everything that is supported by your HW, but I would with the basic essential stuff that you would need in case someone reports problems with your driver like:

- statistics (MAC for sure) and PHY (if possible), -S
- ability to restart auto-negotation (-r)
- reporting of driver information (-i)
- support toggling and reporting NETIF_F_* features -k/-K

Signature · 1 line
Florian
author
#2 lore raw
Quoted 8 lines · Florian Fainelli

Ideally, everything that is supported by your HW, but I would with the basic essential stuff that you would need in case someone reports problems with your driver like:

- statistics (MAC for sure) and PHY (if possible), -S
- ability to restart auto-negotation (-r)
- reporting of driver information (-i)
- support toggling and reporting NETIF_F_* features -k/-K

Thanks, I'll get this done soon.

I'm confused about netdev_set_default_ethtool_ops(). Is this a function that drivers are supposed to call? I only see one driver use it. Other drivers just set netdev->ethtool_ops manually.

Signature · 3 lines
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.