diff options
author | Kajetan Staszkiewicz <ks@FreeBSD.org> | 2024-11-28 13:08:15 +0000 |
---|---|---|
committer | Kajetan Staszkiewicz <ks@FreeBSD.org> | 2024-12-03 12:46:34 +0000 |
commit | c49c9da239ca59722f104a64d9128e4b6052885a (patch) | |
tree | ef5539f5bbc7408c3ec519d3cd5030e1bcbf746c /libexec/rc/rc.d/growfs | |
parent | 6b17d944a1d448dbb797c5fa5b0778242ba02e52 (diff) | |
download | src-main.tar.gz src-main.zip |
Route-to redirection information (rt, rt_kif, rt_addr) can be considered an
action of a rule. This information is duplicated in struct pf_kstate which
means that the pf_route() function must always figure out where to get this
information from: state for stateful forwarding, or rule for stateless.
Create the necessary members in struct pf_rule_action. Fill them in right after
parsing the ruleset, similar for how NAT redirection is applied right after
parsing the NAT ruleset. Remove the logic for finding the right source for
route-to redirection from pf_route().
As a bonus simplify pf_map_addr_sn() and source node handling. Both for the
NAT and the filter ruleset there is now only one path:
1. parse the rules
2. apply redirection either from an existing source node or by load balancing
for the last matching rule
3. create the source node using the redirection if the node does not yet exist
Reviewed by: kp
Approved by: kp (mentor)
Sponsored by: InnoGames GmbH
Differential Revision: https://reviews.freebsd.org/D47827
Diffstat (limited to 'libexec/rc/rc.d/growfs')
0 files changed, 0 insertions, 0 deletions