freebsd-dev/sbin
Kristof Provost d2568b024d pfctl: improve rule load times with thousands of interfaces
r343287 / D18759 introduced ifa_add_groups_to_map() which is now run by
ifa_load/ifa_lookup/host_if. When loading an anchor or ruleset via pfctl that
does NOT contain ifnames as hosts, host() still ends up iterating all
interfaces twice, grabbing SIOCGIFGROUP ioctl twice for each. This adds an
unnecessary amount of time on systems with thousands or tens of thousands of
interfaces.

Prioritize the IPv4/6 check over the interface name lookup, which skips loading
the iftab and iterating all interfaces when the configuration does not contain
interface names.

Submitted by:	Nick Rogers
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D24100
2020-03-19 12:54:43 +00:00
..
adjkerntz
bectl Drop "All Rights Reserved" from all libbe/bectl files 2020-01-24 02:18:09 +00:00
bsdlabel Remove deprecated GEOM classes 2019-08-13 20:06:55 +00:00
camcontrol Declare packed struct ata_params as 2-byte-aligned 2019-12-21 02:44:00 +00:00
ccdconfig
clri
comcontrol Remove sio(4). 2019-11-21 01:24:49 +00:00
conscontrol Remove sio(4). 2019-11-21 01:24:49 +00:00
ddb ddb: use 'textdump dump' instead of 'call doadump' 2019-10-18 12:32:01 +00:00
decryptcore EKCD: Add Chacha20 encryption mode 2019-05-23 20:12:24 +00:00
devd Add missing "ereport." prefixes of ZFS events. 2019-12-18 18:43:44 +00:00
devfs
devmatch Update Makefile.depend files 2019-12-11 17:37:53 +00:00
dhclient Update Makefile.depend files 2019-12-11 17:37:53 +00:00
dmesg
dump Clarify that the -r and -R options can be used only to create level 0 dumps. 2019-06-14 06:10:15 +00:00
dumpfs
dumpon dumpon: skip size check if using zstd 2020-03-03 22:14:23 +00:00
etherswitchcfg Add the 'drop tagged' flag support for ethernet switch ports. 2019-06-28 22:12:43 +00:00
fdisk Remove deprecated GEOM classes 2019-08-13 20:06:55 +00:00
ffsinfo
fsck Remove unused includes. 2019-12-22 05:44:29 +00:00
fsck_ffs When running fsck_ffs manually, do not ask: 2019-12-24 23:03:12 +00:00
fsck_msdosfs Use humanize_number to format available and bad space sizes. 2020-02-10 04:16:41 +00:00
fsdb After a crash, a file that extends into indirect blocks may end up 2019-02-25 21:58:19 +00:00
fsirand fsirand(8): Just use arc4random(3) 2019-12-13 04:12:13 +00:00
gbde gbde(8) - simplify randomisation with arc4random_buf 2019-02-11 00:11:02 +00:00
geom Remove all the RELEASE_CRUNCH defines, they are useless. 2019-12-16 21:06:24 +00:00
ggate Fix typo not -> nor and add 'the' because we are talking about specific flags 2019-09-06 15:01:47 +00:00
growfs Normally when an attempt is made to mount a UFS/FFS filesystem whose 2018-12-06 00:09:39 +00:00
gvinum
hastctl
hastd Fix typo in hastd.8 manual page. 2019-12-22 01:22:51 +00:00
ifconfig lagg: Further cleanup of the rr_limit option. 2020-01-09 14:58:41 +00:00
init init(8): set environment variables from the "daemon" class as well 2020-02-05 04:27:44 +00:00
ipf Create a link to the ipmon.conf.5 man page as documented in ipmon.5. 2019-06-27 12:37:44 +00:00
ipfw Revert r358858 as it breaks some ipfw(8) setups. 2020-03-11 08:08:53 +00:00
iscontrol Fix formatting. 2019-08-08 20:56:52 +00:00
kldconfig
kldload
kldstat
kldunload
ldconfig ldconfig: add aout deprecation notice 2020-03-17 15:57:25 +00:00
md5 Close filedescriptors when done with them. 2019-04-19 06:49:46 +00:00
mdconfig Use VOP_ADVISE() with POSIX_FADV_DONTNEED instead of IO_DIRECT to 2018-12-21 08:15:31 +00:00
mdmfs mdmfs(8): add -k skel option to populate fs from a skeleton 2019-11-01 03:10:53 +00:00
mknod
mksnap_ffs
mount Add two options to allow mount to avoid covering up existing mount points. 2019-09-23 04:28:07 +00:00
mount_cd9660
mount_fusefs Correct a handful of typos/grammos. 2019-12-07 15:17:00 +00:00
mount_msdosfs
mount_nfs Align the buffer to the alignment of the structure we expect. 2020-03-05 21:01:47 +00:00
mount_nullfs
mount_udf
mount_unionfs
natd
newfs Correct the location of the first backup superblock in fsck_ffs.8. 2019-08-07 16:56:00 +00:00
newfs_msdos Fix the following -Werror warning from clang 10.0.0 in newfs_msdos: 2020-01-28 20:10:26 +00:00
nfsiod pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
nos-tun pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
nvmecontrol Fix host memory buffer sizes reporting. 2020-01-06 01:51:23 +00:00
pfctl pfctl: improve rule load times with thousands of interfaces 2020-03-19 12:54:43 +00:00
pfilctl Hopefully fix compilation by other compilers. 2019-02-01 00:34:18 +00:00
pflogd
ping Update Makefile.depend files 2019-12-11 17:37:53 +00:00
ping6 Make ping6(1) return code consistent with the man page. 2020-02-15 15:39:53 +00:00
quotacheck Normally when an attempt is made to mount a UFS/FFS filesystem whose 2018-12-06 00:09:39 +00:00
rcorder pkgbase: Move rc scripts and related files to their own packages 2019-09-05 14:08:45 +00:00
reboot Remove sio(4). 2019-11-21 01:24:49 +00:00
recoverdisk recoverdisk(1): fclose() file supplied via '-r readlist' parameter when 2019-02-07 14:40:28 +00:00
resolvconf
restore
route route(8): clarify -prefixlen description 2019-01-10 00:10:12 +00:00
routed
rtsol Update Makefile.depend files 2019-12-11 17:37:53 +00:00
savecore savecore: include time zone in info.N file 2020-01-13 22:01:37 +00:00
sconfig Fix the following -Werror warning from clang 10.0.0 in sconfig: 2020-02-13 18:37:17 +00:00
setkey pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
shutdown Small tweak to the default behavior of shutdown -c 2020-01-17 01:20:48 +00:00
spppcontrol
swapon Fix a logic bug in error handling code. It is an error if p == NULL. 2019-12-09 07:18:40 +00:00
sysctl evdev: export event device properties through sysctl interface 2019-02-24 18:47:04 +00:00
tests
tunefs The size of the UFS soft-updates journal must be a multiple of the 2019-03-02 21:22:56 +00:00
umount
veriexec Add verifying manifest loader for mac_veriexec 2019-02-26 06:17:23 +00:00
zfsbootcfg
Makefile Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
Makefile.amd64
Makefile.arm
Makefile.i386
Makefile.inc
Makefile.mips
Makefile.powerpc64