#
abbcba9c |
| 30-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Allow states to by killed per 'gateway'
This allows us to kill states created from a rule with route-to/reply-to set. This is particularly useful in multi-wan setups, where one of the WAN links
pf: Allow states to by killed per 'gateway'
This allows us to kill states created from a rule with route-to/reply-to set. This is particularly useful in multi-wan setups, where one of the WAN links goes down.
Submitted by: Steven Brown Obtained from: https://github.com/pfsense/FreeBSD-src/pull/11/ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30058
show more ...
|
#
e989530a |
| 29-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce DIOCKILLSTATESNV
Introduce an nvlist based alternative to DIOCKILLSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://review
pf: Introduce DIOCKILLSTATESNV
Introduce an nvlist based alternative to DIOCKILLSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30054
show more ...
|
#
7606a45d |
| 29-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce DIOCCLRSTATESNV
Introduce an nvlist variant of DIOCCLRSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.or
pf: Introduce DIOCCLRSTATESNV
Introduce an nvlist variant of DIOCCLRSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30052
show more ...
|
#
6fcc8e04 |
| 20-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Allow multiple labels to be set on a rule
Allow up to 5 labels to be set on each rule. This offers more flexibility in using labels. For example, it replaces the customer 'schedule' keyword used
pf: Allow multiple labels to be set on a rule
Allow up to 5 labels to be set on each rule. This offers more flexibility in using labels. For example, it replaces the customer 'schedule' keyword used by pfSense to terminate states according to a schedule.
Reviewed by: glebius MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29936
show more ...
|
#
42ec75f8 |
| 15-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Optionally attempt to preserve rule counter values across ruleset updates
Usually rule counters are reset to zero on every update of the ruleset. With keepcounters set pf will attempt to find ma
pf: Optionally attempt to preserve rule counter values across ruleset updates
Usually rule counters are reset to zero on every update of the ruleset. With keepcounters set pf will attempt to find matching rules between old and new rulesets and preserve the rule counters.
MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29780
show more ...
|
#
4f1f67e8 |
| 15-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: PFRULE_REFS should not be user-visible
Split the PFRULE_REFS flag from the rule_flag field. PFRULE_REFS is a kernel-internal flag and should not be exposed to or read from userspace.
MFC after:
pf: PFRULE_REFS should not be user-visible
Split the PFRULE_REFS flag from the rule_flag field. PFRULE_REFS is a kernel-internal flag and should not be exposed to or read from userspace.
MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29778
show more ...
|
#
2aa21096 |
| 13-Apr-2021 |
Kurosawa Takahiro <takahiro.kurosawa@gmail.com> |
pf: Implement the NAT source port selection of MAP-E Customer Edge
MAP-E (RFC 7597) requires special care for selecting source ports in NAT operation on the Customer Edge because a part of bits of t
pf: Implement the NAT source port selection of MAP-E Customer Edge
MAP-E (RFC 7597) requires special care for selecting source ports in NAT operation on the Customer Edge because a part of bits of the port numbers are used by the Border Relay to distinguish another side of the IPv4-over-IPv6 tunnel.
PR: 254577 Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D29468
show more ...
|
#
d710367d |
| 25-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Implement nvlist variant of DIOCGETRULE
MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29559
|
#
5c62eded |
| 11-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce nvlist variant of DIOCADDRULE
This will make future extensions of the API much easier. The intent is to remove support for DIOCADDRULE in FreeBSD 14.
Reviewed by: markj (previous vers
pf: Introduce nvlist variant of DIOCADDRULE
This will make future extensions of the API much easier. The intent is to remove support for DIOCADDRULE in FreeBSD 14.
Reviewed by: markj (previous version), glebius (previous version) MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29557
show more ...
|
#
4967f672 |
| 08-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Remove unused variable rt_listid from struct pf_krule
Reviewed by: donner MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.
pf: Remove unused variable rt_listid from struct pf_krule
Reviewed by: donner MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29639
show more ...
|
#
cecfaf9b |
| 10-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Fully remove interrupt events on vnet cleanup
swi_remove() removes the software interrupt handler but does not remove the associated interrupt event. This is visible when creating and remove a v
pf: Fully remove interrupt events on vnet cleanup
swi_remove() removes the software interrupt handler but does not remove the associated interrupt event. This is visible when creating and remove a vnet jail in `procstat -t 12`.
We can remove it manually with intr_event_destroy().
PR: 254171 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D29211
show more ...
|
#
5e9dae8e |
| 10-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Factor out pf_krule_free()
Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29194
|
#
29698ed9 |
| 03-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Mark struct pf_pdesc as kernel only
This structure is only used by the kernel module internally. It's not shared with user space, so hide it behind #ifdef _KERNEL.
Sponsored by: Rubicon Communi
pf: Mark struct pf_pdesc as kernel only
This structure is only used by the kernel module internally. It's not shared with user space, so hide it behind #ifdef _KERNEL.
Sponsored by: Rubicon Communications, LLC ("Netgate")
show more ...
|
#
c86fa3b8 |
| 11-Jan-2021 |
Ryan Libby <rlibby@FreeBSD.org> |
pf: quiet -Wredundant-decls for pf_get_ruleset_number
In e86bddea9fe62d5093a1942cf21950b3c5ca62e5 sys/netpfil/pf/pf.h grew a declaration of pf_get_ruleset_number. Now delete the old declaration fro
pf: quiet -Wredundant-decls for pf_get_ruleset_number
In e86bddea9fe62d5093a1942cf21950b3c5ca62e5 sys/netpfil/pf/pf.h grew a declaration of pf_get_ruleset_number. Now delete the old declaration from sys/net/pfvar.h.
Reviewed by: kp Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D28081
show more ...
|
#
5a3b9507 |
| 13-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Convert pfi_kkif to use counter_u64
Improve caching behaviour by using counter_u64 rather than variables shared between cores.
The result of converting all counters to counter(9) (i.e. this ful
pf: Convert pfi_kkif to use counter_u64
Improve caching behaviour by using counter_u64 rather than variables shared between cores.
The result of converting all counters to counter(9) (i.e. this full patch series) is a significant improvement in throughput. As tested by olivier@, on Intel Xeon E5-2697Av4 (16Cores, 32 threads) hardware with Mellanox ConnectX-4 MCX416A-CCAT (100GBase-SR4) nics we see:
x FreeBSD 20201223: inet packets-per-second + FreeBSD 20201223 with pf patches: inet packets-per-second +--------------------------------------------------------------------------+ | + | | xx + | |xxx +++| ||A| | | |A|| +--------------------------------------------------------------------------+ 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)
Reviewed by: philip MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27763
show more ...
|
#
26c841e2 |
| 13-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Allocate and free pfi_kkif in separate functions
Factor out allocating and freeing pfi_kkif structures. This will be useful when we change the counters to be counter_u64, so we don't have to dea
pf: Allocate and free pfi_kkif in separate functions
Factor out allocating and freeing pfi_kkif structures. This will be useful when we change the counters to be counter_u64, so we don't have to deal with that complexity in the multiple locations where we allocate pfi_kkif structures.
No functional change.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27762
show more ...
|
#
320c1116 |
| 12-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Split pfi_kif into a user and kernel space structure
No functional change.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27761
|
#
c3adacda |
| 05-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Change pf_krule counters to use counter_u64
This improves the cache behaviour of pf and results in improved throughput.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Re
pf: Change pf_krule counters to use counter_u64
This improves the cache behaviour of pf and results in improved throughput.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27760
show more ...
|
#
c7bdafe2 |
| 05-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Remove unused fields from pf_krule
The u_* counters are used only to communicate with userspace, as userspace cannot use counter_u64. As pf_krule is not passed to userspace these fields are now
pf: Remove unused fields from pf_krule
The u_* counters are used only to communicate with userspace, as userspace cannot use counter_u64. As pf_krule is not passed to userspace these fields are now obsolete.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27759
show more ...
|
#
e86bddea |
| 05-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Split pf_rule into kernel and user space versions
No functional change intended.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27
pf: Split pf_rule into kernel and user space versions
No functional change intended.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27758
show more ...
|
#
dc865dae |
| 03-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Migrate pf_rule and related structs to pf.h
As part of the split between user and kernel mode structures we're moving all user space usable definitions into pf.h.
No functional change intended.
pf: Migrate pf_rule and related structs to pf.h
As part of the split between user and kernel mode structures we're moving all user space usable definitions into pf.h.
No functional change intended.
MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27757
show more ...
|
#
fbbf270e |
| 13-Nov-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Use counter_u64 in pf_src_node
Reviewd by: philip MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27756
|
#
17ad7334 |
| 23-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Split pf_src_node into a kernel and userspace struct
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
pf: Split pf_src_node into a kernel and userspace struct
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.
Reviewed by: philip MFC after: 2 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27707
show more ...
|
#
1c00efe9 |
| 23-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Use counter(9) for pf_state byte/packet tracking
This improves cache behaviour by not writing to the same variable from multiple cores simultaneously.
pf_state is only used in the kernel, so ca
pf: Use counter(9) for pf_state byte/packet tracking
This improves cache behaviour by not writing to the same variable from multiple cores simultaneously.
pf_state is only used in the kernel, so can be safely modified.
Reviewed by: Lutz Donnerhacke, philip MFC after: 1 week Sponsed by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27661
show more ...
|
#
c3f69af0 |
| 20-Dec-2020 |
Kristof Provost <kp@FreeBSD.org> |
pf: Fix unaligned checksum updates
The algorithm we use to update checksums only works correctly if the updated data is aligned on 16-bit boundaries (relative to the start of the packet).
Import th
pf: Fix unaligned checksum updates
The algorithm we use to update checksums only works correctly if the updated data is aligned on 16-bit boundaries (relative to the start of the packet).
Import the OpenBSD fix for this issue.
PR: 240416 Obtained from: OpenBSD MFC after: 1 week Reviewed by: tuexen (previous version) Differential Revision: https://reviews.freebsd.org/D27696
show more ...
|