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

Reply via email to