1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-18 02:19:39 +00:00
freebsd/sys/netpfil/pf
Kajetan Staszkiewicz 65074f6f31 pf: fix double ruleset evaluation for fragments sent to dummynet
The function `pf_setup_pdesc()` handles ruleset evaluation for non-reassembled
packets. Having it called before `pf_mtag` is checked for flags
`PF_MTAG_FLAG_ROUTE_TO` and `PF_MTAG_FLAG_DUMMYNET` will cause loops for
fragmented packets if reassembly is disabled.

Move `pd` zeroing and `pf_mtag` extraction from `pf_setup_pdesc()` to a separate
function `pf_init_pdesc()` and change the order of function calls: first
call `pf_init_pdesc()`, then check if the currently processed packet has been
reinjected from dummynet, finally call `pf_setup_pdesc()`.

Add functionality of sending UDP packets to `pft_ping.py` with fragmentation
support and fix broken IPv6 reassembly.

Reviewed by:	kp
Differential Revision:	https://reviews.freebsd.org/D46880
2024-10-03 13:49:57 +02:00
..
if_pflog.c pf: do not pass af to PFLOG_PACKET 2024-09-19 22:20:15 +02:00
if_pfsync.c pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs 2024-10-02 19:53:26 +02:00
in4_cksum.c
pf_altq.h
pf_if.c
pf_ioctl.c pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs 2024-10-02 19:53:26 +02:00
pf_lb.c pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs 2024-10-02 19:53:26 +02:00
pf_mtag.h pf: avoid passing through dummynet multiple times 2024-03-19 16:29:29 +01:00
pf_nl.c pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs 2024-10-02 19:53:26 +02:00
pf_nl.h pf: fix max-src-conn when rules are added via netlink 2024-09-27 14:29:20 +02:00
pf_norm.c pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs 2024-10-02 19:53:26 +02:00
pf_nv.c pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs 2024-10-02 19:53:26 +02:00
pf_nv.h
pf_osfp.c
pf_ruleset.c pf: fix incorrect anchor_call to userspace 2024-05-28 22:27:22 +02:00
pf_syncookies.c pf: Stop checking for failures from malloc(M_WAITOK) 2024-09-03 18:25:20 +08:00
pf_table.c pf: exclude link local address from the dynamic interface address pool 2024-09-19 22:20:14 +02:00
pf.c pf: fix double ruleset evaluation for fragments sent to dummynet 2024-10-03 13:49:57 +02:00
pf.h pf: fold pf_test_fragment() into pf_test_rule() 2024-10-01 09:55:13 +02:00
pflow.c pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs 2024-10-02 19:53:26 +02:00
pfsync_nv.c
pfsync_nv.h