#
449201b8 |
| 24-Feb-2023 |
riastradh <riastradh@NetBSD.org> |
sys/net/if.c: Eliminate __HAVE_ATOMIC_AS_MEMBAR conditionals.
Discussed on tech-kern: https://mail-index.netbsd.org/tech-kern/2023/02/23/msg028729.html
|
#
ea2fb498 |
| 25-Nov-2022 |
msaitoh <msaitoh@NetBSD.org> |
KNF. No functional change.
|
#
a399bebb |
| 24-Oct-2022 |
msaitoh <msaitoh@NetBSD.org> |
Make ifq_drops in struct ifqueue and struct ifaltq 64 bit.
|
#
5ef53291 |
| 20-Sep-2022 |
knakahara <knakahara@NetBSD.org> |
Remove routes on an address removal if the routes referencing to the address. Implemented by ozaki-r@n.o.
A route that has a gateway is on a connected route can be invalid if the connected route is
Remove routes on an address removal if the routes referencing to the address. Implemented by ozaki-r@n.o.
A route that has a gateway is on a connected route can be invalid if the connected route is deleted, i.e., an associated address is removed. Traditionally NetBSD doesn't sweep such a route on the address removal. Sending packets over the route fails with "No route to host". Also the route holds an orphan ifaddr as rt_ifa that is destructed say by in_purgeaddr.
If the same address is assgined again in such a state, there can be two different ifaddr objects with the same address. Until recently it's not a big problem because we can send packets anyway. However after MP-ification of the network stack, we can't send packets because we strictly check if rt_ifa (i.e., the (old) ifaddr) is valid.
This change automatically removes such routes on a removal of an associated address to avoid keeping inconsistent routes.
show more ...
|
#
42a2659f |
| 03-Sep-2022 |
thorpej <thorpej@NetBSD.org> |
Garbage-collect everything related to struct domain::dom_ifqueues (except dom_ifqueues itself, until the next kernel version bump). It's no longer used now that nothing uses the legacy netisr mechani
Garbage-collect everything related to struct domain::dom_ifqueues (except dom_ifqueues itself, until the next kernel version bump). It's no longer used now that nothing uses the legacy netisr mechanism.
show more ...
|
#
d10e2ccb |
| 03-Sep-2022 |
thorpej <thorpej@NetBSD.org> |
Garbage-collect the remaining vestiges of netisr.
|
#
c1ffabb4 |
| 02-Sep-2022 |
thorpej <thorpej@NetBSD.org> |
Re-factor how pktq_barrier() is issued by if_detach().
Rather than excplicitly referencing ip_pktq and ip6_pktq in if_detach(), instead add all pktqueues to a global list. This list is then used in
Re-factor how pktq_barrier() is issued by if_detach().
Rather than excplicitly referencing ip_pktq and ip6_pktq in if_detach(), instead add all pktqueues to a global list. This list is then used in the new pktq_ifdetach() function to issue a barrier on all pktqueues.
Note that the performance of this list is not critical; it will seldom be accessed (then pktqueues are created/destroyed and when network interfaces are detached), and so a simple synchronization strategy using a rwlock is sufficient.
show more ...
|
#
75b22e0d |
| 02-Sep-2022 |
thorpej <thorpej@NetBSD.org> |
f_detach(): Drain the protocol input queues before the pr_purgeif() calls; pktq_barrier() doesn't remove packets from the queue, it waits for the packets enqueued before the barrier to drain. This,
f_detach(): Drain the protocol input queues before the pr_purgeif() calls; pktq_barrier() doesn't remove packets from the queue, it waits for the packets enqueued before the barrier to drain. This, in turn, may cause the protocols to gain additional references to the interface that's detaching. By draining the queues first, we ensure that no additional references will be taken after calling pr_purgeif().
show more ...
|
#
61127047 |
| 02-Sep-2022 |
thorpej <thorpej@NetBSD.org> |
pktqueue: Re-factor sysctl handling.
Provide a new pktq_sysctl_setup() function that attaches standard pktq sysctl nodes below a specified parent node, with either a fixed node ID or CTL_CREATE to d
pktqueue: Re-factor sysctl handling.
Provide a new pktq_sysctl_setup() function that attaches standard pktq sysctl nodes below a specified parent node, with either a fixed node ID or CTL_CREATE to dynamically assign node IDs. Make all of the sysctl handlers private to pktqueue.c, and remove the INET- and INET6-specific pktqueue sysctl code from net/if.c.
show more ...
|
#
b2362dc6 |
| 21-Aug-2022 |
skrll <skrll@NetBSD.org> |
Sprinkle more const. NFC.
|
#
e25c960e |
| 21-Aug-2022 |
skrll <skrll@NetBSD.org> |
Sprinkle const. NFC.
|
#
da407efc |
| 21-Aug-2022 |
skrll <skrll@NetBSD.org> |
Style / whitespace.
|
#
aef8a9f4 |
| 20-Aug-2022 |
riastradh <riastradh@NetBSD.org> |
ifnet(9): Make sure to use if_timer and if_watchdog at IPL_NET.
|
#
bd79f176 |
| 20-Aug-2022 |
riastradh <riastradh@NetBSD.org> |
ifnet(9): On if_deactivate, don't make null if_slowtimo nonnull.
Fixes crash on detach.
|
#
df7d865e |
| 20-Aug-2022 |
riastradh <riastradh@NetBSD.org> |
ifnet(9): Kernel lock for struct ifnet::if_timer.
|
#
a4b8b9db |
| 20-Aug-2022 |
riastradh <riastradh@NetBSD.org> |
ifnet(9): Add sysctl net.interaces.ifN.watchdog.trigger.
For interfaces that use if_watchdog, this forces it to be called at the next tick.
|
#
0f5556e3 |
| 20-Aug-2022 |
riastradh <riastradh@NetBSD.org> |
ifnet(9): Defer if_watchdog (a.k.a. if_slowtimo) to workqueue.
This is necessary to make mii_down and the *_init/stop routines that call it to sleep waiting for MII callouts on other CPUs.
Mark the
ifnet(9): Defer if_watchdog (a.k.a. if_slowtimo) to workqueue.
This is necessary to make mii_down and the *_init/stop routines that call it to sleep waiting for MII callouts on other CPUs.
Mark the workqueue and callout MP-safe; only take the kernel lock around the callback.
No kernel bump despite change to struct ifnet because the change is ABI-compatible and using the callout outside net/if.c has never been kosher.
show more ...
|
#
84ec4e4e |
| 17-Aug-2022 |
rillig <rillig@NetBSD.org> |
if.c: fix typo in comment
|
#
0042e03f |
| 29-Jul-2022 |
skrll <skrll@NetBSD.org> |
Fix a typo in a comment.
|
#
236bdce3 |
| 29-Jul-2022 |
skrll <skrll@NetBSD.org> |
KNF a comment
|
#
9a71b525 |
| 11-Jul-2022 |
skrll <skrll@NetBSD.org> |
KNF two comments.
|
#
69e7c18d |
| 11-Jul-2022 |
skrll <skrll@NetBSD.org> |
Grammar in a comment.
|
#
a97db378 |
| 08-Jul-2022 |
skrll <skrll@NetBSD.org> |
alredy -> already
|
#
6b856c8f |
| 07-Jul-2022 |
riastradh <riastradh@NetBSD.org> |
ifioctl(9): Don't touch ifconf or ifreq until command is validated.
sys_ioctl validates the data pointer according to the command's size and direction. But userland may ioctl commands other than OS
ifioctl(9): Don't touch ifconf or ifreq until command is validated.
sys_ioctl validates the data pointer according to the command's size and direction. But userland may ioctl commands other than OSIOCGIFCONF or OOSIOCGIFCONF -- and if userland passes an IOC_VOID command, the argument is passed through verbatim and may be null.
Reported-by: syzbot+19b1bf83e5481273eafc@syzkaller.appspotmail.com https://syzkaller.appspot.com/bug?id=f4c91a7dcd31901c80d91af6ed01456faf0a7286
Reported-by: syzbot+442c033feb784d055185@syzkaller.appspotmail.com https://syzkaller.appspot.com/bug?id=4a3a4b92dbe9695046ff17a5474cef52aed23e0b
Reported-by: syzbot+4c87d0cdf7025741ea7a@syzkaller.appspotmail.com https://syzkaller.appspot.com/bug?id=3e5f42c998e43ad42da40dec3c7873e6aae187e4
show more ...
|
#
2d52435a |
| 22-May-2022 |
andvar <andvar@NetBSD.org> |
fix various small typos, mainly in comments.
|