freebsd-dev/sys
Mark Johnston 4130ea611f inpcb: Split in_pcblookup_hash_locked() and clean up a bit
Split the in_pcblookup_hash_locked() function into several independent
subroutine calls, each of which does some kind of hash table lookup.
This refactoring makes it easier to introduce variants of the lookup
algorithm that behave differently depending on whether they are
synchronized by SMR or the PCB database hash lock.

While here, do some related cleanup:
- Remove an unused ifnet parameter from internal functions.  Keep it in
  external functions so that it can be used in the future to derive a v6
  scopeid.
- Reorder the parameters to in_pcblookup_lbgroup() to be consistent with
  the other lookup functions.
- Remove an always-true check from in_pcblookup_lbgroup(): we can assume
  that we're performing a wildcard match.

No functional change intended.

Reviewed by:	glebius
Differential Revision:	https://reviews.freebsd.org/D38364
2023-02-09 16:15:03 -05:00
..
amd64 vmm: Fix AP startup compatibility for old bhyve executables 2023-02-09 16:14:33 -05:00
arm ofwbus: remove handling of resources from ofwbus 2023-02-08 16:50:46 -04:00
arm64 ofwbus: remove handling of resources from ofwbus 2023-02-08 16:50:46 -04:00
bsm
cam CTL: Allow userland supply tags via ioctl frontend. 2022-12-03 12:05:05 -05:00
cddl dtrace: implement riscv dtrace_getustackdepth() 2023-02-06 15:26:53 -04:00
compat LinuxKPI: 802.11: deal with stopped queues 2023-02-07 20:20:33 +00:00
conf amd64: record a dependency of vdso on its linker script 2023-02-09 04:36:39 +02:00
contrib MFV: zstd 1.5.2 2023-01-27 17:22:31 +00:00
crypto OpenSSL: Regen assembly files for OpenSSL 1.1.1t 2023-02-07 13:55:17 -05:00
ddb ddb: ansify 2023-02-08 00:09:23 +00:00
dev mi_switch(): clean up switch types and their usage 2023-02-09 12:01:32 -04:00
dts arm64/rockchip: Remove rk3328-dwc3 overlays 2022-11-16 11:58:32 +01:00
fs tarfs: Fix issues revealed by static analysis and testing. 2023-02-09 17:35:47 +00:00
gdb
geom Move kstack_contains() and GET_STACK_USAGE() to MD machine/stack.h 2023-02-02 00:59:26 +02:00
gnu
i386 MINIMAL: Update and clean up. 2023-02-09 18:24:45 +01:00
isa
kern kern_poll: include sys/sched.h 2023-02-09 17:13:02 -04:00
kgssapi kgssapi: Increase timeout for kernel to gssd(8) upcalls 2023-01-11 13:20:31 -08:00
libkern ashldi3: Use C89-style function definition 2022-11-27 13:23:25 -07:00
modules enic: Cleanup module Makefile 2023-02-06 09:26:53 -08:00
net bpf: Add missing NOP stubs 2023-02-08 18:05:21 +08:00
net80211 IfAPI: Explicitly include <net/if_private.h> in netstack 2023-01-31 15:02:16 -05:00
netgraph Move kstack_contains() and GET_STACK_USAGE() to MD machine/stack.h 2023-02-02 00:59:26 +02:00
netinet inpcb: Split in_pcblookup_hash_locked() and clean up a bit 2023-02-09 16:15:03 -05:00
netinet6 inpcb: Split in_pcblookup_hash_locked() and clean up a bit 2023-02-09 16:15:03 -05:00
netipsec IfAPI: Explicitly include <net/if_private.h> in netstack 2023-01-31 15:02:16 -05:00
netlink netlink: return optional metadata with the operation result. 2023-02-09 15:30:00 +00:00
netpfil pfsync: add missing bucket lock 2023-02-03 09:39:09 +01:00
netsmb
nfs Allow any user to read the NFS stats, for example with nfsstat(1). 2022-12-01 22:21:14 -07:00
nfsclient
nfsserver
nlm nlm: only access refcounts using dedicated primitives 2022-11-24 19:46:43 +00:00
ofed ibcore: The use of IN_LOOPBACK() now requires a valid VNET context. 2022-09-23 13:42:03 +02:00
opencrypto crypto: move all zeroing into crypto_getreq 2022-11-22 12:28:07 +00:00
powerpc ofwbus: remove handling of resources from ofwbus 2023-02-08 16:50:46 -04:00
riscv ofwbus: remove handling of resources from ofwbus 2023-02-08 16:50:46 -04:00
rpc krpc: Allow mountd/nfsd to optionally run in a jail 2022-12-18 12:40:48 -08:00
security IfAPI: Add if_get/setmaclabel() and use it. 2023-01-31 15:02:15 -05:00
sys ktls: Fix comments & whitespace issues with c0e4090e3d 2023-02-09 14:11:24 -05:00
teken
tests
tools Improve debuggability of VOP_* locking assertions 2023-01-18 22:11:05 -06:00
ufs FIOSEEKHOLE/FIOSEEKDATA: correct consistency for bmap-based implementation 2023-02-04 20:32:07 +02:00
vm vm: centralize VM_BATCHQUEUE_SIZE definition 2023-01-21 14:30:00 -05:00
x86 Allow sysctl hw.machine/hw.machine_arch in capability mode 2023-02-06 14:00:52 -05:00
xdr xdr: store chars consistently 2023-01-12 18:16:17 +00:00
xen
Makefile Remove dead code in the cscope target 2022-11-11 15:53:57 +00:00
README.md README.md: shift description of kernel config files 2022-11-01 12:20:55 -03:00

FreeBSD Kernel Source:

This directory contains the source files and build glue that make up the FreeBSD kernel and its modules, including both original and contributed software.

Kernel configuration files are located in the conf/ subdirectory of each architecture. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries. LINT is a compile-only configuration used to maximize build coverage and detect regressions.

Source Roadmap:

Directory Description
amd64 AMD64 (64-bit x86) architecture support
arm 32-bit ARM architecture support
arm64 64-bit ARM (AArch64) architecture support
cam Common Access Method storage subsystem - cam(4) and ctl(4)
cddl CDDL-licensed optional sources such as DTrace
conf kernel build glue
compat Linux compatibility layer, FreeBSD 32-bit compatibility
contrib 3rd-party imported software such as OpenZFS
crypto crypto drivers
ddb interactive kernel debugger - ddb(4)
fs most filesystems, excluding UFS, NFS, and ZFS
dev device drivers
gdb kernel remote GDB stub - gdb(4)
geom GEOM framework - geom(4)
i386 i386 (32-bit x86) architecture support
kern main part of the kernel
libkern libc-like and other support functions for kernel use
modules kernel module infrastructure
net core networking code
net80211 wireless networking (IEEE 802.11) - net80211(4)
netgraph graph-based networking subsystem - netgraph(4)
netinet IPv4 protocol implementation - inet(4)
netinet6 IPv6 protocol implementation - inet6(4)
netipsec IPsec protocol implementation - ipsec(4)
netpfil packet filters - ipfw(4), pf(4), and ipfilter(4)
opencrypto OpenCrypto framework - crypto(7)
powerpc PowerPC/POWER (32 and 64-bit) architecture support
riscv 64-bit RISC-V architecture support
security security facilities - audit(4) and mac(4)
sys kernel headers
tests kernel unit tests
ufs Unix File System - ffs(7)
vm virtual memory system
x86 code shared by AMD64 and i386 architectures