#
cf96265b |
| 10-Nov-2023 |
bluhm <bluhm@openbsd.org> |
Make ifq and ifiq interface MP safe.
Rename ifq_set_maxlen() to ifq_init_maxlen(). This function neither uses WRITE_ONCE() nor a mutex and is called before the ifq mutex is initialized. The new na
Make ifq and ifiq interface MP safe.
Rename ifq_set_maxlen() to ifq_init_maxlen(). This function neither uses WRITE_ONCE() nor a mutex and is called before the ifq mutex is initialized. The new name expresses that it should be used only during interface attach when there is no concurrency.
Protect ifq_len(), ifq_empty(), ifiq_len(), and ifiq_empty() with READ_ONCE(). They can be used without lock as they only read a single integer.
OK dlg@
show more ...
|
#
52a13037 |
| 21-Apr-2022 |
stsp <stsp@openbsd.org> |
Use memset() to initialize struct ieee80211_rxinfo properly.
Sven Wolf noticed that scans on ral(4) are buggy ever since I added a new field to this struct. Turns out a lot of drivers were initializ
Use memset() to initialize struct ieee80211_rxinfo properly.
Sven Wolf noticed that scans on ral(4) are buggy ever since I added a new field to this struct. Turns out a lot of drivers were initializing fields one-by-one, leaving any newly added fields uninitialized by default.
Affected drivers may report wrong channel numbers for received beacons. The net80211 stack will discard such beacons, assuming they were received on the wrong channel due to signal leakage. Scanning is broken as result.
ok miod@
show more ...
|
#
4b1a56af |
| 09-Jan-2022 |
jsg <jsg@openbsd.org> |
spelling feedback and ok tb@ jmc@ ok ratchov@
|
#
5c7fed39 |
| 25-Feb-2021 |
dlg <dlg@openbsd.org> |
we don't have to cast to caddr_t when calling m_copydata anymore.
the first cut of this diff was made with coccinelle using this spatch:
@rule@ type caddr_t; expression m, off, len, cp; @@ -m_copyd
we don't have to cast to caddr_t when calling m_copydata anymore.
the first cut of this diff was made with coccinelle using this spatch:
@rule@ type caddr_t; expression m, off, len, cp; @@ -m_copydata(m, off, len, (caddr_t)cp) +m_copydata(m, off, len, cp)
i had fix it's opinionated idea of formatting by hand though, so i'm not sure it was worth it.
ok deraadt@ bluhm@
show more ...
|
#
0cae21bd |
| 10-Jul-2020 |
patrick <patrick@openbsd.org> |
Change users of IFQ_SET_MAXLEN() and IFQ_IS_EMPTY() to use the "new" API.
ok dlg@ tobhe@
|
#
63bcfa73 |
| 10-Jul-2020 |
patrick <patrick@openbsd.org> |
Change users of IFQ_DEQUEUE(), IFQ_ENQUEUE() and IFQ_LEN() to use the "new" API.
ok dlg@ tobhe@
|
#
53d49253 |
| 11-Jan-2020 |
cheloha <cheloha@openbsd.org> |
acx(4): tsleep(9) -> tsleep_nsec(9); ok claudio@
|
#
c37a468c |
| 26-Oct-2017 |
mpi <mpi@openbsd.org> |
Move common code to add/remove multicast filters to ieee80211_ioctl(9).
ok jsg@, stsp@
|
#
88a08f2a |
| 22-Jan-2017 |
dlg <dlg@openbsd.org> |
move counting if_opackets next to counting if_obytes in if_enqueue.
this means packets are consistently counted in one place, unlike the many and various ways that drivers thought they should do it.
move counting if_opackets next to counting if_obytes in if_enqueue.
this means packets are consistently counted in one place, unlike the many and various ways that drivers thought they should do it.
ok mpi@ deraadt@
show more ...
|
#
b4e71a52 |
| 02-Sep-2016 |
tom <tom@openbsd.org> |
No need to set 'error' to 0 at the beginning of acx_encap(), as we're only going to set it again 10 lines later.
ok mpi@
|
#
1e1858b6 |
| 13-Apr-2016 |
mpi <mpi@openbsd.org> |
G/C IFQ_SET_READY().
|
#
de6cd8fb |
| 25-Nov-2015 |
dlg <dlg@openbsd.org> |
replace IFF_OACTIVE manipulation with mpsafe operations.
there are two things shared between the network stack and drivers in the send path: the send queue and the IFF_OACTIVE flag. the send queue i
replace IFF_OACTIVE manipulation with mpsafe operations.
there are two things shared between the network stack and drivers in the send path: the send queue and the IFF_OACTIVE flag. the send queue is now protected by a mutex. this diff makes the oactive functionality mpsafe too.
IFF_OACTIVE is part of if_flags. there are two problems with that. firstly, if_flags is a short and we dont have any MI atomic operations to manipulate a short. secondly, while we could make the IFF_OACTIVE operates mpsafe, all changes to other flags would have to be made safe at the same time, otherwise a read-modify-write cycle on their updates could clobber the oactive change.
instead, this moves the oactive mark into struct ifqueue and provides an API for changing it. there's ifq_set_oactive, ifq_clr_oactive, and ifq_is_oactive. these are modelled on ifsq_set_oactive, ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd.
this diff includes changes to all the drivers manipulating IFF_OACTIVE to now use the ifsq_{set,clr_is}_oactive API too.
ok kettenis@ mpi@ jmatthew@ deraadt@
show more ...
|
#
32f46ff2 |
| 24-Nov-2015 |
mpi <mpi@openbsd.org> |
You only need <net/if_dl.h> if you're using LLADDR() or a sockaddr_dl.
|
#
f9ad5574 |
| 24-Nov-2015 |
mpi <mpi@openbsd.org> |
The only network driver needing <net/if_types.h> is upl(4) for IFT_OTHER.
|
#
351e1934 |
| 04-Nov-2015 |
dlg <dlg@openbsd.org> |
replace the ifqueues in net80211 with mbuf_queues.
the specific queues are ic_mgtq, ic_pwrsaveq, and ni_savedq. rtw had its own queue for beacons.
tested by mpi@ and jmc@ ok mpi@
|
#
d2d9c74c |
| 25-Oct-2015 |
mpi <mpi@openbsd.org> |
arp_ifinit() is no longer needed.
|
#
95cabb2e |
| 06-Sep-2015 |
deraadt <deraadt@openbsd.org> |
firmware size for free()
|
#
21dab745 |
| 14-Mar-2015 |
jsg <jsg@openbsd.org> |
Remove some includes include-what-you-use claims don't have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
#
64fa60b7 |
| 10-Feb-2015 |
mpi <mpi@openbsd.org> |
Wireless drivers call if_input() via ieee80211_input() which set `rcvif' on every received mbuf, so there's no need to initialize this pointer in the drivers.
Tested by and ok phessler@
|
#
f79ee556 |
| 22-Dec-2014 |
tedu <tedu@openbsd.org> |
unifdef INET
|
#
9b18ffb8 |
| 19-Dec-2014 |
guenther <guenther@openbsd.org> |
Use <sys/endian.h> instead of <machine/endian.h>
ok dlg@ mpi@ bcook@ millert@ miod@
|
#
7f58a11f |
| 14-Sep-2014 |
jsg <jsg@openbsd.org> |
remove uneeded proc.h includes ok mpi@ kspillner@
|
#
b302470d |
| 08-Sep-2014 |
kettenis <kettenis@openbsd.org> |
Don't include <sys/types.h>; we already include <sys/param.h>. Add missing <sys/errno.h> and <sys/device.h>. Makes a sparc64 kernel compile again.
|
#
aaeadf5e |
| 06-Sep-2014 |
jsg <jsg@openbsd.org> |
reduce the amount of pci includes
|
#
9e6eaca1 |
| 22-Jul-2014 |
mpi <mpi@openbsd.org> |
Fewer <netinet/in_systm.h>
|