bd79708dbf
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
224 lines
8.1 KiB
Plaintext
224 lines
8.1 KiB
Plaintext
#
|
|
# GENERIC -- Generic kernel configuration file for FreeBSD/powerpc
|
|
#
|
|
# For more information on this file, please read 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 AIM
|
|
ident GENERIC
|
|
|
|
machine powerpc powerpc
|
|
|
|
makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
|
|
makeoptions WITH_CTF=1
|
|
|
|
# Platform support
|
|
options POWERMAC #NewWorld Apple PowerMacs
|
|
options PSIM #GDB PSIM ppc simulator
|
|
options MAMBO #IBM Mambo Full System Simulator
|
|
options PSERIES #PAPR-compliant systems
|
|
|
|
options FDT
|
|
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 root device
|
|
options MSDOSFS #MSDOS Filesystem
|
|
options CD9660 #ISO 9660 Filesystem
|
|
options PROCFS #Process filesystem (requires PSEUDOFS)
|
|
options PSEUDOFS #Pseudo-filesystem framework
|
|
options GEOM_PART_APM #Apple Partition Maps.
|
|
options GEOM_PART_GPT #GUID Partition Tables.
|
|
options GEOM_LABEL #Provides labelization
|
|
options COMPAT_FREEBSD4 #Keep this for a while
|
|
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) syscall trace 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 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 KDTRACE_HOOKS # Kernel DTrace hooks
|
|
options DDB_CTF # Kernel ELF linker loads CTF data
|
|
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 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
|
|
|
|
# CPU frequency control
|
|
device cpufreq
|
|
|
|
# Standard busses
|
|
device pci
|
|
options PCI_HP # PCI-Express native HotPlug
|
|
device agp
|
|
|
|
# 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 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 sym # NCR/Symbios/LSI Logic 53C8XX/53C1010/53C1510D
|
|
|
|
# ATA/SCSI peripherals
|
|
device scbus # SCSI bus (required for ATA/SCSI)
|
|
device da # Direct Access (disks)
|
|
device sa # Sequential Access (tape etc)
|
|
device cd # CD
|
|
device pass # Passthrough device (direct ATA/SCSI access)
|
|
|
|
# vt is the default console driver, resembling an SCO console
|
|
device vt # Generic console driver (pulls in OF FB)
|
|
device kbdmux
|
|
|
|
# Serial (COM) ports
|
|
device scc
|
|
device uart
|
|
device uart_z8530
|
|
|
|
# FireWire support
|
|
device firewire # FireWire bus code
|
|
device sbp # SCSI over FireWire (Requires scbus and da)
|
|
device fwe # Ethernet over FireWire (non-standard!)
|
|
|
|
# PCI Ethernet NICs that use the common MII bus controller code.
|
|
device miibus # MII bus support
|
|
device bge # Broadcom BCM570xx Gigabit Ethernet
|
|
device bm # Apple BMAC Ethernet
|
|
device gem # Sun GEM/Sun ERI/Apple GMAC
|
|
device dc # DEC/Intel 21143 and various workalikes
|
|
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
|
|
|
|
# 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 ofwd # Open Firmware 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
|
|
device usb # USB Bus (required)
|
|
device uhid # "Human Interface Devices"
|
|
device ukbd # Keyboard
|
|
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
|
device ulpt # Printer
|
|
device umass # Disks/Mass storage - Requires scbus and da0
|
|
device ums # Mouse
|
|
device atp # Apple USB touchpad
|
|
device urio # Diamond Rio 500 MP3 player
|
|
# USB Ethernet
|
|
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
|
|
|
|
# Wireless NIC cards
|
|
options IEEE80211_SUPPORT_MESH
|
|
options AH_SUPPORT_AR5416
|
|
|
|
# Misc
|
|
device iicbus # I2C bus code
|
|
device kiic # Keywest I2C
|
|
device ad7417 # PowerMac7,2 temperature sensor
|
|
device adt746x # PowerBook5,8 temperature sensor
|
|
device ds1631 # PowerMac11,2 temperature sensor
|
|
device ds1775 # PowerMac7,2 temperature sensor
|
|
device fcu # Apple Fan Control Unit
|
|
device max6690 # PowerMac7,2 temperature sensor
|
|
device powermac_nvram # Open Firmware configuration NVRAM
|
|
device smu # Apple System Management Unit
|
|
device adm1030 # Apple G4 MDD fan controller
|
|
device atibl # ATI-based backlight driver for PowerBooks/iBooks
|
|
device nvbl # nVidia-based backlight driver for PowerBooks/iBooks
|
|
|
|
# ADB support
|
|
device adb
|
|
device cuda
|
|
device pmu
|
|
|
|
# Sound support
|
|
device sound # Generic sound driver (required)
|
|
device snd_ai2s # Apple I2S audio
|
|
device snd_davbus # Apple DAVBUS audio
|
|
device snd_uaudio # USB Audio
|
|
|
|
# The crypto framework is required by IPSEC
|
|
device crypto # Required by IPSEC
|