diff options
author | 2009-01-26 19:09:41 +0000 | |
---|---|---|
committer | 2009-01-26 19:09:41 +0000 | |
commit | 45eec175a5a407d07653d330d85463d236774096 (patch) | |
tree | 8628a934c08db2c704266fe8d363113b0955f1f3 /sys/dev/pci/if_ipw.c | |
parent | Again use P to mark multipath routes in route output. OK henning@ (diff) | |
download | wireguard-openbsd-45eec175a5a407d07653d330d85463d236774096.tar.xz wireguard-openbsd-45eec175a5a407d07653d330d85463d236774096.zip |
Add some initial HT bits (not enabled yet) based on 802.11n Draft 7.01:
- implement A-MPDU frames buffering and reordering
- implement A-MSDU decapsulation
- process/send ADDBA Request, ADDBA Response and DELBA action frames
- process Block Ack Request control frames (including MTBAR)
- implement PBAC support (Protected Block Ack)
- add some incomplete HT Capabilities and HT Operation IEs parsing
Add more Management Frame Protection bits based on 802.11w Draft 7.0:
- implement SA Query procedure (both AP and STA)
- cleanup BIP
Fix some bugs:
- fix check for WEP key length that otherwise caused a stack smash in
ieee80211_wep_encrypt (pointed out by Xavier Santolaria on macppc)
- properly stop EAPOL timeout: fixes a panic that occured in HostAP mode
when turning the interface down while a 4-way handshake is in progress
(pointed out by Doughertys)
Did some code cleanup too.
The HT bits are currently not compiled in (IEEE80211_NO_HT is defined)
because they won't be ready until after the next release and I didn't
want to grow the kernel or to inadvertently introduce new bugs.
They are here such that other people can look at the code.
Notice that I had to add an extra parameter to ic_send_mgmt() for
action frames, that is why there are small changes in drivers defining
their own ic_send_mgmt() handler.
Sorry for the not very incremental diff but this has been sitting in
my tree for too long now.
Diffstat (limited to 'sys/dev/pci/if_ipw.c')
-rw-r--r-- | sys/dev/pci/if_ipw.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/pci/if_ipw.c b/sys/dev/pci/if_ipw.c index 402052accd6..3ae57311243 100644 --- a/sys/dev/pci/if_ipw.c +++ b/sys/dev/pci/if_ipw.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ipw.c,v 1.83 2008/12/22 18:20:47 damien Exp $ */ +/* $OpenBSD: if_ipw.c,v 1.84 2009/01/26 19:09:41 damien Exp $ */ /*- * Copyright (c) 2004-2008 @@ -84,7 +84,7 @@ void ipw_tx_intr(struct ipw_softc *); int ipw_intr(void *); int ipw_cmd(struct ipw_softc *, uint32_t, void *, uint32_t); int ipw_send_mgmt(struct ieee80211com *, struct ieee80211_node *, - int, int); + int, int, int); int ipw_tx_start(struct ifnet *, struct mbuf *, struct ieee80211_node *); void ipw_start(struct ifnet *); @@ -1115,7 +1115,7 @@ ipw_cmd(struct ipw_softc *sc, uint32_t type, void *data, uint32_t len) /* ARGSUSED */ int ipw_send_mgmt(struct ieee80211com *ic, struct ieee80211_node *ni, int type, - int arg) + int arg1, int arg2) { return EOPNOTSUPP; } |