Socket Ioctl Interface for 3c509.c

George Magklaras (gmagklaras@geocities.com)
Fri, 11 Jun 1999 21:06:53 +0100


Hello ,

I am using a 2.0.34 kernel and I have two ISA 3Com Etherlink III cards
installed on the machine. Note that I am using the latest 3c509.c driver

downloaded from Donald Becker's site. (note the one that came originally

with the LINUX distribution RH5.1)

I am trying to utilise the Socket ioctl interface for the particular
device, in order to retrieve config info and also change the MAC address

of the board at run-time.
I have no problems retrieving and passing info by using the ifmap
structure (linux/if.h). However, I do not understand how I can implement

a SIOCSIFADDR in the device layer, in order to change the MAC address of

the board at run-time. Hence, I have a few questions regarding the ifreq

structure in <linux/if.h> and also the do_ioctl function that is
prototyped in <linux/netdevice.h>:

i) One of the variables in the ifreq structure is ifru_hwaddr. Is this
the only variable that relates to the MAC address? If not what else
relates to it?

ii) I think (by looking at the 3c509.c) that I will have to implement a
private ioctl (SIOCDEVPRIVATE) to modify the MAC address at run time.
Hence, I am going to have to implement a do_ioctl function inside the
driver...Can somebody (with good knowledge of the 3Com driver) help me
implement this? Alternatively, if there is already a device method that
achieves the change of MAC address at run time, can somebody shout and
point the method to me?

Thanks

George B. Magklaras (gmagklaras@geocities.com)
http://www.geocities.com/SiliconValley/Bridge/3862
Computer Programmer

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.rutgers.edu