#
b272101a |
| 30-Oct-2023 |
Aaron LI <aly@aaronly.me> |
Various minor whitespace cleanups
Accumulated along the way.
|
#
6823c302 |
| 15-Nov-2023 |
Aaron LI <aly@aaronly.me> |
net/radix: Update rn_inithead() parameter type to avoid boring casts
Change to use the proper 'struct radix_node_head **' instead of an opaque 'void **'.
|
#
0d7b85c8 |
| 15-Nov-2023 |
Aaron LI <aly@aaronly.me> |
kernel: Use rn_flush()/rn_freehead() to flush/delete radix trees
|
#
d3afab17 |
| 18-Jun-2023 |
Aaron LI <aly@aaronly.me> |
net/radix: Rename Free() to R_Free() to better align with R_Malloc()
Also reduces the chances of conflicting with other macros.
|
#
8a93af2a |
| 08-Jul-2023 |
Matthew Dillon <dillon@apollo.backplane.com> |
network - Remove host-order translations of ipv4 ip_off and ip_len
* Do not translate ip_off and ip_len to host order and then back again in the network stack. The fields are now left in network
network - Remove host-order translations of ipv4 ip_off and ip_len
* Do not translate ip_off and ip_len to host order and then back again in the network stack. The fields are now left in network order.
show more ...
|
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1 |
|
#
d147c943 |
| 28-Mar-2020 |
Sascha Wildner <saw@online.de> |
kernel: Remove <sys/mutex.h> from all files that don't need it (2/2).
98% of these were remains from porting from FreeBSD which could have been removed after converting to lockmgr(), etc.
Due to an
kernel: Remove <sys/mutex.h> from all files that don't need it (2/2).
98% of these were remains from porting from FreeBSD which could have been removed after converting to lockmgr(), etc.
Due to an issue in my checking earlier, not everything was cleaned up correctly.
show more ...
|
Revision tags: v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3 |
|
#
f7c73ea6 |
| 29-Apr-2019 |
Matthew Dillon <dillon@apollo.backplane.com> |
pf - Improve SMP counter performance, static array MAXCPU -> kmalloc
* Change the global counters to pcpu counters. Counters are now incremented in a cache-friendly state and will be aggregated
pf - Improve SMP counter performance, static array MAXCPU -> kmalloc
* Change the global counters to pcpu counters. Counters are now incremented in a cache-friendly state and will be aggregated in the status ioctl.
* Change all static declarations of MAXCPU arrays into kmalloc()d arrays to reduce kernel bss size.
show more ...
|
Revision tags: v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1 |
|
#
d15093b9 |
| 09-Aug-2018 |
Aaron LI <aly@aaronly.me> |
Revert "pf: Allow disappearing or not yet existing interfaces for ALTQ"
This reverts commit 0a887f91f9633448c99b9a5b7c6116a0a22d25d6.
1. It's incorrect to change the ifnet_unlock(). The original p
Revert "pf: Allow disappearing or not yet existing interfaces for ALTQ"
This reverts commit 0a887f91f9633448c99b9a5b7c6116a0a22d25d6.
1. It's incorrect to change the ifnet_unlock(). The original protection range is used to make sure that the ifp does not get ripped out behind our back.
2. We don't suffer from the issue that that commit was intended to fix.
Thanks-to: sephe
show more ...
|
#
2949c680 |
| 21-Jun-2018 |
Aaron LI <aly@aaronly.me> |
net: Tweak some styles and comments
|
#
0a887f91 |
| 16-Jun-2018 |
Aaron LI <aly@aaronly.me> |
pf: Allow disappearing or not yet existing interfaces for ALTQ
Make ALTQ cope with disappearing interfaces (particularly common with net/mpd4 and netgraph in general). This also allows to add queue
pf: Allow disappearing or not yet existing interfaces for ALTQ
Make ALTQ cope with disappearing interfaces (particularly common with net/mpd4 and netgraph in general). This also allows to add queues for an interface that is not yet existing, however, you have to provide the bandwidth for the interface.
Meanwhile, simplify the ifnet_unlock() calls for ifunit() use.
Taken-from: FreeBSD (r177700)
show more ...
|
#
c686757e |
| 16-Jun-2018 |
Aaron LI <aly@aaronly.me> |
pf: Fix and improve interface group support
The old PF code has broken partial support of the interface group. Without this patch, loading the 'pf.ko' module will panic the system.
* Add event hand
pf: Fix and improve interface group support
The old PF code has broken partial support of the interface group. Without this patch, loading the 'pf.ko' module will panic the system.
* Add event handlers of pfi_{attach,detach,change}_group_event() to support the interface groups. Meanwhile, add event handler of pfi_ifaddr_event() that is called when an address is set up on an interface, and update pfi_{attach,detach}_event() handlers. (Based on FreeBSD)
* Remove function pfi_kifaddr_update() as it is merged into pfi_ifaddr_event() handler.
* Update pfi_initialize() and pfi_cleanup() functions (Based on FreeBSD).
* Split function pfi_kif_find() out of pfi_kif_get(). (Based on OpenBSD)
* The PF module will be properly initialized on module load, so remove extra pfi_initialize() calls.
* Rename malloc type 'PFI_MTYPE' to 'M_PFI', and merge with malloc type 'M_PFIADDRPL'.
* Staticize internal functions and variables.
* Some cleanups and style updates.
Thanks to sephe for the guidance.
show more ...
|
Revision tags: v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1 |
|
#
e6186595 |
| 29-Jul-2017 |
Sascha Wildner <saw@online.de> |
kernel: Remove some variables that are only set but never used.
Reported-by: dcb Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/3019>
|
Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc |
|
#
48e93b2f |
| 08-Jan-2017 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Cleanup PFIL_MPSAFE
* All pfil use cases are MPSAFE, so remove the PFIL_MPSAFE flag entirely and remove the old mplock wrappers that tested it.
|
Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4 |
|
#
b4051e25 |
| 22-Jan-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ifnet: Make ifnet and ifindex2ifnet MPSAFE
- Accessing to these two global variables from non-netisr threads uses ifnet lock. This kind of accessing is from - Accessing to ifindex2ifnet from neti
ifnet: Make ifnet and ifindex2ifnet MPSAFE
- Accessing to these two global variables from non-netisr threads uses ifnet lock. This kind of accessing is from - Accessing to ifindex2ifnet from netisrs are lockless MPSAFE. - Netisrs no longer access ifnet, instead they access ifnet array as of this commit, which is lockless MPSAFE.
Rules for accessing ifnet and ifindex2ifnet is commented near the declaration of the related global variables/functions in net/if_var.h.
show more ...
|
Revision tags: v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2 |
|
#
32772c96 |
| 29-Jun-2014 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Fix pf-based NAT
* NAT may not always be able to select a translated addr/port that is compatible with the source addr/port. In this situation return packets from the translated target
kernel - Fix pf-based NAT
* NAT may not always be able to select a translated addr/port that is compatible with the source addr/port. In this situation return packets from the translated target won't be able to find the state structure.
This occurs if static-port is used or if the port range is insufficent for PF to be able to find a hash-compatible addr/port.
This also occurs for UDP because the toeplitz hash does not appear to include a port (so there's nothing PF NAT can do to make it hash-compatible).
* In situations where PF believes a translation is not hash-compatible, the pf_state_key will be placed on a global RBTREE instead of the cpu-localized RBTREE. This tree is checked and modified with a separate lock (shared when doing lookups, exclusive when doing adjustments).
The nominal pf_find_state*() code will now check the global RBTREE if the state cannot be found in the localized tree.
* Modifications to the pf_state structure are now exclusively locked to handle the case where a state structure might be used by multiple cpu's at the same time. This can only occur for translations such as NAT.
* The TCP code is not allowed to destroy state on connection reuse unless the state is cpu-local. If it is not cpu-local the TCP code will mark the state for an immediate purge (within the next second).
* Add a TSO flag check to pf_route(), which is called via NAT. Locally originated packets may have been built with TSO. For PF NAT, we can only assume that the target interface will be compatible and allow the packet through (not try to fragment it, which won't work well anyway for TCP packets).
show more ...
|
#
32e6d213 |
| 28-Jun-2014 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Fix pf-based NAT
* Concurrency work on PF broke NAT. Fix NAT for IPV4 TCP.
* This is not a complete fix, the NAT must be able to select from a range of local ports to replace sport to p
kernel - Fix pf-based NAT
* Concurrency work on PF broke NAT. Fix NAT for IPV4 TCP.
* This is not a complete fix, the NAT must be able to select from a range of local ports to replace sport to properly map the NAT onto the same cpu that the originating packet was forwarded to.
* Not fixed for UDP yet.
show more ...
|
#
3a0038bf |
| 27-Jun-2014 |
Matthew Dillon <dillon@apollo.backplane.com> |
pf - make the bulk of PF concurrent under normal operation
* state and ip fragment tables are now per-cpu.
* packet paths acquire pf_token shared instead of exclusive. Packet processing runs con
pf - make the bulk of PF concurrent under normal operation
* state and ip fragment tables are now per-cpu.
* packet paths acquire pf_token shared instead of exclusive. Packet processing runs concurrently.
* Any dynamic rules updates will run synchronously for now.
* State expiration from the pfpurge thread runs synchronously for now. More work can be done here.
* ioctl (and also pfsync) paths acquire pf_token exclusively. That is, primarily pfctl commands. This includes rules updates and state scans. More work can be done here.
show more ...
|
Revision tags: v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3 |
|
#
0ab80df8 |
| 07-Jul-2013 |
Sascha Wildner <saw@online.de> |
kernel/net*: Remove some #include duplicates.
|
Revision tags: v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3 |
|
#
04db30e5 |
| 08-Apr-2012 |
Sascha Wildner <saw@online.de> |
kernel: Remove NULL checks after kmalloc() with M_WAITOK.
|
Revision tags: v3.0.2, v3.0.1 |
|
#
cc16352a |
| 17-Feb-2012 |
Sascha Wildner <saw@online.de> |
kernel/pf: In the ioctl code, make sure NPFLOG is actually defined.
The inclusion of if_pflog.h was conditionalized on NPFLOG but it is if_pflog.h itself that actually defines NPFLOG (because it inc
kernel/pf: In the ioctl code, make sure NPFLOG is actually defined.
The inclusion of if_pflog.h was conditionalized on NPFLOG but it is if_pflog.h itself that actually defines NPFLOG (because it includes use_pflog.h).
So if_pflog.h was never included and some initialization code in the ioctls for adding and changing rules was not executed.
show more ...
|
Revision tags: v3.1.0, v3.0.0 |
|
#
b6c57ceb |
| 05-Dec-2011 |
Sascha Wildner <saw@online.de> |
kernel: Remove some unneeded NULL checks after kmalloc() with M_WAITOK.
|
#
f0f64d59 |
| 02-Dec-2011 |
Venkatesh Srinivas <me@endeavour.zapto.org> |
pf -- Remove unused pf_mod_lck.
pf_mod_lck was not used, except in a lksleep on module unload.
Reported-by: tuxillo
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
#
56515ebf |
| 01-Nov-2011 |
Jan Lentfer <Jan.Lentfer@web.de> |
pf/pf_ioctl.c: Fix whitespace error
|
#
d2540711 |
| 01-Nov-2011 |
Sascha Wildner <saw@online.de> |
Unbreak LINT.
|