#
bd7b2f95 |
| 05-Dec-2023 |
Kristof Provost <kp@FreeBSD.org> |
vnet: (read) lock the vnet list while iterating it
Ensure that the vnet list cannot be modified while we're running through it.
Reviewed by: mjg (previous version), zlei (previous version) MFC afte
vnet: (read) lock the vnet list while iterating it
Ensure that the vnet list cannot be modified while we're running through it.
Reviewed by: mjg (previous version), zlei (previous version) MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D42927
show more ...
|
#
29363fb4 |
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0 |
|
#
3d0d5b21 |
| 23-Jan-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
IfAPI: Explicitly include <net/if_private.h> in netstack
Summary: In preparation of making if_t completely opaque outside of the netstack, explicitly include the header. <net/if_var.h> will stop in
IfAPI: Explicitly include <net/if_private.h> in netstack
Summary: In preparation of making if_t completely opaque outside of the netstack, explicitly include the header. <net/if_var.h> will stop including the header in the future.
Sponsored by: Juniper Networks, Inc. Reviewed by: glebius, melifaro Differential Revision: https://reviews.freebsd.org/D38200
show more ...
|
Revision tags: release/12.4.0 |
|
#
15b73a2a |
| 14-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: use correct comparison in ipreass_callout()
Reported-by: syzbot+55415dc73f9b89b87fce@syzkaller.appspotmail.com
|
#
29b4b63c |
| 10-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: optimize ipreass_drain_vnet()
- Call ipreass_reschedule() only once per slot [1] - Aggregate stats and update them once
Suggested by: jtl [1]
|
#
13018bfa |
| 10-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: make stray callout assertion more verbose
Syzcaller hits this assertion, but can't find reproducer. I also never seen it hit in my testing. Try to get more information via syzcaller.
|
#
c8bc8741 |
| 09-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: fixup the just added tunable
- Don't use hardcoded hash mask - free the memory on VNET destroy
Fixes: 1494f4776af32b49e3c5bbdf09d6b2995b374614
|
#
1494f477 |
| 08-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: add loader tunable to tune the reassembly hash size
|
#
a30cb315 |
| 08-Sep-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: retire ipreass_slowtimo() in favor of per-slot callout
o Retire global always running ipreass_slowtimo(). o Instead use one callout entry per hash slot. The per-slot callout would be sc
ip_reass: retire ipreass_slowtimo() in favor of per-slot callout
o Retire global always running ipreass_slowtimo(). o Instead use one callout entry per hash slot. The per-slot callout would be scheduled only if a slot has entries, and would be driven by TTL of the very last entry. o Make net.inet.ip.fragttl read/write and document it. o Retire IPFRAGTTL, which used to be meaningful only with PR_SLOWTIMO.
Differential revision: https://reviews.freebsd.org/D36275
show more ...
|
#
64981536 |
| 21-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: don't drain all vnets on a vnet destroy
|
#
8338690a |
| 20-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: provide sysctl MIB returning IP fragment TTL
For now it is read-only, but eventually the cycle that goes over all fragments should be refactored and this MIB should also become read/write.
ip_reass: provide sysctl MIB returning IP fragment TTL
For now it is read-only, but eventually the cycle that goes over all fragments should be refactored and this MIB should also become read/write.
This MIB will allow SNMP daemons to implement MIB-II ipReasmTimeout MIB straightfoward. Right now net-snmp compilation is broken by 1922eb3e9c2. The base system bsnmpd is not broken just because it ignored PR_SLOWTIMO, and thus always returned incorrectly doubled value for ipReasmTimeout.
show more ...
|
#
aea0cd04 |
| 17-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: separate ipreass_init() into global and VIMAGE parts
Should have been done in 89128ff3e42.
|
#
81a34d37 |
| 17-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
protosw: retire pr_drain and use EVENTHANDLER(9) directly
The method was called for two different conditions: 1) the VM layer is low on pages or 2) one of UMA zones of mbuf allocator exhausted. This
protosw: retire pr_drain and use EVENTHANDLER(9) directly
The method was called for two different conditions: 1) the VM layer is low on pages or 2) one of UMA zones of mbuf allocator exhausted. This change 2) into a new event handler, but all affected network subsystems modified to subscribe to both, so this change shall not bring functional changes under different low memory situations.
There were three subsystems still using pr_drain: TCP, SCTP and frag6. The latter had its protosw entry for the only reason to register its pr_drain method.
Reviewed by: tuexen, melifaro Differential revision: https://reviews.freebsd.org/D36164
show more ...
|
#
160f01f0 |
| 17-Aug-2022 |
Gleb Smirnoff <glebius@FreeBSD.org> |
ip_reass: use callout(9) directly instead of pr_slowtimo
Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D36236
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
3be3cbe0 |
| 13-Aug-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
ip_reass: do less work in ipreass_slowtimo if possible
ipreass_slowtimo avoidably uses CPU on otherwise idle boxes
Reviewed by: kp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential
ip_reass: do less work in ipreass_slowtimo if possible
ipreass_slowtimo avoidably uses CPU on otherwise idle boxes
Reviewed by: kp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D31526
show more ...
|
#
d2b95af1 |
| 13-Aug-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
ip_reass: drop the volatile keyword from nfrags and mark with __exclusive_cache_line
The keyword adds nothing as all operations on the var are performed through atomic_*
Reviewed by: kp Sponsored b
ip_reass: drop the volatile keyword from nfrags and mark with __exclusive_cache_line
The keyword adds nothing as all operations on the var are performed through atomic_*
Reviewed by: kp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D31526
show more ...
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
75dfc66c |
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|
#
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
#
44e86fbd |
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
#
481be5de |
| 12-Feb-2020 |
Randall Stewart <rrs@FreeBSD.org> |
White space cleanup -- remove trailing tab's or spaces from any line.
Sponsored by: Netflix Inc.
|
Revision tags: release/12.1.0 |
|
#
6e6b5143 |
| 25-Oct-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Properly set VNET when nuking recvif from fragment queues.
In theory the eventhandler invoke should be in the same VNET as the the current interface. We however cannot guarantee that for all cases i
Properly set VNET when nuking recvif from fragment queues.
In theory the eventhandler invoke should be in the same VNET as the the current interface. We however cannot guarantee that for all cases in the future.
So before checking if the fragmentation handling for this VNET is active, switch the VNET to the VNET of the interface to always get the one we want.
Reviewed by: hselasky MFC after: 3 weeks Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D22153
show more ...
|
#
a55383e7 |
| 16-Oct-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Fix panic in network stack due to use after free when receiving partial fragmented packets before a network interface is detached.
When sending IPv4 or IPv6 fragmented packets and a fragment is lost
Fix panic in network stack due to use after free when receiving partial fragmented packets before a network interface is detached.
When sending IPv4 or IPv6 fragmented packets and a fragment is lost before the network device is freed, the mbuf making up the fragment will remain in the temporary hashed fragment list and cause a panic when it times out due to accessing a freed network interface structure.
1) Make sure the m_pkthdr.rcvif always points to a valid network interface. Else the rcvif field should be set to NULL.
2) Use the rcvif of the last received fragment as m_pkthdr.rcvif for the fully defragged packet, instead of the first received fragment.
Panic backtrace for IPv6:
panic() icmp6_reflect() # tries to access rcvif->if_afdata[AF_INET6]->xxx icmp6_error() frag6_freef() frag6_slowtimo() pfslowtimo() softclock_call_cc() softclock() ithread_loop()
Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D19622 MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
Revision tags: release/11.3.0 |
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
6bbdbbb8 |
| 22-Apr-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Revert r346530 until further.
MFC after: 1 week Sponsored by: Mellanox Technologies
|