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
186 lines
6.1 KiB
Plaintext
186 lines
6.1 KiB
Plaintext
# Kernel configuration for Atmel SAM9260-EK eval board
|
|
#
|
|
# 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$
|
|
|
|
#NO_UNIVERSE
|
|
|
|
ident SAM9260EK
|
|
|
|
include "std.arm"
|
|
include "../at91/std.sam9260ek"
|
|
|
|
# Coming soon, but not yet
|
|
#options FDT
|
|
#options FDT_DTB_STATIC
|
|
#makeoptions FDT_DTS_FILE=sam9260ek.dts
|
|
|
|
options EARLY_PRINTF
|
|
options SOCDEV_PA=0xfc000000
|
|
options SOCDEV_VA=0xdc000000
|
|
|
|
# To statically compile in device wiring instead of /boot/device.hints
|
|
hints "SAM9260EK.hints"
|
|
|
|
makeoptions MODULES_OVERRIDE=""
|
|
|
|
options SCHED_4BSD # 4BSD scheduler
|
|
#options PREEMPTION # Enable kernel thread preemption
|
|
options INET # InterNETworking
|
|
#options INET6 # IPv6 communications protocols
|
|
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 MD_ROOT # MD is a potential root device
|
|
options NANDFS # NAND file system
|
|
options NFSCL # Network Filesystem Client
|
|
#options NFSD # Network Filesystem Server
|
|
options NFSLOCKD # Network Lock Manager
|
|
options NFS_ROOT # NFS usable as /, requires NFSCL
|
|
options TMPFS # Efficient memory filesystem
|
|
#options MSDOSFS # MSDOS Filesystem
|
|
#options CD9660 # ISO 9660 Filesystem
|
|
#options PROCFS # Process filesystem (requires PSEUDOFS)
|
|
#options PSEUDOFS # Pseudo-filesystem framework
|
|
options GEOM_PART_BSD # BSD partition scheme
|
|
options GEOM_PART_MBR # MBR partition scheme
|
|
#options GEOM_PART_GPT # GUID Partition Tables.
|
|
#options GEOM_LABEL # Provides labelization
|
|
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
|
|
|
|
# NFS root from boopt/dhcp
|
|
#options BOOTP
|
|
#options BOOTP_NFSROOT
|
|
#options BOOTP_COMPAT
|
|
#options BOOTP_NFSV3
|
|
#options BOOTP_WIRED_TO=macb0
|
|
|
|
# s3 because s1 is reserved for the DOS parittions sometimes needed to
|
|
# boot off SD cards on the G20 and newer chips. s2 is reserved for
|
|
# nanobsd's config partition. s3 and s4 are for the ping-pong upgrade
|
|
# path. 9260 doesn't boot off SD, but let's keep things sane.
|
|
options ROOTDEVNAME=\"ufs:/dev/mmcsd0s3a\"
|
|
|
|
# Alternatively, boot from a USB card.
|
|
#options ROOTDEVNAME=\"ufs:/dev/da0s1a\"
|
|
|
|
# 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
|
|
|
|
# Ethernet
|
|
device mii # Minimal MII support
|
|
device macb # Atmel AT91 Ethernet driver
|
|
|
|
# I2C
|
|
device at91_twi # Atmel AT91 Two-wire Interface
|
|
device iic # I2C generic I/O device driver
|
|
device iicbus # I2C bus system
|
|
device icee # I2C eeprom
|
|
|
|
# MMC/SD
|
|
# See comment for DataFlash below
|
|
device at91_mci # Atmel AT91 Multimedia Card Interface
|
|
options AT91_MCI_HAS_4WIRE # 4 wires
|
|
options AT91_MCI_SLOT_B # Wired to slot B
|
|
device mmc # MMC/SD bus
|
|
device mmcsd # MMC/SD memory card
|
|
|
|
# DataFlash
|
|
# The DataFlash and MMC card are wired together, so we must pick one or the
|
|
# other. This is due to pin mux, and also due to the design of the
|
|
# SAM9260EK board. SLOT A wouldn't have this issue.
|
|
#device at91_spi # Atmel AT91 Serial Peripheral Interface
|
|
#device spibus # SPI bus
|
|
#device at45d # Atmel AT45D
|
|
#device geom_map # GEOM partition mapping
|
|
|
|
# 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
|
|
|
|
# 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/DVD
|
|
#device pass # Passthrough device (direct ATA/SCSI access)
|
|
#device ses # Enclosure Services (SES and SAF-TE)
|
|
#device ctl # CAM Target Layer
|
|
|
|
# Serial (COM) ports
|
|
device uart # Multi-uart driver
|
|
|
|
# USB support
|
|
#device ohci # OHCI USB interface
|
|
#device usb # USB Bus (required)
|
|
#device umass # Disks/Mass storage - Requires scbus and da
|
|
|
|
# watchdog
|
|
device at91_wdt # Atmel AT91 Watchdog Timer
|
|
|
|
# NAND Flash - Reference design has Samsung 256MB but others possible
|
|
device nand # NAND interface on CS3
|
|
|
|
options NSFBUFS=128
|
|
maxusers 32
|
|
|
|
# Limit IO size
|
|
options NBUF=128
|
|
|
|
# Don't include the SCSI/CAM strings in the default build
|
|
options SCSI_NO_SENSE_STRINGS
|
|
options SCSI_NO_OP_STRINGS
|
|
|
|
# .. And no sysctl strings
|
|
options NO_SYSCTL_DESCR
|
|
|
|
# For small memory footprints
|
|
options VM_KMEM_SIZE_SCALE=1
|