Page MenuHomeFreeBSD

kp (Kristof Provost)
Troubleshooter

Projects (7)

User Details

User Since
Sep 28 2014, 7:22 PM (631 w, 4 d)

Recent Activity

Mon, Nov 2

kp accepted D61041: netinet6: Send redirects from ip6_tryforward().

LGTM

Mon, Nov 2, 4:49 PM
kp committed rGa94d4deae39b: pf: allows TCP RST packets in the backwards window if ACK matches.
Mon, Nov 2, 4:08 PM
kp committed rGe4a2b19aa961: pfctl: err(3) family functions should not be used with trailing \n.
Mon, Nov 2, 1:25 PM
kp committed rG73bd8d4bf618: pf: fix DIOCXBEING/DIOCXROLLBACK/DIOCXCOMMIT error handling.
Mon, Nov 2, 1:25 PM
kp committed rG240a76704b49: if_pfsync: fix mbuf leaks on errors.
Mon, Nov 2, 1:25 PM
kp committed rG04b6d3e0be8c: if_pfsync: add missing unlock.
Mon, Nov 2, 1:25 PM
kp committed rGd8b2c298a117: pfsync: improve underflow check.
Mon, Nov 2, 1:25 PM
kp committed rGaf5313249730: pf: don't leak transaction elements on error.
Mon, Nov 2, 1:25 PM

Fri, Oct 30

kp accepted D61042: netinet6: Do not count a packet a hook consumed as discarded in ip6_tryforward().
Fri, Oct 30, 4:26 PM
kp accepted D61039: netinet6: Decrement the hop limit before the outbound hooks in ip6_tryforward().
Fri, Oct 30, 4:25 PM
kp accepted D61033: netinet6: Set PFIL_FWD in ip6_tryforward().
Fri, Oct 30, 4:24 PM
kp accepted D61034: netinet6: Check the hop limit after pfil in ip6_tryforward().
Fri, Oct 30, 2:57 PM
kp added a comment to D61037: if_epair: Hash the IP header, not the Ethernet header, for fanout.

Should we try to account for a VLAN header here too?

Fri, Oct 30, 2:22 PM
kp added inline comments to D60894: pf: optimize state key comparison on amd4.
Fri, Oct 30, 2:17 PM
kp committed rGc6a520af95b2: pfsync: improve handling of large packets.
Fri, Oct 30, 2:15 PM
kp closed D60950: pfsync: avoid overflow on different timeouts.
Fri, Oct 30, 2:15 PM
kp committed rG78b620b781b0: pfsync: avoid underflow on different timeouts.
Fri, Oct 30, 2:15 PM
kp committed rGa94a6326507c: pf tests: exercise pfctl -l across a privilege drop (authored by Avinash Duduskar <avinash.duduskar@gmail.com>).
Fri, Oct 30, 2:08 PM
kp committed rG3d5bd2cf202c: authpf: deny tracing of the pfctl child (authored by Avinash Duduskar <avinash.duduskar@gmail.com>).
Fri, Oct 30, 2:08 PM
kp committed rG674932048a15: authpf: pass the privileged Netlink socket to pfctl (authored by Avinash Duduskar <avinash.duduskar@gmail.com>).
Fri, Oct 30, 2:08 PM
kp committed rG87a5d76973ca: pfctl: add -l to use an inherited Netlink socket (authored by Avinash Duduskar <avinash.duduskar@gmail.com>).
Fri, Oct 30, 2:08 PM
kp committed rG727e413ff3f1: libpfctl: add pfctl_open_from_nl_fd() and pfctl_nl_fd() (authored by Avinash Duduskar <avinash.duduskar@gmail.com>).
Fri, Oct 30, 2:08 PM
kp committed rGe4c78de63e58: netlink_snl: add snl_init_fd() to adopt an already open socket (authored by Avinash Duduskar <avinash.duduskar@gmail.com>).
Fri, Oct 30, 2:08 PM
kp committed rG489ded6d5231: netlink_snl: make snl_free() safe to call twice (authored by Avinash Duduskar <avinash.duduskar@gmail.com>).
Fri, Oct 30, 2:08 PM
kp committed rG2e9ac12e9793: pf: fix pf_krule_item memory leak during counters:match_fail.
Fri, Oct 30, 12:22 PM
kp committed rG9e7d55570f69: pf: remove armv7-specific counter code.
Fri, Oct 30, 12:22 PM
kp committed rG2636cc0414fd: pf: have DIOCXBEGIN/DIOCXROLLBACK/DIOCXCOMMIT use the new functions.
Fri, Oct 30, 12:21 PM
kp committed rGa7aad5bbcdf7: pf: convert DIOCXBEGIN, DIOCXROLLBACK, DIOCXCOMMIT to netlink.
Fri, Oct 30, 12:21 PM
kp added a comment to D60970: carp: Fix packet size checks in carp6_input().

Other than Mark's remark I think this looks good.

Fri, Oct 30, 11:04 AM
kp added a comment to D60971: move SEC_TO_NSEC() out of pf code.

Other than not removing the pfvar.h include I'm happy with the pf changes, but please try to get someone to okay the addition in sys/time.h too.

Fri, Oct 30, 10:52 AM

Thu, Oct 29

kp committed rGc7523e8cfbd0: tcp: fix incorrect assertion.
Thu, Oct 29, 8:42 AM

Wed, Oct 21

kp requested review of D60950: pfsync: avoid overflow on different timeouts.
Wed, Oct 21, 7:19 PM

Tue, Oct 20

kp committed rG820804014074: pf: first-match-wins for nat rules, even in anchors.
Tue, Oct 20, 1:58 PM
kp added a comment to D60894: pf: optimize state key comparison on amd4.

Do we have measurements of what difference this makes?

Tue, Oct 20, 1:50 PM
kp accepted D60876: pf: Keep every chunk of a table that a ruleset defines.
Tue, Oct 20, 11:35 AM
kp committed rGa2a0e5e0e38f: pf: check extension header length..
Tue, Oct 20, 7:25 AM
kp committed rG3cbfe09ea3a0: pf: check AH header length..
Tue, Oct 20, 7:25 AM

Mon, Oct 19

kp added a comment to D60834: if_veb: Add veb(4) pseudo network device.

The commit message needs to answer the 'why' question.
Why do we want this? We already have if_bridge, what does veb do that if_bridge does not?

Mon, Oct 19, 8:02 AM

Fri, Oct 16

kp committed rG294dc0464c3b: pf: only log that we're not creating a tag in verbose mode.
Fri, Oct 16, 7:16 AM

Thu, Oct 15

kp accepted D60530: pf: Remove a table entry regardless of its mark.
Thu, Oct 15, 6:06 PM
kp accepted D60522: pf: apply a netlink table replace once all addresses have arrived.
Thu, Oct 15, 6:06 PM

Tue, Oct 13

kp accepted D60370: pf: Do not hash pool address pointers into rule hashes.
Tue, Oct 13, 7:11 PM
kp accepted D60651: pf: Register the netlink family only while the vnets are set up.
Tue, Oct 13, 7:10 PM
kp accepted D60532: pf: Free a table entry that cannot be routed.
Tue, Oct 13, 3:36 PM
kp accepted D60542: pf: Do not corrupt neighbour advertisements when translating.
Tue, Oct 13, 3:36 PM
kp added a comment to D60543: pf: Parse the GETSTATES state id as 64 bits.

Good, ship it ;)

Tue, Oct 13, 3:03 PM
kp accepted D60543: pf: Parse the GETSTATES state id as 64 bits.

That looks correct, but I don't quite follow the commit message. As far as I can tell nothing in userspace ever sends PF_ST_ID.

Tue, Oct 13, 2:48 PM
kp accepted D60544: libpfctl: Return max_win and mss of state peers.

I suspect I left those out because nothing uses them, but we may as well add them to libpfctl anyway.

Tue, Oct 13, 2:45 PM
kp accepted D60537: pfsync: Do not reference the tag of an imported state.
Tue, Oct 13, 2:19 PM
kp added a comment to D60535: pf: Free unreferenced interfaces after dropping pfi_unlnkdkifs_mtx.

Given that we (Netgate certainly, and FreeBSD mostly too) no longer care about armv7 I wonder if we shouldn't back out the armv7 specific code from pf entirely at this point.

Tue, Oct 13, 1:42 PM
kp accepted D60531: pf: Set the reassembly flags under the rules lock.
Tue, Oct 13, 1:32 PM
kp committed rGb5219c068fbc: pf: first-match-wins for nat rules, even in anchors.
Tue, Oct 13, 1:31 PM

Mon, Oct 12

kp accepted D60526: pf: Change source limiter tables from a task.
Mon, Oct 12, 4:39 PM
kp committed rGb4d2c9835c0e: pf: check AH header length..
Mon, Oct 12, 4:06 PM
kp committed rGccb19b359aae: pf: check extension header length..
Mon, Oct 12, 4:06 PM
kp committed rG25f04bf42786: pf: do not free the caller's ruleset when attaching a table fails.
Mon, Oct 12, 4:06 PM
kp accepted D60529: pf: Drain the overload task before a vnet's rules are freed.
Mon, Oct 12, 11:41 AM
kp accepted D60545: pf: Hash rule and pool addresses by type.
Mon, Oct 12, 9:28 AM

Sun, Oct 11

kp accepted D60614: libpfctl: Fix the counts returned by pfctl_ina_define().
Sun, Oct 11, 2:44 PM

Oct 6 2026

kp committed rG3b4437e9c9df: pf: set the correct type for rule timeouts.
Oct 6 2026, 9:26 PM

Oct 3 2026

kp added a comment to D60109: ovpn(4): Set the FIB on received packets.

That test seems to fail for me with failed: 0 != 2 (0 != 2). The ping doesn't find a route:

Oct 3 2026, 3:14 PM
kp accepted D60248: libpfctl: remove the state getters that do not take a handle.
Oct 3 2026, 1:08 PM

Oct 2 2026

kp added a comment to D60248: libpfctl: remove the state getters that do not take a handle.

I wonder if we shouldn't just remove these versions of the get_states functions altogether.

Oct 2 2026, 5:58 PM
kp accepted D60251: pf: do not leak a source hash row lock in the netlink dump.

Approved.

Oct 2 2026, 4:50 PM

Oct 1 2026

kp accepted D60189: pf: remove a source limiter from the id tree if its name is taken.
Oct 1 2026, 7:34 AM
kp accepted D60190: pf: free the packet rate counter of a rule.
Oct 1 2026, 7:34 AM

Sep 30 2026

kp accepted D60104: pf: free an unparsed rule with pf_krule_free() in pf_handle_addrule().
Sep 30 2026, 8:28 PM
kp accepted D60160: pf: leave the epoch to purge unlinked rules.
Sep 30 2026, 8:28 PM
kp accepted D60161: pf: take the rules read lock in pf_handle_getrule().
Sep 30 2026, 8:28 PM
kp accepted D60174: libpfctl: zero the counters before summing per-chunk results.
Sep 30 2026, 8:28 PM
kp accepted D60107: pf: modify pfik_flags atomically.
Sep 30 2026, 8:28 PM
kp accepted D60183: pfctl: print "pass" on nat/rdr/binat rules again.
Sep 30 2026, 8:28 PM

Sep 29 2026

kp accepted D60119: pf: carry pfra_fback in the netlink pfr_addr encoding.

Approved.

Sep 29 2026, 7:52 PM
kp committed rG3c58e64369fd: pf: set the correct type for rule timeouts.
Sep 29 2026, 7:38 PM
kp added a comment to D60109: ovpn(4): Set the FIB on received packets.

That looks sane, but I'd really like to have a test case for this as well.

Sep 29 2026, 5:39 AM
kp accepted D60110: libpfctl: decode PFR_A_AF into a u8.
Sep 29 2026, 5:37 AM

Sep 25 2026

kp committed rG75c0a8376204: pf: convert DIOCOSFPFLUSH DIOCOSFPGET DIOCOSFPADD to netlink.
Sep 25 2026, 3:46 PM
kp committed rG3c0846bd9c3d: pf tests: basic osfp test.
Sep 25 2026, 3:46 PM
kp committed rG219ce3063840: pf: convert DIOCRINADEFINE to netlink.
Sep 25 2026, 3:46 PM

Sep 21 2026

kp committed rG6a34abbe9766: pfsync: when importing a state clear take the interface name into account.
Sep 21 2026, 3:45 PM

Sep 18 2026

kp committed rG73ce582a20e0: pf: table_addr_parser parses to struct nl_parsed_table_addrs.
Sep 18 2026, 6:51 PM

Sep 15 2026

kp accepted D59589: website: Restore "The Power to Serve" on homepage.
Sep 15 2026, 10:18 AM

Sep 7 2026

kp committed R11:a228aa745727: net/libpfctl: add 14.5 support.
Sep 7 2026, 10:22 AM
kp committed rG7d810f27c16b: pf: Prevent pf dropping TCP state with crafted reset packet..
Sep 7 2026, 8:39 AM
kp closed D59334: pf: allow unspecified addressed for certain MLD messages.
Sep 7 2026, 8:38 AM
kp committed rG0a35e0afef28: pf: allow unspecified addressed for certain MLD messages.
Sep 7 2026, 8:38 AM

Sep 3 2026

kp committed rG70b70acec779: pfctl: fix printing of wildcard anchors.
Sep 3 2026, 2:04 PM
kp committed rG678f107b5c78: pfctl: fix printing of wildcard anchors.
Sep 3 2026, 2:04 PM
kp added a comment to D59333: pf tests: cover filtering of bridged unmapped mbufs.

Sorry, I don't take LLM generated code. I am unwilling to bear the copyright risk, unwilling to expend the addition effort required to review them and just generally unwilling to support that industry.
It's not applicable to the tests, but for pf itself it would also prevent me from sharing code with OpenBSD because they also do not take LLM generated patches.

Sep 3 2026, 8:36 AM
kp requested review of D59334: pf: allow unspecified addressed for certain MLD messages.
Sep 3 2026, 7:58 AM

Sep 1 2026

kp added a comment to D59276: kyua: Add execution plan concept.
In D59276#1360076, @kp wrote:

That said, I find myself mostly running tests in bricoler these days, and it won't help there because that's a new single-use VM every time, without the profile information. (Though perhaps we could teach bricoler to import existing profile information from the host system?)

Do you ever use the freebsd-regression-test-suite-ci target? It does a few things on top of freebsd-regression-test-suite:

  • it keeps track of results across successive runs, so you'll have persistent results for run #1, #2, ...
  • after the test suite finishes, it'll rerun failed and broken tests in a new VM, without parallelism enabled, so that we can better detect flakiness
  • it can send email summaries after the test run finishes

I've never used that, no. I don't really have a need for that, although I suppose the automatic re-running of failed tests is interesting.

Sep 1 2026, 12:56 PM

Aug 31 2026

kp committed rG8b10eb844c4b: pf: fix securelevel off-by-one.
Aug 31 2026, 4:02 PM
kp added a comment to D59276: kyua: Add execution plan concept.

That's an interesting idea.
Running the pf tests (at parallelism=4) that knocks the runtime down from 16 minutes to 10 minutes, which is pretty impressive.

Aug 31 2026, 12:03 PM

Aug 27 2026

kp accepted D59068: pf: Send syncookies from the receiving thread.
Aug 27 2026, 3:44 PM

Aug 26 2026

kp committed rG01482de9585a: libsysdecode: decode PFNL_CMD_GET_RULESETS and PFNL_CMD_GET_RULESET.
Aug 26 2026, 3:40 PM
kp committed rG5de5140f0695: pfctl: fix printing of wildcard anchors.
Aug 26 2026, 3:39 PM
kp added a comment to D59068: pf: Send syncookies from the receiving thread.

I think the patch is fine now, but I would like to see the flame graphs anyway, so we're sure this does what we think it does.

Aug 26 2026, 1:58 PM

Aug 24 2026

kp accepted D59015: pf: Fix fallout from the STATE_LOOKUP macro removal.
Aug 24 2026, 3:19 PM
kp committed rGcfacf6465577: pf: fix crash on low memory.
Aug 24 2026, 11:39 AM
kp accepted D58922: pf: Re-optimize state key handling.
Aug 24 2026, 11:36 AM