summaryrefslogtreecommitdiff
path: root/sys/net80211
AgeCommit message (Collapse)Author
2015-11-08Handle additional RSN element group ciphers.Stefan Sperling
ok mpi@
2015-11-08Update section and table numbers inside comments in the RSN code toStefan Sperling
the 802.11-2012 standard. ok mpi@
2015-11-04replace the ifqueues in net80211 with mbuf_queues.David Gwynne
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@
2015-10-17Spell all "unexpected mode %u" panics in lower case, not just one of them.Stefan Sperling
2015-10-12the pattr argument to IFQ_ENQUEUE is unused, so let's get rid of it.David Gwynne
also the comment above IFQ_ENQUEUE that says the pattr argument is unused. ok mpi@
2015-10-10Add macros for A-MPDU and MCS data, both found in HT capabilities element.Stefan Sperling
typo fix + ok sthen@
2015-10-05Revert if_oqdrops accounting changes done in kernel, per request from mpi@.Masao Uebayashi
(Especially adding IF_DROP() after IFQ_ENQUEUE() was completely wrong because IFQ_ENQUEUE() already does it. Oops.) After this revert, the situation becomes: - if_snd.ifq_drops is incremented in either IFQ_ENQUEUE() or IF_DROP(), but it is not shown to userland, and - if_data.ifi_oqdrops is shown to userland, but it is not incremented by anyone.
2015-10-05Count IFQ_ENQUEUE() failure as output drop.Masao Uebayashi
mpi@ prefers checking IFQ_ENQUEUE() error, and this matches that. OK dlg@
2015-09-27Add ieee80211_channel_init(), factored out from ieee80211_ifattach().Stefan Sperling
Will be used by iwm(4) soon. ok kettenis@
2015-09-16Make code in ieee80211_send_4way_msg3() more readable and make sure a localStefan Sperling
variable is initialized to NULL in the WPA case. No functional change. Pointed out by Maxime Villard's brainy code scanner. ok claudio@ zhuk@
2015-09-11Make room for media types of the future. Extend the ifmedia word to 64 bits.Stefan Sperling
This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and grows struct ifmediareq. Old ifconfig and dhclient binaries can still assign addresses, however the 'media' subcommand stops working. Recompiling ifconfig and dhclient with new headers before a reboot should not be necessary unless in very special circumstances where non-default media settings must be used to get link and console access is not available. There may be some MD fallout but that will be cleared up later. ok deraadt miod with help and suggestions from several sharks attending l2k15
2015-07-15m_freem() can handle NULL, do not check for this condition beforehands.Theo de Raadt
ok stsp mpi
2015-07-14In ieee80211.h update references to standard sections to 802.11-2012.Stefan Sperling
Add missing element IDs (and remove some non-standard ones), action field categories and values, some 11n related stuff, and other small things. Use the same element ID symbolic names as FreeBSD where applicable as suggested by millert. ok mpi millert
2015-06-30Rename if_output() into if_enqueue() to avoid confusion with commentsMartin Pieuchot
talking about (*ifp->if_output)(). ok claudio@, dlg@
2015-06-24Increment if_ipackets in if_input().Martin Pieuchot
Note that pseudo-drivers not using if_input() are not affected by this conversion. ok mikeb@, kettenis@, claudio@, dlg@
2015-05-26Use if_output() instead of rerolling it.Martin Pieuchot
ok stsp@
2015-04-08add a #define for IEEE80211_ELEMID_CSA, 802.11h-2003 Channel Switch AnnouncementStuart Henderson
ok stsp@
2015-03-14Remove some includes include-what-you-use claims don'tJonathan Gray
have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
2015-02-09tweak the new if_input function so it takes an mbuf_list insteadDavid Gwynne
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@
2015-02-08Convert wirless devices to if_input(), tested with iwn(4) and urtwn(4).Martin Pieuchot
ok pelikan@, reyk@, blambert@, henning@
2015-01-27remove the second void * argument on tasks.David Gwynne
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@
2015-01-13In IBSS mode, stop calling the driver's newassoc() each time a probeStefan Sperling
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
2015-01-09Change rssi passed to ifconfig(8) to a signed value to fix printing signalStuart Henderson
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.
2014-12-23unifdef some more INET. v4 4life.Ted Unangst
2014-11-18move arc4random prototype to systm.h. more appropriate for most codeTed Unangst
to include that than rdnvar.h. ok deraadt dlg
2014-09-14remove uneeded proc.h includesJonathan Gray
ok mpi@ kspillner@
2014-09-12Remove cached 802.11 nodes in IEEE80211_STA_CACHE state (these are nodesStuart Henderson
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@
2014-08-24Fix wrong IEEE 802.11 ioctl's:Vadim Zhukov
* 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@
2014-08-08use nitems() instead of various local constructsJasper Lievisse Adriaanse
ok stsp@
2014-07-24Fix debug printf, from Nathanael Rensen and chris@.Martin Pieuchot
2014-07-22Fewer <netinet/in_systm.h> !Martin Pieuchot
2014-07-12add a size argument to free. will be used soon, but for now default to 0.Ted Unangst
after discussions with beck deraadt kettenis.
2014-07-11move ieee80211 message printing from workq to taskqBret Lambert
testing stsp@ ok stsp@, dlg@
2014-07-10Return RSN (WPA) information to userland during wireless scan, andStefan Sperling
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@
2014-03-20Do not pull <sys/tree.h> unconditionally in <net/if.h>, only the addressMartin Pieuchot
tree and the 80211 nodes need it. ok henning@, mikeb@
2014-03-19Stop abusing the rcvif pointer to pass wireless nodes down to theMartin Pieuchot
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@
2013-12-07#if 0 out the ieee80211_edca_table table to appease the LLVM warning.Brad Smith
ieee80211_output.c:311:5: error: unused variable 'ieee80211_edca_table' [-Werror,-Wunused-const-variable] ok stsp@
2013-12-01Reset txrate array index after changing a node's rate list.Stefan Sperling
Should prevent "bogus xmit rate %d setup" panics, which I ran into again in IBSS mode. ok kettenis
2013-11-21Remove unneeded include.Martin Pieuchot
ok deraadt@
2013-11-14improve maths and conditionals around ticks to cope with wraparound better.David Gwynne
2013-06-11Replace all ovbcopy with memmove; swap the src and dst arguments tooTheo de Raadt
ok otto
2013-03-24Make ieee80211_set_tim() available from outside of ieee80211_node.cClaudio Jeker
so drivers like acx(4) can use that function directly instead of reimplementing the function again. Requested by kettenis@ long time ago.
2013-01-17Create a printb() suitable string for IEEE80211_FC1 field. Needed to showClaudio Jeker
more info in tcpdump. OK giovanni@
2012-11-07Make the ieee80211_node_incref() macro a static inline function, as itsStefan Sperling
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
2012-11-07Fix DPRINTF() format string treating n->ni_refcnt, which is unsigned, as signed.Stefan Sperling
diff from dhill; ok kettenis reyk
2012-10-12Cleanup false positives for uninitialized uses.Christiano F. Haesbaert
Part of the work to remove -Wno-uninitialized. ok blambert jsg
2012-10-10Clear the powersave flag and purge queued packets when a node leaves the APMark Kettenis
(either by disassociating or by timeout). Fixes (most) remaining issues with power saving. From Nathanael Rensen. ok claudio@, krw@, sthen@
2012-10-05Point an interface directly to its bridgeport configuration, insteadCamiel Dobbelaar
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
2012-09-20Nuke M_80211_NODE #define which mapped to M_DEVBUF and use M_DEVBUF directly.Stefan Sperling
ok henning
2012-08-25Set up ni_savedq for the initial BSS node such that it can actually be usedMark Kettenis
to store multicast frames when one of the associated stations is in power saving mode. ok stsp@