Date: Fri, 09 Mar 2007 11:36:57 +0100 From: "Frank Behrens" <frank@pinky.sax.de> To: freebsd-net@freebsd.org Subject: tap(4) should go UP if opened Message-ID: <200703091036.l29AawwJ005466@pinky.frank-behrens.de>
next in thread | raw e-mail | index | archive | help
I want to diskuss the tap(4) behaviour before I create a PR: The tap(4) interface does not go automatically in UP state (IFF_UP) when opened by a process. Therefore an additional command "ifconfig tapx up" is necessary, which can execute root only. On the other site the interface goes down automatically when closed. I propose that tap(4) is set to UP when opened by an user process. This can be achieved with the following patch (on FreeBSD 6.2-STABLE-200703081613): --- sys/net/if_tap.c.orig Thu Mar 8 19:10:59 2007 +++ sys/net/if_tap.c Fri Mar 9 10:05:57 2007 @@ -501,6 +501,7 @@ s = splimp(); ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + ifp->if_flags |= IFF_UP; splx(s); TAPDEBUG("%s is open. minor = %#x\n", ifp->if_xname, minor(dev)); How does tun(4) handle this? tun(4) is also set to down, when closed. It is not set to up, when ist is opened, but when an address is assigned by the user process. This is fine, because it needs always an ip address. tap(4) as layer 2 tunnel device does not need an ip address, so setting it up on open is IMHO the best solution. Sound this reasonable or how should I handle the tap(4) open by an user process, when this process does not run as root? Regards, Frank -- Frank Behrens, Osterwieck, Germany PGP-key 0x5B7C47ED on public servers available.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703091036.l29AawwJ005466>