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
161 lines
5.2 KiB
Plaintext
161 lines
5.2 KiB
Plaintext
# Kernel configuration to test compile all the atmel bits with one
|
|
# configuration. This kernel will not (presently) boot. Do not copy
|
|
# it to create your own custom config file.
|
|
#
|
|
# $FreeBSD$
|
|
|
|
ident ATMEL
|
|
|
|
include "std.arm"
|
|
include "../at91/std.atmel"
|
|
|
|
# Typical values for most SoCs and board configurations. Will not work for
|
|
# at91sam9g45 or on some boards with non u-boot boot loaders.
|
|
makeoptions KERNPHYSADDR=0x20000000
|
|
makeoptions KERNVIRTADDR=0xc0000000
|
|
options KERNVIRTADDR=0xc0000000
|
|
|
|
makeoptions MODULES_OVERRIDE="dtb/atmel"
|
|
|
|
# list all boards here, but not just yet (no multiboard in mainline).
|
|
options ARM_MANY_BOARD
|
|
device at91_board_bwct
|
|
device at91_board_ethernut5
|
|
device at91_board_hl200
|
|
device at91_board_hl201
|
|
device at91_board_kb920x
|
|
device at91_board_qila9g20
|
|
device at91_board_sam9260ek
|
|
device at91_board_sam9g20ek
|
|
device at91_board_sam9x25ek
|
|
device at91_board_sn9g45
|
|
device at91_board_tsc4370
|
|
|
|
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 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=ate0
|
|
|
|
# alternatively, boot from a MMC/SD memory card
|
|
#options ROOTDEVNAME=\"ufs:/dev/mmcsd0a\"
|
|
|
|
# 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 ate # 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 pcf8563 # NXP PCF8563 clock/calendar
|
|
|
|
# MMC/SD
|
|
device at91_mci # Atmel AT91 Multimedia Card Interface
|
|
options AT91_MCI_HAS_4WIRE
|
|
device mmc # MMC/SD bus
|
|
device mmcsd # MMC/SD memory card
|
|
|
|
# DataFlash
|
|
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
|
|
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
|
|
|
|
# USB device (gadget) support
|
|
device at91_dci # Atmel's usb device
|
|
device usfs # emulate a flash
|
|
device cdce # emulate an ethernet
|
|
device usb_template # Control of the gadget
|
|
|
|
# watchdog
|
|
device at91_wdt # Atmel AT91 Watchdog Timer
|
|
|
|
device at91_rtc
|
|
device at91_ssc
|
|
#device at91_tc # missing?
|
|
|
|
# NAND Flash - Reference design has Samsung 256MB but others possible
|
|
device nand # NAND interface on CS3
|