Re: TEST PLEASE: if_tun patch

From: Brooks Davis <>
Date: Tue, 30 Sep 2003 15:17:05 -0700
On Tue, Sep 30, 2003 at 11:35:34PM +0200, Pawel Malachowski wrote:
> On Sun, Sep 28, 2003 at 10:04:42PM -0700, Brooks Davis wrote:
> > I'm not convinced this is the right direction to move in.  The problem
> > is that users are beginning to expect that pseudo-interfaces be created
> > with network interface cloning, but tun, tap, and vmnet aren't.  I'm
> Same about ef(4) pseudo-interfaces.
> Another thing is that someone may want to create vlan(4) and ef(4)
> pseudo-interfaces on tap(4) interface, like this:
> (1)ttyp4 [~]>ifconfig tap19
> tap19: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         inet netmask 0xffffff00 broadcast
>         inet6 fe80::2bd:69ff:fe94:13%tap19 prefixlen 64 scopeid 0x13
>         ether 00:bd:69:94:00:13
> (2)ttyp4 [~]>ifconfig vlan0 create
> (3)ttyp4 [~]>ifconfig vlan0 vlan 123 vlandev tap0
> (4)ttyp4 [~]>ifconfig vlan0
> vlan0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1496
>         ether 00:bd:68:94:00:00
>         vlan: 123 parent interface: tap0
> (5)ttyp4 [~]>kldload if_ef
> (6)ttyp4 [~]>ifconfig tap19f2
> tap19f2: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         ether 00:bd:69:94:00:13
> I have no idea if it works. ;)
> [screenshot from 4.x, I have no 5.x at this moment]
> It looks strange to have `ifconfig create' vlan interface on tap,
> while tap uses different semantics and can disappear after closing it?
> With ef it is even worse, pseudo-devices are created while ef is
> starting, so ef module must be loaded after creating every ethernet
> device.

That's really evil. :-)

The proper fix for the vanishing tap is probably some standard way for
parents to know who their children are so they can hunt then down and
notify them that they are being orphaned when they die.  What the device
would do it up to it since some devices like vlan and ef devices might
as well die off, but an etherchannel device should just stop sending
things to that interface.

For ef, I'm thinking of expanding cloning so that we pass the requested
name to each cloner for tasting and it decides if it can do that.  Then
vlans would be created and configured by doing something like:

ifconfig fxp0.10 create

and you could come up with a similar syntax for ef by appending f# to
any ethernet's name to get the appropriate frame interface.  A corrected
form of the existing behavior could easily be implemented in userland by

-- Brooks

Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

Received on Tue Sep 30 2003 - 13:17:30 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:24 UTC