public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* What is the best way for multiple net_devices
@ 2001-06-27 21:52 andrew may
  2001-06-27 22:04 ` Jeff Garzik
  0 siblings, 1 reply; 7+ messages in thread
From: andrew may @ 2001-06-27 21:52 UTC (permalink / raw)
  To: linux-kernel

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
acmay@acmay.homeip.net

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What is the best way for multiple net_devices
  2001-06-27 21:52 What is the best way for multiple net_devices andrew may
@ 2001-06-27 22:04 ` Jeff Garzik
  2001-06-27 22:18   ` andrew may
  2001-06-27 22:36   ` Maksim Krasnyanskiy
  0 siblings, 2 replies; 7+ messages in thread
From: Jeff Garzik @ 2001-06-27 22:04 UTC (permalink / raw)
  To: andrew may; +Cc: linux-kernel

andrew may wrote:
> 
> 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.

-- 
Jeff Garzik      | Andre the Giant has a posse.
Building 1024    |
MandrakeSoft     |

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What is the best way for multiple net_devices
  2001-06-27 22:04 ` Jeff Garzik
@ 2001-06-27 22:18   ` andrew may
  2001-06-27 22:36   ` Maksim Krasnyanskiy
  1 sibling, 0 replies; 7+ messages in thread
From: andrew may @ 2001-06-27 22:18 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel

On Wed, Jun 27, 2001 at 06:04:02PM -0400, Jeff Garzik wrote:
> andrew may wrote:
> > 
> > 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.

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.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What is the best way for multiple net_devices
       [not found] <993679536.14418@whiskey.enposte.net>
@ 2001-06-27 22:19 ` Stuart Lynne
  0 siblings, 0 replies; 7+ messages in thread
From: Stuart Lynne @ 2001-06-27 22:19 UTC (permalink / raw)
  To: linux-kernel

In article <993679536.14418@whiskey.enposte.net>,
Jeff Garzik <jgarzik@mandrakesoft.com> wrote:
>andrew may wrote:
>> 
>> 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.

Ioctls require modifications to other parts of the kernel and a supporting
user land program.

Passing the number to create via insmod seems to be a reasonable compromise.

>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.

-- 
                                            __O 
Lineo - For Embedded Linux Solutions      _-\<,_ 
PGP Fingerprint: 28 E2 A0 15 99 62 9A 00 (_)/ (_) 88 EC A3 EE 2D 1C 15 68
Stuart Lynne <sl@fireplug.net>       www.fireplug.net        604-461-7532

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What is the best way for multiple net_devices
  2001-06-27 22:04 ` Jeff Garzik
  2001-06-27 22:18   ` andrew may
@ 2001-06-27 22:36   ` Maksim Krasnyanskiy
  2001-06-27 23:16     ` andrew may
  1 sibling, 1 reply; 7+ messages in thread
From: Maksim Krasnyanskiy @ 2001-06-27 22:36 UTC (permalink / raw)
  To: andrew may, Jeff Garzik; +Cc: linux-kernel


>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

maxk@qualcomm.com
http://bluez.sf.net
http://vtun.sf.net


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What is the best way for multiple net_devices
  2001-06-27 22:36   ` Maksim Krasnyanskiy
@ 2001-06-27 23:16     ` andrew may
  0 siblings, 0 replies; 7+ messages in thread
From: andrew may @ 2001-06-27 23:16 UTC (permalink / raw)
  To: Maksim Krasnyanskiy; +Cc: linux-kernel

On Wed, Jun 27, 2001 at 03:36:37PM -0700, Maksim Krasnyanskiy wrote:
> 
> >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.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: What is the best way for multiple net_devices
@ 2001-06-28 12:35 Jesse Pollard
  0 siblings, 0 replies; 7+ messages in thread
From: Jesse Pollard @ 2001-06-28 12:35 UTC (permalink / raw)
  To: acmay, Jeff Garzik; +Cc: linux-kernel

---------  Received message begins Here  ---------

> 
> On Wed, Jun 27, 2001 at 06:04:02PM -0400, Jeff Garzik wrote:
> > andrew may wrote:
> > > 
> > > 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.
> 
> 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.

Ifconfig doesn't create the new device, when the driver module is loaded
it looks for all devices on the bus and creates the table with those
entries. To locat them, an "ifconfig -a" will do

> Any examples of drivers and apps that do this cleanly. The ones I have
> seen are not.

The only one I've seen are SCSI ( I believe it was done with
"echo 1 >/proc/.... ". If a new device is present (turned on) the new
entry is appended.

Another one (similar) is the parport. Loading parport_probe rescans, and
defines the new devices.

Another is a module version of IDE. unload/loading ide-probe rescans
the IDE devices.

These ARE clumsy because you have to unload them to do a rescan, also
I think the tables are contained inside the probe module. I don't think
you can unload the probe module if one of the devices is busy (though the
SCSI version might be closer to what you want, it is also the most complex).

-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@navo.hpc.mil

Any opinions expressed are solely my own.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-06-28 12:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-06-27 21:52 What is the best way for multiple net_devices andrew may
2001-06-27 22:04 ` Jeff Garzik
2001-06-27 22:18   ` andrew may
2001-06-27 22:36   ` Maksim Krasnyanskiy
2001-06-27 23:16     ` andrew may
     [not found] <993679536.14418@whiskey.enposte.net>
2001-06-27 22:19 ` Stuart Lynne
  -- strict thread matches above, loose matches on Subject: below --
2001-06-28 12:35 Jesse Pollard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox