On Fri, 2011-04-22 at 14:09 +0200, Marius Strobl wrote:
> On Fri, Apr 22, 2011 at 10:07:11AM +0000, Bjoern A. Zeeb wrote:
[...]
> > One thing I am still pondering is whether we would be able to reserve 
> > enough spares (wherever needed) to be able to eventually allow to 
> > query-through and gather a lot more information than we currently expose 
> > via ifconfig.  It would be really great to be able to ask for all the bits. 
> >  Not sure how linux for example handles that for mii-tool/ethtool or how 
> > those things work, but .. well you get it.
> > 
> 
> Providing functionality akin mii-tool/ethtool is also something I'd
> like to see. Unfortunately, I currently lack the time to work on that,
> maybe next year as a GSoC or some such, in case someone is willing to
> mentor this time :) However, I think when going a route similar to
> pci(4)/pciconf(8) (without repeating their mistakes) it should be
> possible to implement that without breaking the ABI.

mii-tool uses the MDIO ioctls, wherease ethtool uses the relatively
high-level ethtool API.  Note that mii-tool itself is unmaintained and
needs some unofficial patches to support even 1G PHYs.

The MDIO ioctls all use struct ifreq with an instance of struct
mii_ioctl_data in the ifr_ifru field.  See <linux/if.h> and
<linux/mii.h>.

SIOCGMIIPHY: Set the phy_id field to the address of the PHY that the net
device is using.  (It is not specified what to do if the device is not
using an MDIO-manageable PHY.)

SIOCGMIIREG: Read the register at the address specified by phy_id and
reg_num.  Set val_out to the register value.

SIOCSMIIREG: Write the register at the addres specified by phy_id and
reg_num, with the value from val_in.

For clause 45 MDIO (as used by 10G and some other PHYs), the phy_id for
SIOC{G,S}MIIREG (but not SIOCGMIIPHY) provides both PRT and DEV
addresses, as specified in <linux/mdio.h>.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to