#include <linux/ieee80211.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <net/mac80211.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
Go to the source code of this file.
Functions | |
void | ___ieee80211_stop_rx_ba_session (struct sta_info *sta, u16 tid, u16 initiator, u16 reason, bool tx) |
void | __ieee80211_stop_rx_ba_session (struct sta_info *sta, u16 tid, u16 initiator, u16 reason, bool tx) |
EXPORT_SYMBOL (ieee80211_stop_rx_ba_session) | |
static void | ieee80211_free_tid_rx (struct rcu_head *h) |
void | ieee80211_process_addba_request (struct ieee80211_local *local, struct sta_info *sta, struct ieee80211_mgmt *mgmt, size_t len) |
static void | ieee80211_send_addba_resp (struct ieee80211_sub_if_data *sdata, u8 *da, u16 tid, u8 dialog_token, u16 status, u16 policy, u16 buf_size, u16 timeout) |
void | ieee80211_stop_rx_ba_session (struct ieee80211_vif *vif, u16 ba_rx_bitmap, const u8 *addr) |
static void | sta_rx_agg_reorder_timer_expired (unsigned long data) |
static void | sta_rx_agg_session_timer_expired (unsigned long data) |
void ___ieee80211_stop_rx_ba_session | ( | struct sta_info * | sta, |
u16 | tid, | ||
u16 | initiator, | ||
u16 | reason, | ||
bool | tx | ||
) |
Definition at line 61 of file kernel-3.5/agg-rx.c.
void __ieee80211_stop_rx_ba_session | ( | struct sta_info * | sta, |
u16 | tid, | ||
u16 | initiator, | ||
u16 | reason, | ||
bool | tx | ||
) |
Definition at line 100 of file kernel-3.5/agg-rx.c.
static void ieee80211_free_tid_rx | ( | struct rcu_head * | h | ) | [static] |
DOC: RX A-MPDU aggregation
Aggregation on the RX side requires only implementing the callback that is invoked to start/stop any block-ack sessions for RX aggregation.
When RX aggregation is started by the peer, the driver is notified via function, with the IEEE80211_AMPDU_RX_START action, and may reject the request in which case a negative response is sent to the peer, if it accepts it a positive response is sent.
While the session is active, the device/driver are required to de-aggregate frames and pass them up one by one to mac80211, which will handle the reorder buffer.
When the aggregation session is stopped again by the peer or ourselves, the driver's function will be called with the action IEEE80211_AMPDU_RX_STOP. In this case, the call must not fail.
Definition at line 46 of file kernel-3.5/agg-rx.c.
void ieee80211_process_addba_request | ( | struct ieee80211_local * | local, |
struct sta_info * | sta, | ||
struct ieee80211_mgmt * | mgmt, | ||
size_t | len | ||
) |
Definition at line 228 of file kernel-3.5/agg-rx.c.
static void ieee80211_send_addba_resp | ( | struct ieee80211_sub_if_data * | sdata, |
u8 * | da, | ||
u16 | tid, | ||
u8 | dialog_token, | ||
u16 | status, | ||
u16 | policy, | ||
u16 | buf_size, | ||
u16 | timeout | ||
) | [static] |
Definition at line 182 of file kernel-3.5/agg-rx.c.
void ieee80211_stop_rx_ba_session | ( | struct ieee80211_vif * | vif, |
u16 | ba_rx_bitmap, | ||
const u8 * | addr | ||
) |
Definition at line 108 of file kernel-3.5/agg-rx.c.
static void sta_rx_agg_reorder_timer_expired | ( | unsigned long | data | ) | [static] |
Definition at line 170 of file kernel-3.5/agg-rx.c.
static void sta_rx_agg_session_timer_expired | ( | unsigned long | data | ) | [static] |
Definition at line 135 of file kernel-3.5/agg-rx.c.