Age | Commit message (Collapse) | Author |
|
ok stsp@
|
|
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
of a single mbuf. this forces us to batch work between the hardware
rx handlers and the stack.
this includes a converstion of bge from ether_input to if_input.
ok claudio@ pelikan@ mpi@
|
|
ok pelikan@, reyk@, blambert@, henning@
|
|
when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.
now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.
so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.
ok krw@
|
|
response is received from a node. Only call it once when the node is
initially discovered, as used to be the case before r1.4 of this file.
Asking the driver to set up its per-node private state once is enough.
Also remove an outdated comment.
ok sthen deraadt jsg
|
|
strengths on 802.11 interfaces. ok stsp@
Power on wireless interfaces is usually scaled in dBm. rssi (received signal
strength) is expected to be a -ve dBm values (i.e. [much] <1mW). Some (though
not all!) drivers store this as negative values, so it needs to be passed to
ifconfig that way for printing, not cast to an unsigned value. Valid range is
something like -40 to -90dBm, so the range available with a signed char is
reasonable whether it's stored as a +ve or -ve number.
|
|
|
|
to include that than rdnvar.h. ok deraadt dlg
|
|
ok mpi@ kspillner@
|
|
which have been seen but which haven't otherwise interacted with us), fixing
a problem where old cached nodes are seen when doing a scan.
From Marcin Piotr Pawlowski, feedback stsp@ ok kspillner@ dcoppa@
|
|
* SIOCG80211ALLNODES operates on struct ieee80211_nodereq_all, not
struct ieee80211_nodereq.
* Six SIOC* from wi(4) were using same codes with generic parts of
IEEE 802.11 framework. Things worked due to the fact that size
of data struct being passed is encoded in actual SIOC*, too.
This commit means that ifconfig and some ports will need to be rebuilt,
if any of affected SIOC* codes is used. Port bumps to follow.
First part okay reyk@, whole diff okay mpi@
Heavy prodding to commit now from deraadt@
|
|
ok stsp@
|
|
|
|
|
|
after discussions with beck deraadt kettenis.
|
|
testing stsp@
ok stsp@, dlg@
|
|
make ifconfig show whether a wireless network uses WEP or WPA.
Since struct ieee80211_nodereq grows in size old ifconfig won't be
able to scan when running on a new kernel.
While here, add missing ioctl constant IEEE80211_WPA_CIPHER_BIP.
ok jsg@
|
|
tree and the 80211 nodes need it.
ok henning@, mikeb@
|
|
driver start routines. Instead add & use a pointer in the pkthdr
since we don't want the overhead of using a mbuf_tags(9).
claudio@ pointed out that other subsystems might want to use this
pointer too, so here's a new cookie!
ok claudio@, mikeb@, deraadt@
|
|
ieee80211_output.c:311:5: error: unused variable 'ieee80211_edca_table' [-Werror,-Wunused-const-variable]
ok stsp@
|
|
Should prevent "bogus xmit rate %d setup" panics, which I ran into again
in IBSS mode.
ok kettenis
|
|
ok deraadt@
|
|
|
|
ok otto
|
|
so drivers like acx(4) can use that function directly instead of
reimplementing the function again. Requested by kettenis@ long time ago.
|
|
more info in tcpdump. OK giovanni@
|
|
siblings already are. And fix return value of ieee80211_node_decref()
which should be unsigned but was signed.
diff originally from dhill; ok kettenis reyk
|
|
diff from dhill; ok kettenis reyk
|
|
Part of the work to remove -Wno-uninitialized.
ok blambert jsg
|
|
(either by disassociating or by timeout). Fixes (most) remaining issues with
power saving.
From Nathanael Rensen.
ok claudio@, krw@, sthen@
|
|
of to the bridge itself. This is ok, since an interface can only be part
of one bridge, and the parent bridge is easy to find from the bridgeport.
This way we can get rid of a lot of list walks, improving performance
and shortening the code.
ok henning stsp sthen reyk
|
|
ok henning
|
|
to store multicast frames when one of the associated stations is in power
saving mode.
ok stsp@
|
|
ieee80211_create_ibss() resets the set of supported rates but failed
to update the index into the rate set array accordingly. If the rate
configured during STA operation didn't belong to the newly configured
rate set the system ran into an assertion ("bogus xmit rate %u setup")
while trying to create the IBSS.
ok fgsch@
|
|
compiled in and the interface is in debug mode. ok sthen
|
|
into the cache. Make sure we're at IPL_NET while incrementing/decrementing
ic_nnodes. Add a debug message that warns about possible node leaks.
All of this affects hostap mode only.
|
|
|
|
in debug mode.
If the interface is in debug mode ieee80211_input() will print messages
about received frames to the console. On slow systems, printf() calls can
take so long that the next RX interrupt will be serviced immediately, if
the RX rate is sufficiently high. This effectively locks the system at IPL_NET.
If a concurrent scan is running, the scan will never finish because it
relies on a timeout at IPL_SOFTCLOCK to hop channels every 200msec.
This timeout never runs in the above situation, leaving the wireless
interface in 'scan' state forever.
To give the timeout a chance to run, perform the printf() call from a
work queue (idea from guenther@). This allows edd's slow soekris AP to
recover from 'ifconfig ral0 debug down up' in noisy RF environments.
With input from guenther, kettenis, blambert and deraadt.
ok deraadt
|
|
in AUTH state that weren't active during the cache wait interval rather than
keeping them for the entire cache timeout interval. Fixes association failures
in noisy RF environments. Tested by edd and myself with a slow soekris
suffering from RF noise with about of 50 interrupts per second on ral0.
ok deraadt
|
|
The ic_bss is never put into the RB tree.
|
|
There is no need to keep nodes cached with never associated and were
inactive within the last 5 minutes or more. Keeps the node cache pretty
clean in my environment with typical city-center wlan noise.
|
|
Small parts of code for this feature were already present but unused.
A node becomes inactive after not sending or receiving a frame within
5 minutes. Inactive cached nodes (not authenticated or associated) are
automatically cleared from the cache once every hour, making room for
new nodes. If the node cache is full and room must be made for a new node,
clean either a cached node (active or inactive), or an inactive
authenticated or associated node.
Also, do not send de-auth frames to nodes which never authenticated,
and only send a de-auth frame once for a given node.
This part was contributed by Steven Chamberlain, thanks!
Tested by myself, krw@, edd@, Steven Chamberlain, and Markus Schatzl.
ok deraadt@
|
|
and freeing the node. Just in case an interrupt happens to ref the node after
the refcount was checked but before the node is freed.
Tested by several as part of a larger diff.
|
|
Check if the node was already cached first. Duplicate nodes aren't reachable
from the node cache's RB tree, so they leak and mess up node cache accounting.
As more and more nodes leak the global nodes counter keeps increasing,
eventually reaching the limit and hovering there. The system then constantly
tries to clean the node cache, sending de-auth frames to stations in the
process, even if the actual number of associated stations is small.
ok jsg@
|
|
only scanning for networks). These were never put into COLLECT state and
were thus never evicted from the node cache in hostap mode.
ok jsg@
|
|
essentially identical; the only difference being that m_pullup2 is
capable of handling mbuf clusters, but called m_pullup for shorter
lengths (!).
testing dlg@ ok claudio@
|
|
the caller and the function that the function will not fail to allocate
memory and return a NULL pointer. However, m_dup_pkthdr() violates
this contract, making it possible for functions that pass M_WAITOK to
be surprised in ways that hurt.
Fix this by passing the wait flag all the way down the functions that
actually do the allocation for m_dup_pkthdr() so that we won't be
surprised.
man page update forthcoming
ok claudio@
|
|
of nodes, otherwise we'll never actually clean any nodes. Fixes issues with
clients failing too attach because the node cache is completely filled.
ok damien@
|
|
damien@ ok. ports checked by sthen@.
|