Commit Graph

30 Commits

Author SHA1 Message Date
kevlo
4b14df1674 Convert to the standard section 4 SYNOPSIS layout. 2020-03-17 05:33:05 +00:00
kevans
0f415eea65 tun/tap: merge and rename to tuntap
tun(4) and tap(4) share the same general management interface and have a lot
in common. Bugs exist in tap(4) that have been fixed in tun(4), and
vice-versa. Let's reduce the maintenance requirements by merging them
together and using flags to differentiate between the three interface types
(tun, tap, vmnet).

This fixes a couple of tap(4)/vmnet(4) issues right out of the gate:
- tap devices may no longer be destroyed while they're open [0]
- VIMAGE issues already addressed in tun by kp

[0] emaste had removed an easy-panic-button in r240938 due to devdrn
blocking. A naive glance over this leads me to believe that this isn't quite
complete -- destroy_devl will only block while executing d_* functions, but
doesn't block the device from being destroyed while a process has it open.
The latter is the intent of the condvar in tun, so this is "fixed" (for
certain definitions of the word -- it wasn't really broken in tap, it just
wasn't quite ideal).

ifconfig(8) also grew the ability to map an interface name to a kld, so
that `ifconfig {tun,tap}0` can continue to autoload the correct module, and
`ifconfig vmnet0 create` will now autoload the correct module. This is a
low overhead addition.

(MFC commentary)

This may get MFC'd if many bugs in tun(4)/tap(4) are discovered after this,
and how critical they are. Changes after this are likely easily MFC'd
without taking this merge, but the merge will be easier.

I have no plans to do this MFC as of now.

Reviewed by:	bcr (manpages), tuexen (testing, syzkaller/packetdrill)
Input also from:	melifaro
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D20044
2019-05-08 02:32:11 +00:00
hselasky
30eed323c8 Disallow TUN and TAP character device IOCTLs to modify the network device
type to any value. This can cause page faults and panics due to accessing
uninitialized fields in the "struct ifnet" which are specific to the network
device type.

MFC after:	1 week
Found by:	jau@iki.fi
PR:		223767
Sponsored by:	Mellanox Technologies
2017-11-29 09:40:11 +00:00
brueffer
33d4745855 Remove EOL whitespace.
Found with:	mandoc -Tlint
2014-12-21 10:04:26 +00:00
peterj
058535ab0f Cross reference tap(4) and tun(4) and include a short explanation as
to how they differ.  This will assist users in selecting which interface
is more appropriate for their purposes.

Approved by:	grog (co-mentor)
MFC after:	2 week
2014-11-30 04:50:13 +00:00
bms
9fa6fbb8a2 Typo.
(Oh well, I guess that's the danger of updating two three-letter-named
entities at the same time.)

Submitted by:	Simon L. Nielsen
MFC after:	4 weeks
2007-02-04 16:59:50 +00:00
bms
77c2e11309 Implement ifnet cloning for tun(4)/tap(4).
Make devfs cloning a sysctl/tunable which defaults to on.

If devfs cloning is enabled, only the super-user may create
tun(4)/tap(4)/vmnet(4) instances. Devfs cloning is still enabled by
default; it may be disabled from the loader or via sysctl with
"net.link.tap.devfs_cloning" and "net.link.tun.devfs_cloning".

Disabling its use affects potentially all tun(4)/tap(4) consumers
including OpenSSH, OpenVPN and VMware.

PR:		105228 (potentially also 90413, 105570)
Submitted by:	Landon Fuller
Tested by:	Andrej Tobola
Approved by:	core (rwatson)
MFC after:	4 weeks
2007-02-04 16:32:46 +00:00
trhodes
57522b7a56 Patch in previous commit should have bumped doc date.
Fix spelling of ioctl.
Note that previous commit was actually submitted by bz.  I'm not yet used
to the code boxes yet.

Noticed by:	ru
2006-10-09 19:53:00 +00:00
trhodes
ce49ada06f The SIOCSIFNETMASK ioctl was removed from tun.c, thus remove mention of
it in the tun.4 manual page.

PR:		98541
Submitted by:	David Gilbert
2006-10-09 19:20:53 +00:00
ru
1541af42f1 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
simon
43cdffed14 Correct the misuse of \- (mdoc(7) mathematical minus) when - (mdoc(7)
hyphen) is meant.

Mdoc(7) clue by:	ru
Reviewed by:		ru
2004-05-14 20:07:49 +00:00
ru
1c23ef339b mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
keramida
1eaf47abcc Delete MAKEDEV references and update the text about /dev/foo control
devices that return the next available device when opened.

PR:		50280, 50281, 50282, 50283
Submitted by:	Sergey A.Osokin <osa@FreeBSD.org.ru>
2003-03-25 14:49:02 +00:00
brian
29c16834ae Document that IFF_MULTICAST should be ORd with IFF_POINTOPOINT or
IFF_BROADCAST for the TUNSIFMODE ioctl.
2001-08-25 09:14:55 +00:00
ru
5001e16d30 mdoc(7) police: -xwidth has been fold into -width. 2001-07-13 09:09:52 +00:00
ru
35743bd62a mdoc(7) police: fixed markup and spelling. 2001-07-05 11:45:37 +00:00
brian
1d5b78c6a8 Talk a bit about how cloning works with devfs(5).
Make it clearer about what's going on with TUNSIFHEAD and TUNSLMODE.
Tidy up a little.
2001-06-05 14:26:17 +00:00
schweikh
c91401db41 pseudo-device -> device in kernel config lines. Removed whitespace at EOL.
Reviewed by:	joerg, dd
2001-05-01 09:15:30 +00:00
ru
8a6f8b5fe4 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
assar
d04bc13c87 document TUNSIFINFO, TUNGIFINFO, TUNSIFPID, TUNSIFHEAD, TUNGIFHEAD 2000-12-13 13:40:42 +00:00
ru
0100fd6e93 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 18:41:33 +00:00
sheldonh
17d8aa3bee Add a missing "either".
Fix a parenthetic bogon.

Reported by:	"Alexander N. Kabaev" <kabaev@mail.ru>
Obtained from:	NetBSD
2000-03-06 07:08:14 +00:00
sheldonh
b45b9e3cde Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:50:24 +00:00
asmodai
5119ca02c4 Remove ``count'' argument of the pseudo-devices that do not
use it anymore.
2000-01-17 14:17:28 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
mph
6c732f9403 Correct a minor spacing error. 1998-05-31 04:53:30 +00:00
charnier
1ccad14adc .Sh AUTHOR -> .Sh AUTHORS according to mdoc specs.
Use .An/.Aq.
1998-03-12 07:31:21 +00:00
wosch
0de5e596d7 Sort cross refereces in section SEE ALSO. 1997-09-29 10:11:02 +00:00
joerg
0eab1df155 Wire tun(4) into the Makefile.
Slightly change the way how to credit NetBSD.
1997-09-07 12:29:55 +00:00
joerg
174eba148a Import NetBSD's tun(4) man page.
Obtained from:	NetBSD
1997-09-07 11:27:08 +00:00