62030781cd
to add actions that run when a TCP frame is sent or received on a TCP session in the ESTABLISHED state. In the base tree, this functionality is only used for the h_ertt module, which is used by the cc_cdg, cc_chd, cc_hd, and cc_vegas congestion control modules. Presently, we incur overhead to check for hooks each time a TCP frame is sent or received on an ESTABLISHED TCP session. This change adds a new compile-time option (TCP_HHOOK) to determine whether to include the hhook(9) framework for TCP. To retain backwards compatibility, I added the TCP_HHOOK option to every configuration file that already defined "options INET". (Therefore, this patch introduces no functional change. In order to see a functional difference, you need to compile a custom kernel without the TCP_HHOOK option.) This change will allow users to easily exclude this functionality from their kernel, should they wish to do so. Note that any users who use a custom kernel configuration and use one of the congestion control modules listed above will need to add the TCP_HHOOK option to their kernel configuration. Reviewed by: rrs, lstewart, hiren (previous version), sjg (makefiles only) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D8185
257 lines
9.7 KiB
Plaintext
257 lines
9.7 KiB
Plaintext
#
|
|
# GENERIC -- Generic kernel configuration file for FreeBSD/sparc64
|
|
#
|
|
# For more information on this file, please read the config(5) manual page,
|
|
# and/or the handbook section on Kernel Configuration Files:
|
|
#
|
|
# http://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 (http://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$
|
|
|
|
cpu SUN4U
|
|
ident GENERIC
|
|
|
|
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
|
|
|
|
# Platforms supported
|
|
# At this time all platforms are supported, as-is.
|
|
|
|
options SCHED_ULE # ULE scheduler
|
|
options PREEMPTION # Enable kernel thread preemption
|
|
options INET # InterNETworking
|
|
options INET6 # IPv6 communications protocols
|
|
options IPSEC # IP (v4/v6) security
|
|
options TCP_HHOOK # hhook(9) framework for TCP
|
|
options SCTP # Stream Control Transmission Protocol
|
|
options FFS # Berkeley Fast Filesystem
|
|
options SOFTUPDATES # Enable FFS soft updates support
|
|
options UFS_ACL # Support for access control lists
|
|
options UFS_DIRHASH # Improve performance on big directories
|
|
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
|
|
options QUOTA # Enable disk quotas for UFS
|
|
options MD_ROOT # MD is a potential root device
|
|
options NFSCL # Network Filesystem Client
|
|
options NFSD # Network Filesystem Server
|
|
options NFSLOCKD # Network Lock Manager
|
|
options NFS_ROOT # NFS usable as /, requires NFSCL
|
|
#options MSDOSFS # MSDOS Filesystem
|
|
options CD9660 # ISO 9660 Filesystem
|
|
options PROCFS # Process filesystem (requires PSEUDOFS)
|
|
options PSEUDOFS # Pseudo-filesystem framework
|
|
options GEOM_PART_GPT # GUID Partition Tables.
|
|
options GEOM_LABEL # Provides labelization
|
|
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
|
|
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
|
|
options COMPAT_FREEBSD7 # Compatible with FreeBSD7
|
|
options COMPAT_FREEBSD9 # Compatible with FreeBSD9
|
|
options COMPAT_FREEBSD10 # Compatible with FreeBSD10
|
|
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
|
|
options KTRACE # ktrace(1) support
|
|
options STACK # stack(9) support
|
|
options SYSVSHM # SYSV-style shared memory
|
|
options SYSVMSG # SYSV-style message queues
|
|
options SYSVSEM # SYSV-style semaphores
|
|
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
|
|
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
|
|
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
|
|
options AUDIT # Security event auditing
|
|
options CAPABILITY_MODE # Capsicum capability mode
|
|
options CAPABILITIES # Capsicum capabilities
|
|
options MAC # TrustedBSD MAC Framework
|
|
options INCLUDE_CONFIG_FILE # Include this file in kernel
|
|
options RACCT # Resource accounting framework
|
|
options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
|
|
options RCTL # Resource limits
|
|
|
|
# Debugging support. Always need this:
|
|
options KDB # Enable kernel debugger support.
|
|
options KDB_TRACE # Print a stack trace for a panic.
|
|
# For full debugger support use (turn off in stable branch):
|
|
options DDB # Support DDB.
|
|
options GDB # Support remote GDB.
|
|
options DEADLKRES # Enable the deadlock resolver
|
|
options INVARIANTS # Enable calls of extra sanity checking
|
|
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
|
|
options WITNESS # Enable checks to detect deadlocks and cycles
|
|
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
|
|
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
|
|
|
|
# Make an SMP-capable kernel by default
|
|
options SMP # Symmetric MultiProcessor Kernel
|
|
|
|
# Standard busses
|
|
device ebus
|
|
device isa
|
|
device pci
|
|
device sbus
|
|
device central
|
|
device fhc
|
|
|
|
# Floppy drives
|
|
#device fdc
|
|
|
|
# ATA controllers
|
|
device ahci # AHCI-compatible SATA controllers
|
|
device ata # Legacy ATA/SATA controllers
|
|
device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
|
|
device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA
|
|
|
|
# SCSI Controllers
|
|
device ahc # AHA2940 and onboard AIC7xxx devices
|
|
options AHC_ALLOW_MEMIO # Attempt to use memory mapped I/O
|
|
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
|
|
# output. Adds ~128k to driver.
|
|
device esp # AMD Am53C974, Sun ESP and FAS families
|
|
device isp # Qlogic family
|
|
device ispfw # Firmware module for Qlogic host adapters
|
|
device mpt # LSI-Logic MPT-Fusion
|
|
device mps # LSI-Logic MPT-Fusion 2
|
|
device mpr # LSI-Logic MPT-Fusion 3
|
|
device sym # NCR/Symbios/LSI Logic 53C8XX/53C1010/53C1510D
|
|
|
|
# ATA/SCSI peripherals
|
|
device scbus # SCSI bus (required for ATA/SCSI)
|
|
device ch # SCSI media changers
|
|
device da # Direct Access (disks)
|
|
device sa # Sequential Access (tape etc)
|
|
device cd # CD
|
|
device pass # Passthrough device (direct ATA/SCSI access)
|
|
device ses # Enclosure Services (SES and SAF-TE)
|
|
#device ctl # CAM Target Layer
|
|
|
|
# RAID controllers
|
|
#device amr # AMI MegaRAID
|
|
#device mlx # Mylex DAC960 family
|
|
|
|
# atkbdc0 controls both the keyboard and the PS/2 mouse
|
|
device atkbdc # AT keyboard controller
|
|
device atkbd # AT keyboard
|
|
device psm # PS/2 mouse
|
|
|
|
device kbdmux # keyboard multiplexer
|
|
|
|
# syscons is the default console driver, resembling an SCO console
|
|
device sc
|
|
device creator # Creator, Creator3D and Elite3D framebuffers
|
|
device machfb # ATI Mach64 framebuffers
|
|
device splash # Splash screen and screen saver support
|
|
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
|
|
|
# vt is the new video console driver
|
|
#device vt
|
|
|
|
# Builtin hardware
|
|
device auxio # auxiliary I/O device
|
|
device eeprom # eeprom (really a front-end for the MK48Txx)
|
|
device mk48txx # Mostek MK48Txx clocks
|
|
device rtc # rtc (really a front-end for the MC146818)
|
|
device mc146818 # Motorola MC146818 and compatible clocks
|
|
device epic # Sun Fire V215/V245 LEDs
|
|
device sbbc # Sun BootBus controller (time-of-day clock for
|
|
# Serengeti and StarCat, console for Serengeti,
|
|
# requires device uart)
|
|
|
|
# Serial (COM) ports
|
|
device puc # Multi-channel uarts
|
|
device scc # Serial communications controllers.
|
|
device uart # Multi-uart driver
|
|
|
|
# Parallel port
|
|
#device ppc
|
|
#device ppbus # Parallel port bus (required)
|
|
#device lpt # Printer
|
|
#device ppi # Parallel port interface device
|
|
#device vpo # Requires scbus and da
|
|
|
|
# PCI Ethernet NICs.
|
|
#device de # DEC/Intel DC21x4x (``Tulip'')
|
|
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
|
|
#device ixgb # Intel PRO/10GbE Ethernet Card
|
|
device le # AMD Am7900 LANCE and Am79C9xx PCnet
|
|
device ti # Alteon Networks Tigon I/II gigabit Ethernet
|
|
device txp # 3Com 3cR990 (``Typhoon'')
|
|
#device vx # 3Com 3c590, 3c595 (``Vortex'')
|
|
|
|
# PCI Ethernet NICs that use the common MII bus controller code.
|
|
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
|
|
device miibus # MII bus support
|
|
#device bfe # Broadcom BCM440x 10/100 Ethernet
|
|
device bge # Broadcom BCM570xx Gigabit Ethernet
|
|
device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn
|
|
device dc # DEC/Intel 21143 and various workalikes
|
|
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
|
device gem # Sun GEM/Sun ERI/Apple GMAC
|
|
device hme # Sun HME (Happy Meal Ethernet)
|
|
device nge # NatSemi DP83820 gigabit Ethernet
|
|
#device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le')
|
|
device re # RealTek 8139C+/8169/8169S/8110S
|
|
device rl # RealTek 8129/8139
|
|
device sf # Adaptec AIC-6915 (``Starfire'')
|
|
device sis # Silicon Integrated Systems SiS 900/SiS 7016
|
|
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
|
|
device ste # Sundance ST201 (D-Link DFE-550TX)
|
|
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
|
|
#device tl # Texas Instruments ThunderLAN
|
|
#device tx # SMC EtherPower II (83c170 ``EPIC'')
|
|
device vr # VIA Rhine, Rhine II
|
|
#device wb # Winbond W89C840F
|
|
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
|
|
|
|
# Wireless NIC cards
|
|
device wlan # 802.11 support
|
|
options IEEE80211_DEBUG # enable debug msgs
|
|
options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
|
|
options IEEE80211_SUPPORT_MESH # enable 802.11s D3.0 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
|
|
device ath # Atheros NICs
|
|
device ath_pci # Atheros pci/cardbus glue
|
|
device ath_hal # Atheros HAL (Hardware Access Layer)
|
|
options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
|
|
device ath_rate_sample # SampleRate tx rate control for ath
|
|
|
|
# Pseudo devices.
|
|
device loop # Network loopback
|
|
device random # Entropy device
|
|
device ether # Ethernet support
|
|
device vlan # 802.1Q VLAN support
|
|
device tun # Packet tunnel.
|
|
device md # Memory "disks"
|
|
device gif # IPv6 and IPv4 tunneling
|
|
device firmware # firmware assist module
|
|
|
|
# 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
|
|
|
|
# USB support
|
|
options USB_DEBUG # enable debug msgs
|
|
device uhci # UHCI PCI->USB interface
|
|
device ohci # OHCI PCI->USB interface
|
|
device ehci # EHCI PCI->USB interface (USB 2.0)
|
|
device usb # USB Bus (required)
|
|
device ukbd # Keyboard
|
|
device umass # Disks/Mass storage - Requires scbus and da
|
|
|
|
# Sound support
|
|
device sound # Generic sound driver (required)
|
|
device snd_audiocs # Crystal Semiconductor CS4231
|
|
device snd_es137x # Ensoniq AudioPCI ES137x
|
|
device snd_t4dwave # Acer Labs M5451
|
|
|
|
# The crypto framework is required by IPSEC
|
|
device crypto # Required by IPSEC
|