Page MenuHomeFreeBSD

kp (Kristof Provost)
Troubleshooter

Projects

User Details

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

Recent Activity

Yesterday

kp committed rGb9f6b6685558: pf: always mark states as unlinked before detaching them (authored by kp).
pf: always mark states as unlinked before detaching them
Thu, May 16, 12:03 PM
kp committed rGe73147fc7ca6: pf: always mark states as unlinked before detaching them (authored by kp).
pf: always mark states as unlinked before detaching them
Thu, May 16, 12:02 PM

Wed, May 15

kp added a comment to D44488: pf: if a new RDR state connect be created, modulate src port.

but with this change we are implicitly rewriting the source port. What explicit mechanism is the man page alluding to here?

That'd be things like rdr on $ext_if proto tcp from any to any port 80 -> 127.0.0.1 port 8080, where we redirect incoming connections on port 80 to localhost port 8080.
When we're doing explicit rewrites it's always going to be the destination port, of course.

Wed, May 15, 10:07 AM

Tue, May 14

kp accepted D45197: if_vxlan(4): Add checking for nesting of tunnels.

I'm not sure I'd have bothered to make the nesting level configurable, but now that you've done the work it'd be silly to not use it.

Tue, May 14, 10:42 AM
kp accepted D45196: mlx4, mlx5: Eliminate redundent check for NULL packet filter.

The referenced commit (2b9600b4497b) seems to be relevant for the detach flow, but it doesn't guarantee there will an if_bpf pointer when a struct ifnet is created.
However, ether_ifattach() does an unconditional bpfattach(), so I think this is still correct (given that mlx* are Ethernet devices).

Tue, May 14, 8:14 AM

Mon, May 13

kp committed rG14c2c7913c90: libpfctl: fix incorrect pcounters array size (authored by kp).
libpfctl: fix incorrect pcounters array size
Mon, May 13, 3:44 PM
kp committed rG75a94658d372: libpfctl: fix incorrect pcounters array size (authored by kp).
libpfctl: fix incorrect pcounters array size
Mon, May 13, 3:43 PM
kp committed rG59a6666ec91d: if_ovpn: cope with loops (authored by kp).
if_ovpn: cope with loops
Mon, May 13, 10:12 AM

Sun, May 12

kp committed rG9a8a26aefb36: if: guard against if_ioctl being NULL (authored by kp).
if: guard against if_ioctl being NULL
Sun, May 12, 4:13 PM

Thu, May 9

kp committed rGf1612e7087d7: libpfctl: fix file descriptor leak (authored by kp).
libpfctl: fix file descriptor leak
Thu, May 9, 12:10 PM

Wed, May 8

kp closed D45101: pf: always mark states as unlinked before detaching them.
Wed, May 8, 11:23 AM
kp committed rG301ec2cebb6a: pf: always mark states as unlinked before detaching them (authored by kp).
pf: always mark states as unlinked before detaching them
Wed, May 8, 11:22 AM
kp committed rG0d446a4303a8: carp: document the new VRRPv3 support (authored by kp).
carp: document the new VRRPv3 support
Wed, May 8, 11:22 AM
kp closed D44776: carp: document the new VRRPv3 support.
Wed, May 8, 11:22 AM
kp committed rG5311e7333714: netinet tests: basic VRRP tests (authored by kp).
netinet tests: basic VRRP tests
Wed, May 8, 11:21 AM
kp closed D44775: netinet tests: basic VRRP tests.
Wed, May 8, 11:21 AM
kp committed rGa254d6870e88: carp: isolate VRRP from CARP (authored by glebius).
carp: isolate VRRP from CARP
Wed, May 8, 11:21 AM
kp closed D45039: carp: isolate VRRP from CARP.
Wed, May 8, 11:21 AM
kp committed rG601438fbfa8e: carp: refactor packet tagging for ether_output() (authored by glebius).
carp: refactor packet tagging for ether_output()
Wed, May 8, 11:21 AM
kp closed D45038: carp: refactor packet tagging for ether_output().
Wed, May 8, 11:21 AM
kp committed rGcda57d955b25: carp: assert that we are calling correct input function. We are. (authored by glebius).
carp: assert that we are calling correct input function. We are.
Wed, May 8, 11:21 AM
kp closed D45037: carp: assert that we are calling correct input function. We are..
Wed, May 8, 11:20 AM
kp committed rG5ee92cbd82d0: carp: don't chain call vrrp_send_ad via carp_send_ad (authored by glebius).
carp: don't chain call vrrp_send_ad via carp_send_ad
Wed, May 8, 11:20 AM
kp closed D45036: carp: don't chain call vrrp_send_ad via carp_send_ad.
Wed, May 8, 11:20 AM
kp committed rG37115154672f: carp: support VRRPv3 (authored by kp).
carp: support VRRPv3
Wed, May 8, 11:20 AM
kp closed D44774: carp: support VRRPv3.
Wed, May 8, 11:20 AM

Tue, May 7

kp added a comment to D44774: carp: support VRRPv3.

My personal suggestion: it's worth to mention it in carp(4), and perhaps even adding a link of vrrp(4)

Tue, May 7, 9:22 PM
kp added a comment to D44774: carp: support VRRPv3.

Last call for objections. I intend to commit tomorrow.

Tue, May 7, 4:10 PM

Mon, May 6

kp requested review of D45101: pf: always mark states as unlinked before detaching them.
Mon, May 6, 2:51 PM
kp committed rG43387b4e5740: if: guard against if_ioctl being NULL (authored by kp).
if: guard against if_ioctl being NULL
Mon, May 6, 1:26 PM

Sat, May 4

kp added a comment to D44774: carp: support VRRPv3.
In D44774#1028213, @bz wrote:
In D44774#1027883, @kp wrote:
In D44774#1027778, @bz wrote:

(2) We are adding to but not fixing the problem of the conflicting version number; it's easy to say I can add v3 but ... see (1).

As in carpv3? That seems entirely unlikely to ever happen, given that carp's entire reason for existing is now moot.

No, as in carp getting an official version number.

I'm not sure I follow. Do you mean carp might be officially designated vrrp version 9 (let's say)? That seems both very unlikely, and something that wouldn't actually be a problem to deal with. We already distinguish vrrpv3 from carp by the version number, so looking for version 9 would, if anything, make things easier.

Sat, May 4, 10:42 AM

Fri, May 3

kp committed R11:d1fae9f59f5f: net/libpfctl: support FreeBSD 14.1 (authored by kp).
net/libpfctl: support FreeBSD 14.1
Fri, May 3, 1:27 PM
kp updated the diff for D44774: carp: support VRRPv3.

review remarks

Fri, May 3, 11:39 AM
kp added a comment to D44774: carp: support VRRPv3.
In D44774#1027778, @bz wrote:

I'll reply here rather than the email--one well two major concerns (and I didn't mean legal) with the "can of worms" are:
(1) You are adding VRRP version 3... someone will come next and ask "and what about VRRP version 2"?

Right now the answer is "We don't have v2, and we have no plans to support v2 either.".
If someone does ever want to add VRRPv2 support they get to deal with the fallout. I'm not inclined to copy/paste chunks of code on the off chance that maybe it'll be slightly helpful in the future.
We're not making choices that'll make that impossible to do in the future.

Fri, May 3, 11:38 AM
kp committed rGbf8988187f0d: pf tests: fix REQUIRED_MODULES typo (authored by kp).
pf tests: fix REQUIRED_MODULES typo
Fri, May 3, 7:53 AM

Thu, May 2

kp added a comment to D45039: carp: isolate VRRP from CARP.

Is this whole stack of reviews a temporary reviews to get easier review for pfsense and network? I think better just squash all my submissions on top of your work and push that to FreeBSD/main as one change.

Thu, May 2, 7:11 PM

Wed, May 1

kp added a comment to D44774: carp: support VRRPv3.
In D44774#1026860, @kp wrote:

Split out Gleb's commits again.

It makes the individual changes easier to understand.

Wed, May 1, 9:50 AM
kp updated the diff for D44774: carp: support VRRPv3.

Split out Gleb's commits again.

Wed, May 1, 9:48 AM
kp updated the diff for D44776: carp: document the new VRRPv3 support.

Document that we cannot switch between carp and vrrp

Wed, May 1, 9:46 AM
kp requested review of D45039: carp: isolate VRRP from CARP.
Wed, May 1, 9:43 AM
kp requested review of D45038: carp: refactor packet tagging for ether_output().
Wed, May 1, 9:43 AM
kp requested review of D45037: carp: assert that we are calling correct input function. We are..
Wed, May 1, 9:43 AM
kp requested review of D45036: carp: don't chain call vrrp_send_ad via carp_send_ad.
Wed, May 1, 9:43 AM

Tue, Apr 30

kp updated the diff for D44774: carp: support VRRPv3.
  • remove stale comment
  • init sc_addr in the initializer
Tue, Apr 30, 4:07 PM
kp updated the summary of D44774: carp: support VRRPv3.
Tue, Apr 30, 3:23 PM
kp updated the diff for D44774: carp: support VRRPv3.

Add glebius' changes from https://github.com/freebsd/freebsd-src/compare/main...glebius:FreeBSD:carp-vrrp

Tue, Apr 30, 3:23 PM
kp added inline comments to D44774: carp: support VRRPv3.
Tue, Apr 30, 7:10 AM

Mon, Apr 29

kp committed rG221d459fbc67: pflow: handle unattached states (authored by kp).
pflow: handle unattached states
Mon, Apr 29, 4:16 PM
kp committed rG5824df8d991c: pf: convert DIOCGETSTATUS to netlink (authored by kp).
pf: convert DIOCGETSTATUS to netlink
Mon, Apr 29, 2:37 PM
kp committed rGa3f7176523e8: libpfctl: fix incorrect pcounters array size (authored by kp).
libpfctl: fix incorrect pcounters array size
Mon, Apr 29, 2:37 PM
kp committed rG044243fcc9b4: libpfctl: allow access to the fd (authored by kp).
libpfctl: allow access to the fd
Mon, Apr 29, 2:37 PM

Fri, Apr 26

kp added a comment to D44774: carp: support VRRPv3.

If it is possible to set VRRP values while interface is in CARP mode and vice versa, then it is already a bug and de-unionizing just hides it.

Fri, Apr 26, 7:52 AM

Thu, Apr 25

kp added a comment to D44774: carp: support VRRPv3.

The switching code should just use a local variable to convert between prio and adnskew.

We can't convert between them. They're not different representations of the same concept, they just represent different things.

Thu, Apr 25, 8:03 AM

Wed, Apr 24

kp added a comment to D44774: carp: support VRRPv3.
In D44774#1023611, @kp wrote:

Put carp/vrrp3 specific variables in their own structs.

This definitely is better, but I still can't figure out what prevents to unionize it? Do we have a code that switches certain address operation between CARP and VRRP?

Wed, Apr 24, 8:06 PM

Mon, Apr 22

kp added a comment to D44774: carp: support VRRPv3.
In D44774#1020944, @kp wrote:
In D44774#1020899, @bz wrote:

I will simply express that this will not only open a can of worms by mixing both but the original reasons not to include VRRPv2/3 and hence the "existence" of CARP is also ignored.

I'm assuming you're referring to the supposed patent issues?

There are multiple other open source VRRP implementations, e.g. https://github.com/FDio/vpp/tree/master/src/plugins/vrrp and https://www.keepalived.org
Also, the relevant patents have expired by now (by which I mean, in 2017 and 2012, so 7 and 12 years ago): https://en.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol#cite_note-6

Mon, Apr 22, 11:41 AM
kp updated the diff for D44774: carp: support VRRPv3.

Put carp/vrrp3 specific variables in their own structs.

Mon, Apr 22, 11:39 AM

Fri, Apr 19

kp added inline comments to D44774: carp: support VRRPv3.
Fri, Apr 19, 9:27 AM

Thu, Apr 18

kp committed rG02ea70eff39c: tcpdump: fix build (authored by kp).
tcpdump: fix build
Thu, Apr 18, 3:56 PM
kp committed rGbf0700716a2e: tcpdump: cope with incorrect packet lengths (authored by kp).
tcpdump: cope with incorrect packet lengths
Thu, Apr 18, 1:37 PM
kp committed rGdc16f5fe1422: tcpdump: cope with incorrect packet lengths (authored by kp).
tcpdump: cope with incorrect packet lengths
Thu, Apr 18, 1:37 PM

Wed, Apr 17

kp added inline comments to D44774: carp: support VRRPv3.
Wed, Apr 17, 9:57 AM

Apr 16 2024

kp updated the diff for D44774: carp: support VRRPv3.
  • review remarks
Apr 16 2024, 2:41 PM
kp added inline comments to D44774: carp: support VRRPv3.
Apr 16 2024, 2:41 PM

Apr 15 2024

kp committed rG3075939da41a: src.libnames.mk: fix LIBPFCTL definition (authored by lexi_le-fay.org).
src.libnames.mk: fix LIBPFCTL definition
Apr 15 2024, 9:29 PM
kp added a comment to D44774: carp: support VRRPv3.
In D44774#1020899, @bz wrote:

I will simply express that this will not only open a can of worms by mixing both but the original reasons not to include VRRPv2/3 and hence the "existence" of CARP is also ignored.

I'm assuming you're referring to the supposed patent issues?

Apr 15 2024, 7:20 AM

Apr 13 2024

kp added inline comments to D44488: pf: if a new RDR state connect be created, modulate src port.
Apr 13 2024, 10:41 AM
kp requested review of D44776: carp: document the new VRRPv3 support.
Apr 13 2024, 8:52 AM
kp requested review of D44775: netinet tests: basic VRRP tests.
Apr 13 2024, 8:52 AM
kp requested review of D44774: carp: support VRRPv3.
Apr 13 2024, 8:52 AM

Apr 8 2024

kp closed D43504: netinet: add a probe point for IP stats counters.
Apr 8 2024, 3:31 PM
kp committed rG60d8dbbef075: netinet: add a probe point for IP, IP6, ICMP, ICMP6, UDP and TCP stats counters (authored by kp).
netinet: add a probe point for IP, IP6, ICMP, ICMP6, UDP and TCP stats counters
Apr 8 2024, 3:31 PM

Apr 5 2024

kp updated the diff for D43504: netinet: add a probe point for IP stats counters.

Allow MIB SDT's to be disabled.

Apr 5 2024, 8:08 AM

Apr 4 2024

kp closed D44580: tcpdump: cope with incorrect packet lengths.
Apr 4 2024, 8:09 AM
kp committed rG4848eb3af2a9: tcpdump: cope with incorrect packet lengths (authored by kp).
tcpdump: cope with incorrect packet lengths
Apr 4 2024, 8:09 AM

Apr 3 2024

kp added a comment to D43504: netinet: add a probe point for IP stats counters.

In the meantime, could you have a compile option to avoid these probes? Maybe re-do your new macros to use IP_SDT_PROBE" which can be defined to a noop if "NO_EXTRA_IP_SDT_PROBES" or some better named kernel config option is present?

Apr 3 2024, 6:28 PM

Apr 1 2024

kp requested review of D44580: tcpdump: cope with incorrect packet lengths.
Apr 1 2024, 2:08 PM
kp committed rGab872ab0bf19: pfsync: cope with multiple pending plus messages (authored by kp).
pfsync: cope with multiple pending plus messages
Apr 1 2024, 7:36 AM
kp committed rGf5c0005567b4: pfsync: fix use of invalidated stack variable (authored by kp).
pfsync: fix use of invalidated stack variable
Apr 1 2024, 7:36 AM
kp committed rG2fed983ceb66: pf: fix use-after-free (authored by kp).
pf: fix use-after-free
Apr 1 2024, 7:35 AM
kp committed rGe0a58ef24a3b: pfsync: cope with multiple pending plus messages (authored by kp).
pfsync: cope with multiple pending plus messages
Apr 1 2024, 7:35 AM
kp committed rG0ade521bac78: pfsync: fix use of invalidated stack variable (authored by kp).
pfsync: fix use of invalidated stack variable
Apr 1 2024, 7:35 AM

Mar 30 2024

kp added a comment to D43504: netinet: add a probe point for IP stats counters.

I lost my benchmark box yesterday. It will take me a few days to wrangle another one into shape for testing. I'm sorry this is taking so long. If you want to go ahead and push this, I'd understand..

Mar 30 2024, 12:52 AM

Mar 28 2024

kp committed rGa983cea4e9a8: pf: fix reply-to after rdr and dummynet (authored by kp).
pf: fix reply-to after rdr and dummynet
Mar 28 2024, 4:08 PM

Mar 25 2024

kp committed rGcaccf6d3c008: pfsync: cope with multiple pending plus messages (authored by kp).
pfsync: cope with multiple pending plus messages
Mar 25 2024, 4:45 AM
kp committed rG81debbd60e57: pfsync: fix use of invalidated stack variable (authored by kp).
pfsync: fix use of invalidated stack variable
Mar 25 2024, 4:45 AM
kp committed rGa1ecbc570117: pf: fix use-after-free (authored by kp).
pf: fix use-after-free
Mar 25 2024, 4:45 AM

Mar 24 2024

kp added inline comments to D44488: pf: if a new RDR state connect be created, modulate src port.
Mar 24 2024, 7:46 AM
kp added inline comments to D44488: pf: if a new RDR state connect be created, modulate src port.
Mar 24 2024, 7:01 AM
kp added a comment to D44488: pf: if a new RDR state connect be created, modulate src port.

This also really needs a test case.

Mar 24 2024, 6:50 AM
kp added a comment to D43504: netinet: add a probe point for IP stats counters.

I think what I will test is:

  1. SDT probes compiled out entirely
  2. This (D43504) patch with our current SDT mechanism
  3. D43504 + D44483 together

Does that sound appropriate?

@olivier : Do you have the time to do the same sort of test on your low-end pps routing setup?

Mar 24 2024, 5:19 AM

Mar 23 2024

kp accepted D44476: icmp: hide icmp_bandlimit_uninit() under VIMAGE.
Mar 23 2024, 6:01 AM
kp added a comment to D44476: icmp: hide icmp_bandlimit_uninit() under VIMAGE.
In D44476#1014446, @kp wrote:

When we build without VIMAGE VNET_SYSUNINIT translates to SYSUNINIT, so this patch means we leak V_icmp_rates[i].cr_rate on shutdown.
That's not exactly a critical problem, but this is technically wrong.

I don't agree with that. We don't deallocate memory on shutdown in general case. We do not have a matching SYSUNINIT for every SYSINIT that mallocs. Keeping a function to deallocate memory on shutdown is the actual waste of memory - it grows kernel text, which is wired.

Mar 23 2024, 5:25 AM
kp added inline comments to D42350: kyua: add jail execution environment.
Mar 23 2024, 3:42 AM
kp accepted D44478: icmp: improve ICMP limit jitter.
Mar 23 2024, 3:38 AM
kp accepted D44477: icmp: when logging ICMP ratelimiting message use correct jitter value.
Mar 23 2024, 3:38 AM
kp added a comment to D44476: icmp: hide icmp_bandlimit_uninit() under VIMAGE.

When we build without VIMAGE VNET_SYSUNINIT translates to SYSUNINIT, so this patch means we leak V_icmp_rates[i].cr_rate on shutdown.

Mar 23 2024, 3:37 AM
kp accepted D44475: icmp: do not store per-VNET identical array of strings.
Mar 23 2024, 1:20 AM

Mar 22 2024

kp committed rG88f557a2a9c3: libpfctl: fix incorrect labels copy (authored by kp).
libpfctl: fix incorrect labels copy
Mar 22 2024, 8:38 AM
kp committed rGe08b44339b65: if_ovpn tests: test large packets in IPv6 tunnel (authored by kp).
if_ovpn tests: test large packets in IPv6 tunnel
Mar 22 2024, 8:38 AM
kp added a comment to D43504: netinet: add a probe point for IP stats counters.

To put it lightly, I'd really like to see this patch performance tested.

Mar 22 2024, 3:17 AM