What is the best way for multiple net_devices
Is there a standard way to make multiple copies of a network device?
For things like the bonding/ipip/ip_gre and others they seem to expect insmod -o copy1 module.o
insmod -o copy2 module.o
It seems to me that this will waste space creating copies of all the static data.
Then there are things like ipsec that create a few static net_dev structures, but I have no idea how they deal with more entries. They probably don't.
The PCI drivers seem to be pretty clean with init_one type functions.
Is there anything similar for generic hardware-less network devices.
I would hate to have write an ioctl to create a new device without loading a module twice.
--
Andrew May
[email protected]
Quoted 6 lines · andrew may
Is there a standard way to make multiple copies of a network device?
For things like the bonding/ipip/ip_gre and others they seem to expect insmod -o copy1 module.o
insmod -o copy2 module.o
The network driver should provide the capability to add new devices.
Most drivers currently have the capability to do N devices, where N is some constant set at compile time. Typically you use ifconfig, a special-purpose userland program, or sometimes even sysctls to configure additional net devices.
It's certainly possible to modify the driver to create additional network interfaces on the fly, but a lot of drivers are not coded to do that at present.
Signature · 3 lines
Jeff Garzik | Andre the Giant has a posse. Building 1024 | MandrakeSoft |
Quoted 4 lines · Maksim Krasnyanskiy
Quoted 2 lines
Any examples of drivers and apps that do this cleanly. The ones I have seen are not.
TUN/TAP driver and tuncfg utility
http://vtun.sf.net/tun
OK, thanks that is nice, but I think adding support to get into the /dev namespace may be a little heavy for things like bonding or ipip.
I did not see tuncfg. From what I could see there were 2 ways to create new devices. There was a script with mknod and then the ioctl(fd, TUNSETIFF, (void *) &ifr).
I could do a similar ioctl for a pure net device but I still need a dummy socket for creating/destroying devices.
I am going for an embedded system so I want to keep things light.
Quoted 9 lines · Jeff Garzik
Quoted 6 lines · andrew may
Is there a standard way to make multiple copies of a network device?
For things like the bonding/ipip/ip_gre and others they seem to expect insmod -o copy1 module.o
insmod -o copy2 module.oThe network driver should provide the capability to add new devices.
I am planning to write or patch some drivers to do this as well as other things.
I would want to add things at run time after the module is alreaded loaded. So options to the module won't work.
I don't know how to use ifconfig to create a new device.
Any examples of drivers and apps that do this cleanly. The ones I have seen are not.
Quoted 2 lines
Any examples of drivers and apps that do this cleanly. The ones I have seen are not.
TUN/TAP driver and tuncfg utility
http://vtun.sf.net/tun
Max
Maksim Krasnyanskiy
Senior Kernel Engineer
Qualcomm Incorporated