#
61bf830c |
| 05-Dec-2024 |
Damjan Jovanovic <damjan.jov@gmail.com> |
libalias: Add support for EIM NAT
Add support for endpoint-independent mapping ("full cone NAT") in Libalias's UDP NAT.
This conforms to RFC 4787 requirements 1 and 3. All UDP packets sent out from
libalias: Add support for EIM NAT
Add support for endpoint-independent mapping ("full cone NAT") in Libalias's UDP NAT.
This conforms to RFC 4787 requirements 1 and 3. All UDP packets sent out from a particular internal address:port leave via the same NAT address:port, regardless of their destination.
Add some libalias tests and supporting defines.
Reviewed by: igoro, thj Differential Revision: https://reviews.freebsd.org/D46689D
show more ...
|
Revision tags: release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
d261e57d |
| 28-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Switch to efficient data structure for incoming traffic
Current data structure is using a hash of unordered lists. Those unordered lists are quite efficient, because the least recently in
libalias: Switch to efficient data structure for incoming traffic
Current data structure is using a hash of unordered lists. Those unordered lists are quite efficient, because the least recently inserted entries are most likely to be used again. In order to avoid long search times in other cases, the lists are hashed into many buckets. Unfortunatly a search for a miss needs an exhaustive inspection and a careful definition of the hash.
Splay trees offer a similar feature: Almost O(1) for access of the least recently used entries, and amortized O(ln(n)) for almost all other cases. Get rid of the hash.
Now the data structure should able to quickly react to external packets without eating CPU cycles for breakfast, preventing a DoS.
PR: 192888 Discussed with: Dimitry Luhtionov MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30536
show more ...
|
#
935fc93a |
| 27-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Switch to efficient data structure for outgoing traffic
Current data structure is using a hash of unordered lists. Those unordered lists are quite efficient, because the least recently in
libalias: Switch to efficient data structure for outgoing traffic
Current data structure is using a hash of unordered lists. Those unordered lists are quite efficient, because the least recently inserted entries are most likely to be used again. In order to avoid long search times in other cases, the lists are hashed into many buckets. Unfortunatly a search for a miss needs an exhaustive inspection and a careful definition of the hash.
Splay trees offer a similar feature - almost O(1) for access of the least recently used entries), and amortized O(ln(n) - for almost all other cases. Get rid of the hash.
Discussed with: Dimitry Luhtionov MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30516
show more ...
|
#
fe83900f |
| 01-Jun-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Restructure - Remove temporary state deleteAllLinks from global struct
The entry deleteAllLinks in the struct libalias is only used to signal a state between internal calls. It's not used
libalias: Restructure - Remove temporary state deleteAllLinks from global struct
The entry deleteAllLinks in the struct libalias is only used to signal a state between internal calls. It's not used between API calls.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30604
show more ...
|
#
1178dda5 |
| 27-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Restructure - Table for PPTP
Let PPTP use its own data structure. Regroup and rename other lists, which are not PPTP.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/
libalias: Restructure - Table for PPTP
Let PPTP use its own data structure. Regroup and rename other lists, which are not PPTP.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30580
show more ...
|
#
492d3b71 |
| 26-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Restructure - Group incoming links
Reorder incoming links by grouping of common search terms. Significant performance improvement for incoming (missing) flows.
Remove LSNAT from outgoing
libalias: Restructure - Group incoming links
Reorder incoming links by grouping of common search terms. Significant performance improvement for incoming (missing) flows.
Remove LSNAT from outgoing search. Slight speedup due to less comparsions in the loop.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30574
show more ...
|
#
cac129e6 |
| 25-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Restructure - Table for partially links
Separate the partially specified links into a separate data structure.
This would causes a major parformance impact, if there are many of them. Us
libalias: Restructure - Table for partially links
Separate the partially specified links into a separate data structure.
This would causes a major parformance impact, if there are many of them. Use a (smaller) hash table to speed up the partially link access.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30570
show more ...
|
#
ef828d39 |
| 25-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Promote per instance global variable timeStamp
Summary: - Use LibAliasTime as a real global variable for central timekeeping. - Reduce number of syscalls in user space considerably. - Dyna
libalias: Promote per instance global variable timeStamp
Summary: - Use LibAliasTime as a real global variable for central timekeeping. - Reduce number of syscalls in user space considerably. - Dynamically adjust the packet counters to match the second resolution. - Only check the first few packets after a time increase for expiry.
Discussed with: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30566
show more ...
|
#
3fd20a79 |
| 01-Jun-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Stats are unsigned
Stats counters are used as unsigned valued (i.e. printf("%u")) but are defined as signed int. This causes trouble later, so fix it early.
MFC after: 1 week Differentia
libalias: Stats are unsigned
Stats counters are used as unsigned valued (i.e. printf("%u")) but are defined as signed int. This causes trouble later, so fix it early.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30587
show more ...
|
#
294799c6 |
| 15-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: tidy up housekeeping
Replace current expensive, but sparsly called housekeeping by a single, repetive action.
This is part of a larger restructure of libalias in order to switch to more e
libalias: tidy up housekeeping
Replace current expensive, but sparsly called housekeeping by a single, repetive action.
This is part of a larger restructure of libalias in order to switch to more efficient data structures. The whole restructure process is split into 15 reviews to ease reviewing. All those steps will be squashed into a single commit for MFC in order to hide the intermediate states from production systems.
Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30277
show more ...
|
#
bfd41ba1 |
| 15-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Remove unused function LibAliasCheckNewLink
The functionality to detect a newly created link after processing a single packet is decoupled from the packet processing. Every new packet is
libalias: Remove unused function LibAliasCheckNewLink
The functionality to detect a newly created link after processing a single packet is decoupled from the packet processing. Every new packet is processed asynchronously and will reset the indicator, hence the function is unusable. I made a Google search for third party code, which uses the function, and failed to find one.
That's why the function should be removed: It unusable and unused. A much simplified API/ABI will remain in anything below 14.
Discussed with: kp Reviewed by: manpages (bcr) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D30275
show more ...
|
#
189f8eea |
| 13-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: replace placeholder with static constant
The field nullAddress in struct libalias is never set and never used. It exists as a placeholder for an unused argument only.
Reviewed by: hselask
libalias: replace placeholder with static constant
The field nullAddress in struct libalias is never set and never used. It exists as a placeholder for an unused argument only.
Reviewed by: hselasky MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D30253
show more ...
|
#
effc8e57 |
| 14-May-2021 |
Lutz Donnerhacke <donner@FreeBSD.org> |
libalias: Style cleanup
libalias is a convolut of various coding styles modified by a series of different editors enforcing interesting convetions on spacing and comments.
This patch is a baseline
libalias: Style cleanup
libalias is a convolut of various coding styles modified by a series of different editors enforcing interesting convetions on spacing and comments.
This patch is a baseline to start with a perfomance rework of libalias. Upcoming patches should be focus on the code, not on the style. That's why most annoying style errors should be fixed beforehand.
Reviewed by: hselasky Discussed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D30259
show more ...
|
Revision tags: release/13.0.0 |
|
#
a08cdb6c |
| 02-Feb-2021 |
Neel Chauhan <nc@FreeBSD.org> |
Allow setting alias port ranges in libalias and ipfw. This will allow a system to be a true RFC 6598 NAT444 setup, where each network segment (e.g. user, subnet) can have their own dedicated port ali
Allow setting alias port ranges in libalias and ipfw. This will allow a system to be a true RFC 6598 NAT444 setup, where each network segment (e.g. user, subnet) can have their own dedicated port aliasing ranges.
Reviewed by: donner, kp Approved by: 0mp (mentor), donner, kp Differential Revision: https://reviews.freebsd.org/D23450
show more ...
|
#
bc596e56 |
| 19-Jan-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
libalias: Fix -Wcast-align compiler warnings
This fixes -Wcast-align warnings caused by the underaligned `struct ip`. This also silences them in the public functions by changing the function signatu
libalias: Fix -Wcast-align compiler warnings
This fixes -Wcast-align warnings caused by the underaligned `struct ip`. This also silences them in the public functions by changing the function signature from char * to void *. This is source and binary compatible and avoids the -Wcast-align warning.
Reviewed By: ae, gbe (manpages) Differential Revision: https://reviews.freebsd.org/D27882
show more ...
|
Revision tags: release/12.2.0 |
|
#
662c1305 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
net: clean up empty lines in .c and .h files
|
Revision tags: release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
fe267a55 |
| 27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error pro
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
No functional change intended.
show more ...
|
Revision tags: release/10.4.0, release/11.1.0 |
|
#
a3906ca5 |
| 17-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313644 through r313895.
|
#
8144690a |
| 16-Feb-2017 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Use inet_ntoa_r() instead of inet_ntoa() throughout the kernel
inet_ntoa() cannot be used safely in a multithreaded environment because it uses a static local buffer. Instead, use inet_ntoa_r() with
Use inet_ntoa_r() instead of inet_ntoa() throughout the kernel
inet_ntoa() cannot be used safely in a multithreaded environment because it uses a static local buffer. Instead, use inet_ntoa_r() with a buffer on the caller's stack.
Suggested by: glebius, emaste Reviewed by: gnn MFC after: 2 weeks Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D9625
show more ...
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
a4641f4e |
| 03-May-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/net*: minor spelling fixes.
No functional change.
|
Revision tags: release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0 |
|
#
935205e2 |
| 17-Jul-2011 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Integrate from Head into ZFSD feature branch as of revision r224141.
|
#
23300944 |
| 30-Jun-2011 |
Peter Grehan <grehan@FreeBSD.org> |
IFC @ r223696 to pick up dfr's userboot
|
#
de138ec7 |
| 24-Jun-2011 |
Attilio Rao <attilio@FreeBSD.org> |
MFC
|