251a32b5b2
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
122 lines
3.4 KiB
Plaintext
122 lines
3.4 KiB
Plaintext
#
|
|
# Kernel configuration for i.MX53 boards
|
|
#
|
|
# For more information on this file, please read the config(5) manual page,
|
|
# and/or the handbook section on Kernel Configuration Files:
|
|
#
|
|
# https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
|
|
#
|
|
# The handbook is also available locally in /usr/share/doc/handbook
|
|
# if you've installed the doc distribution, otherwise always see the
|
|
# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
|
|
# latest information.
|
|
#
|
|
# An exhaustive list of options and more detailed explanations of the
|
|
# device lines is also present in the ../../conf/NOTES and NOTES files.
|
|
# If you are in doubt as to the purpose or necessity of a line, check first
|
|
# in NOTES.
|
|
#
|
|
# $FreeBSD$
|
|
|
|
ident IMX53
|
|
|
|
include "std.armv7"
|
|
include "../freescale/imx/std.imx53"
|
|
|
|
options SOC_IMX53
|
|
|
|
options SCHED_4BSD # 4BSD scheduler
|
|
#options NFSD # Network Filesystem Server
|
|
options PLATFORM
|
|
options INCLUDE_CONFIG_FILE # Include this file in kernel
|
|
|
|
# kernel/memory size reduction
|
|
#options MUTEX_NOINLINE
|
|
#options NO_FFS_SNAPSHOT
|
|
#options NO_SWAPPING
|
|
#options NO_SYSCTL_DESCR
|
|
#options RWLOCK_NOINLINE
|
|
|
|
# The `bpf' device enables the Berkeley Packet Filter.
|
|
# Be aware of the administrative consequences of enabling this!
|
|
# Note that 'bpf' is required for DHCP.
|
|
device bpf # Berkeley packet filter
|
|
|
|
# Pseudo devices.
|
|
device loop # Network loopback
|
|
device random # Entropy device
|
|
device ether # Ethernet support
|
|
#device vlan # 802.1Q VLAN support
|
|
#device tuntap # Packet tunnel.
|
|
device md # Memory "disks"
|
|
#device gif # IPv6 and IPv4 tunneling
|
|
#device firmware # firmware assist module
|
|
|
|
# Ethernet
|
|
device ffec # Freescale Fast Ethernet Controller
|
|
device miibus # Standard mii bus
|
|
|
|
# Serial (COM) ports
|
|
device uart # Multi-uart driver
|
|
|
|
device ata
|
|
device atapci # Only for helper functions
|
|
device imxata
|
|
|
|
device gpio
|
|
device gpioled
|
|
|
|
device fsliic
|
|
device iic
|
|
device iicbus
|
|
|
|
# SCSI peripherals
|
|
device scbus # SCSI bus (required for ATA/SCSI)
|
|
device da # Direct Access (disks)
|
|
device cd # CD
|
|
device pass # Passthrough device (direct ATA/SCSI access)
|
|
|
|
# USB support
|
|
options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
|
|
device ehci # OHCI USB interface
|
|
device usb # USB Bus (required)
|
|
device umass # Disks/Mass storage - Requires scbus and da
|
|
device uhid # "Human Interface Devices"
|
|
#device ukbd # Allow keyboard like HIDs to control console
|
|
device ums
|
|
|
|
# USB Ethernet, requires miibus
|
|
#device miibus
|
|
#device aue # ADMtek USB Ethernet
|
|
#device axe # ASIX Electronics USB Ethernet
|
|
#device cdce # Generic USB over Ethernet
|
|
#device cue # CATC USB Ethernet
|
|
#device kue # Kawasaki LSI USB Ethernet
|
|
#device rue # RealTek RTL8150 USB Ethernet
|
|
#device udav # Davicom DM9601E USB
|
|
|
|
# USB Wireless
|
|
#device rum # Ralink Technology RT2501USB wireless NICs
|
|
|
|
# Watchdog timer.
|
|
# WARNING: can't be disabled!!!
|
|
device imxwdt # Watchdog
|
|
|
|
# Wireless NIC cards
|
|
device wlan # 802.11 support
|
|
device wlan_wep # 802.11 WEP support
|
|
device wlan_ccmp # 802.11 CCMP support
|
|
device wlan_tkip # 802.11 TKIP support
|
|
device wlan_amrr # AMRR transmit rate control algorithm
|
|
|
|
# MMC
|
|
#device sdhci # SD controller
|
|
#device mmc # SD/MMC protocol
|
|
#device mmcsd # SDCard disk device
|
|
|
|
|
|
# Flattened Device Tree
|
|
options FDT # Configure using FDT/DTB data
|
|
makeoptions MODULES_EXTRA="dtb/imx5 imx"
|
|
device fdt_pinctrl # FDT pinmux driver
|