freebsd-dev/sys/mips/conf
Kyle Evans 251a32b5b2 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
..
ALFA_HORNET_UB Modularize xz. 2019-02-26 19:55:03 +00:00
ALFA_HORNET_UB.hints
AP91 Modularize xz. 2019-02-26 19:55:03 +00:00
AP91.hints
AP93 Modularize xz. 2019-02-26 19:55:03 +00:00
AP93.hints [AP93] fix up the arge0/arge1 hints. 2017-05-29 07:57:01 +00:00
AP94 Modularize xz. 2019-02-26 19:55:03 +00:00
AP94.hints
AP96 Modularize xz. 2019-02-26 19:55:03 +00:00
AP96.hints
AP121 Modularize xz. 2019-02-26 19:55:03 +00:00
AP121.hints
AP135 Modularize xz. 2019-02-26 19:55:03 +00:00
AP135.hints [atheros] teach these two boards about the new hints location as well. 2018-02-01 22:00:38 +00:00
AP143 Modularize xz. 2019-02-26 19:55:03 +00:00
AP143.hints [atheros] teach these two boards about the new hints location as well. 2018-02-01 22:00:38 +00:00
AR71XX_BASE Remove redundant device ar71xx_wdog which is now included from 2018-07-05 17:11:55 +00:00
AR71XX_BASE.hints
AR91XX_BASE.hints
AR724X_BASE.hints
AR933X_BASE.hints [atheros] Fix-up the base address stuff after I did a drive-by with the calibration data location. 2018-02-01 21:58:52 +00:00
AR934X_BASE.hints [ar71xx] Start migrating the AR934x based boards over to the new world order. 2017-07-06 04:06:25 +00:00
AR5312_BASE.hints
AR5315_BASE.hints
BCM Modularize xz. 2019-02-26 19:55:03 +00:00
BCM.hints
BERI_DE4_BASE Convert atse(4) driver for Altera Triple-Speed Ethernet MegaCore to use 2018-04-13 15:59:24 +00:00
BERI_DE4_MDROOT
BERI_DE4_SDROOT Fix and shorten BERI kernel builds during universe. 2017-02-23 20:41:55 +00:00
BERI_DE4.hints
BERI_NETFPGA_MDROOT Rename BERI_TEMPLATE to std.BERI to be more like other configs. 2017-02-21 17:34:27 +00:00
BERI_SIM_BASE Fix and shorten BERI kernel builds during universe. 2017-02-23 20:41:55 +00:00
BERI_SIM_MDROOT
BERI_SIM_SDROOT
BERI_SIM_VIRTIO
BERI_SOCKIT kernel: Fix several typos and minor errors 2017-12-27 03:23:21 +00:00
BERI_TPAD.hints
CANNA Add jz4780 AIC (Audio Interface Controller) driver. 2016-12-20 18:27:53 +00:00
CARAMBOLA2 Modularize xz. 2019-02-26 19:55:03 +00:00
CARAMBOLA2.hints [ar933x] make carambola2 work again! 2017-07-23 07:10:41 +00:00
CI20 Add note to 32-bit mips smp config files documenting the status 2018-12-19 23:22:14 +00:00
DB120 Modularize xz. 2019-02-26 19:55:03 +00:00
DB120.hints [ar71xx] Fix DB120 AHB device hints in the new world order. 2018-02-05 04:48:41 +00:00
DEFAULTS
DIR-655A1 Modularize xz. 2019-02-26 19:55:03 +00:00
DIR-655A1.hints
DIR-825B1 Modularize xz. 2019-02-26 19:55:03 +00:00
DIR-825B1.hints
DIR-825C1 Remove duplicate options. 2019-03-23 18:32:28 +00:00
DIR-825C1.hints [atheros] Fix DIR-825C1 to use the new hints. 2018-02-01 22:01:11 +00:00
ENH200 Modularize xz. 2019-02-26 19:55:03 +00:00
ENH200.hints
ERL tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
JZ4780 Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
JZ4780.hints Bring in support for Ingenic XBurst JZ4780 and 2016-11-19 17:46:18 +00:00
MALTA Split MALTA board config to big and little endian versions. 2016-11-23 11:56:22 +00:00
MALTA64 Enable /usr/lib32 for o32 binaries on mips64. 2017-01-06 23:30:54 +00:00
MALTA64EL Re-enable kernel modules for the MALTA64EL kernel configuration. 2018-09-06 19:21:31 +00:00
MALTA.hints
MALTAEL Split MALTA board config to big and little endian versions. 2016-11-23 11:56:22 +00:00
MT7620.hints
MT7620A_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
MT7620N_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
MT7621_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
MT7628_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
OCTEON1 tun/tap: merge and rename to tuntap 2019-05-08 02:32:11 +00:00
OCTEON1.hints
ONIONOMEGA Modularize xz. 2019-02-26 19:55:03 +00:00
ONIONOMEGA.hints Add I2C device hints for Onion Omega 2017-02-09 15:16:08 +00:00
PB47 Modularize xz. 2019-02-26 19:55:03 +00:00
PB47.hints
PB92 random(4): Restore availability tradeoff prior to r346250 2019-04-18 20:48:54 +00:00
PB92.hints
PICOSTATION_M2HP Modularize xz. 2019-02-26 19:55:03 +00:00
PICOSTATION_M2HP.hints Fix arge0 mdio bus 2017-02-28 21:39:08 +00:00
QCA953X_BASE [atheros] Update QCA953x support to use the new hints. 2018-02-01 22:01:53 +00:00
QCA953X_BASE.hints [atheros] Update QCA953x support to use the new hints. 2018-02-01 22:01:53 +00:00
QCA955X_BASE.hints [atheros] Teach the QCA955x SoC code about the new hints stuff. 2018-02-01 22:00:05 +00:00
ROCKET_M2HP Modularize xz. 2019-02-26 19:55:03 +00:00
ROCKET_M2HP.hints Add Ubiquiti Rocket M support 2017-02-28 22:49:45 +00:00
ROUTERSTATION Modularize xz. 2019-02-26 19:55:03 +00:00
ROUTERSTATION_MFS Modularize xz. 2019-02-26 19:55:03 +00:00
ROUTERSTATION.hints
RSPRO Modularize xz. 2019-02-26 19:55:03 +00:00
RSPRO_MFS Modularize xz. 2019-02-26 19:55:03 +00:00
RSPRO_STANDALONE Modularize xz. 2019-02-26 19:55:03 +00:00
RSPRO.hints
RT305X.hints
RT2880_FDT [mips] [rt2880] Add oldest Ralink MIPS SOC RT2880 support code. 2017-05-06 06:20:34 +00:00
RT3050_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
RT3352_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
RT3883_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
RT5350_FDT Modularize xz. 2019-02-26 19:55:03 +00:00
RT5350.hints
std.AR91XX [ar71xx] migrate all of the duplicate configuration out into a shared config file. 2017-06-16 00:44:23 +00:00
std.AR724X [ar71xx] migrate all of the duplicate configuration out into a shared config file. 2017-06-16 00:44:23 +00:00
std.AR933X [atheros] Fix-up the base address stuff after I did a drive-by with the calibration data location. 2018-02-01 21:58:52 +00:00
std.AR934X [ar71xx] AR934x is a MIPS74k board - use the right hwpmc module 2018-02-05 04:47:13 +00:00
std.AR5312 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
std.AR5315 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
std.AR_MIPS_BASE Garbage collect AH_SUPPORT_AR5416 config option. 2019-01-25 13:48:40 +00:00
std.BERI Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
std.MALTA Make ZSTD a real option via ZSTDIO. 2018-07-05 17:07:23 +00:00
std.QCA955X [atheros] Teach the QCA955x SoC code about the new hints stuff. 2018-02-01 22:00:05 +00:00
std.XLP Modularize xz. 2019-02-26 19:55:03 +00:00
TL-ARCHERC7V2 Modularize xz. 2019-02-26 19:55:03 +00:00
TL-ARCHERC7V2.hints
TL-WDR4300 Modularize xz. 2019-02-26 19:55:03 +00:00
TL-WDR4300.hints [ar71xx] Fix the TL-wdr3600/tl-wdr4300 hints in the new world order. 2018-02-07 09:35:47 +00:00
TL-WR740Nv4 Modularize xz. 2019-02-26 19:55:03 +00:00
TL-WR740Nv4.hints
TL-WR1043NDv2 Modularize xz. 2019-02-26 19:55:03 +00:00
TL-WR1043NDv2.hints
TP-MR3020
TP-MR3020.hints
TP-MR3040 Modularize xz. 2019-02-26 19:55:03 +00:00
TP-MR3040.hints Add kernel support for the TP-LINK MR3040. 2017-03-01 05:53:53 +00:00
TP-WN1043ND Modularize xz. 2019-02-26 19:55:03 +00:00
TP-WN1043ND.hints
WZR-300HP Modularize xz. 2019-02-26 19:55:03 +00:00
WZR-300HP.hints
WZR-HPAG300H Modularize xz. 2019-02-26 19:55:03 +00:00
WZR-HPAG300H.hints
X1000 Add a COMPAT_FREEBSD12 kernel option. 2019-05-02 18:10:23 +00:00
X1000.hints Bring in support for Ingenic XBurst JZ4780 and 2016-11-19 17:46:18 +00:00
XLP64 Update several more URLs 2017-10-29 08:17:03 +00:00
XLP.hints Remove the old ds1374 driver and use the ds13rtc driver instead. Adjust 2017-08-13 22:07:42 +00:00
XLPN32 Update several more URLs 2017-10-29 08:17:03 +00:00