HomeFreeBSD

pf: handle IPv6 fragmentation for route-to

Description

pf: handle IPv6 fragmentation for route-to

If a fragmented IPv6 packet hits a route-to rule we have to first prevent
the pf_test(PF_OUT) check in pf_route6() from refragmenting (and calling
ip6_output()/ip6_forward()). We then have to refragment in pf_route6() and
transmit the packets on the route-to interface.

Split pf_refragment6() into two parts, the first to perform the refragmentation,
the second to call ip6_output()/ip6_forward() and call the former from
pf_route6().

Add a test case for route-to-ing fragmented IPv6 packets to verify this works
as expected.

Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D47684

Details

Provenance
kpAuthored on Nov 26 2024, 8:45 AM
Differential Revision
D47684: pf: handle IPv6 fragmentation for route-to
Parents
rG4cc5d081d8c2: mlx5en: only enable to toggle offload caps if they are supported
Branches
Unknown
Tags
Unknown