Page MenuHomeFreeBSD

pf: Split pf_src_node into a kernel and userspace struct
ClosedPublic

Authored by kp on Dec 21 2020, 10:42 PM.

Details

Summary

Introduce a kernel version of struct pf_src_node (pf_ksrc_node).

This will allow us to improve the in-kernel data structure without
breaking userspace compatibility.

Sponsored by: Orange Business Services
MFC after: 2 weeks

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kp requested review of this revision.Dec 21 2020, 10:42 PM

Olivier ran benchmarks (on the full series). See http://dev.bsdrp.net/benchs/kp/pf-patches/ for full results. I'll select the best case to share here:

x FreeBSD 20201223: inet packets-per-second
+ FreeBSD 20201223 with pf patches: inet packets-per-second

    N           Min           Max                  Median                  Avg        Stddev
x   5       9216962         9526356        9343902        9371057.6     116720.36
+   5      19427190      19698400      19502922      19546509        109084.92

Difference at 95.0% confidence
        1.01755e+07 +/- 164756
        108.584% +/- 2.9359%
        (Student's t, pooled s = 112967)
This revision is now accepted and ready to land.Dec 30 2020, 11:11 AM