Hi Garrett,
I have already implemented to process LB_GET_INFO and LB_GET_INFO_SIZE, see
my code at the link below.
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c#522
I also see my ql_m_ioctl( ) got called in the driver boot up.
Mar 16 10:04:12 fourier genunix: [ID 834588 kern.notice] ql_m_ioctl entered,
cmd c0786981
Mar 16 10:04:12 fourier genunix: [ID 769785 kern.notice] unknown ioctl cmd
c0786981
Mar 16 10:04:12 fourier genunix: [ID 829862 kern.notice] ql_m_getcapab
entered, cap 2
Mar 16 10:04:12 fourier genunix: [ID 829862 kern.notice] ql_m_getcapab
entered, cap 100
Mar 16 10:04:12 fourier genunix: [ID 829862 kern.notice] ql_m_getcapab
entered, cap 10
Mar 16 10:04:12 fourier genunix: [ID 829862 kern.notice] ql_m_getcapab
entered, cap 40
Mar 16 10:04:12 fourier genunix: [ID 829862 kern.notice] ql_m_getcapab
entered, cap 20
# uname -a
SunOS fourier 5.11 snv_129 i86pc i386 i86pc
(What is ioctl command 0xc0786981?)
But, when I run SunVTS at /usr/sunvts/bin/startsunvts and probe all network
drivers, my driver was not queried about its loopback capability, it was not
contacted at all! However, I saw mother board nic driver, igb, got accessed
and listed as test network device. I am quite confused. Do I miss something
else in the initialization stage so the OS does not know this driver can
support loopback?
Also, does Solaris10 GLDv3 nic driver support loopback?
Tom
--------------------------------------------------
From: "Garrett D'Amore" <[email protected]>
Sent: Sunday, March 14, 2010 9:37 PM
To: <[email protected]>
Subject: Re: [driver-discuss] GLDv3 nic driver ioctl and loopback capability
On 03/14/10 04:25 PM, Tom Chen wrote:
Hello,
When I run SunVTS to do network loopback test with my GLDv3 nic driver, I
find that it can not be "probed" and not included in the network device
option. But mother board nic driver, igb, is in the list. I am wondering
why? I am testing on SunFire 4270 and OS is nv129.
I use dtrace to debug a little bit. I see the igb_m_ioctl,
igb_loopback_ioctl and igb_m_getcapab are called when the "reprobe"
button is clicked, however, my drivers' relevant functions are not called
at all! It is kind of strange, since my gldv3 driver has "MC_IOCTL |
MC_GETCAPAB | MC_SETPROP | MC_GETPROP" callback capabilities and the
m_ioctl function that can process LB_GET_MODE, LB_SET_MODE is also
available, I can use my own application to send ioctl request to the
driver to do many things.
Can someone tell me why? How does a Gldv3 driver declare it has loopback
capability? Is there anything else that I missed?
Tom
You also need to implement LB_GET_INFO and LB_GET_INFO_SIZE. These are
what he probe uses to discover the a capability.
- Garrett
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss