freebsd-dev/sys/netpfil/ipfilter/netinet
Gleb Smirnoff caf32b260a pfil: add pfil_mem_{in,out}() and retire pfil_run_hooks()
The 0b70e3e78b changed the original design of a single entry point
into pfil(9) chains providing separate functions for the filtering
points that always provide mbufs and know the direction of a flow.
The motivation was to reduce branching.  The logical continuation
would be to do the same for the filtering points that always provide
a memory pointer and retire the single entry point.

o Hooks now provide two functions: one for mbufs and optional for
  memory pointers.
o pfil_hook_args() has a new member and pfil_add_hook() has a
  requirement to zero out uninitialized data. Bump PFIL_VERSION.
o As it was before, a hook function for a memory pointer may realloc
  into an mbuf.  Such mbuf would be returned via a pointer that must
  be provided in argument.
o The only hook that supports memory pointers is ipfw:default-link.
  It is rewritten to provide two functions.
o All remaining uses of pfil_run_hooks() are converted to
  pfil_mem_in().
o Transparent union of pfil_packet_t and tricks to fix pointer
  alignment are retired. Internal pfil_realloc() reduces down to
  m_devget() and thus is retired, too.

Reviewed by:		mjg, ocochard
Differential revision:	https://reviews.freebsd.org/D37977
2023-02-14 10:02:49 -08:00
..
fil.c ipfilter: Fix use after free on packet with broken lengths 2023-02-02 09:41:22 -08:00
ip_auth.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_auth.h
ip_compat.h IfAPI: Explicitly include <net/if_private.h> in netstack 2023-01-31 15:02:16 -05:00
ip_dns_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_dstlist.c ipfilter(4): Fix a typo in a source code comment 2022-03-28 19:29:06 +02:00
ip_dstlist.h
ip_fil_freebsd.c pfil: add pfil_mem_{in,out}() and retire pfil_run_hooks() 2023-02-14 10:02:49 -08:00
ip_fil.h ipfilter: Correctly type ipf_pullup() 2023-02-02 09:41:22 -08:00
ip_frag.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_frag.h
ip_ftp_pxy.c ipfilter: ansify 2023-02-13 18:05:57 +00:00
ip_htable.c ipfilter: ansify 2023-02-13 18:05:57 +00:00
ip_htable.h
ip_ipsec_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_irc_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_log.c IfAPI: Explicitly include <net/if_private.h> in netstack 2023-01-31 15:02:16 -05:00
ip_lookup.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_lookup.h
ip_nat6.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_nat.c ipfilter: Support only jails in VNET 2022-07-07 07:53:45 -07:00
ip_nat.h
ip_netbios_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_pool.c netpfil: Fix some typos in source code comments 2022-09-15 10:24:00 +02:00
ip_pool.h
ip_pptp_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_proxy.c ipfilter: Fix IP header checksums post ftp proxy 2022-01-12 12:58:05 -08:00
ip_proxy.h ipfilter module: Fix whitespace errors 2022-01-03 18:06:44 -08:00
ip_raudio_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_rcmd_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_rpcb_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_rules.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_rules.h
ip_scan.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_scan.h
ip_state.c ipfilter: ansify 2023-02-13 18:05:57 +00:00
ip_state.h
ip_sync.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ip_sync.h
ip_tftp_pxy.c ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
ipf_rb.h ipfilter module: Style(9) requires a space after return 2022-01-03 18:46:49 -08:00
IPFILTER.LICENCE
ipl.h
mlfk_ipl.c ipfilter: ansify 2023-02-13 18:05:57 +00:00
radix_ipf.c ipfilter: Fix mismatch in array bounds. 2022-12-07 12:32:38 -08:00
radix_ipf.h