Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
agg-tx.c File Reference
#include <linux/ieee80211.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <net/mac80211.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
#include "wme.h"

Go to the source code of this file.

Functions

void ieee80211_send_bar (struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn)
 
 EXPORT_SYMBOL (ieee80211_send_bar)
 
void ieee80211_assign_tid_tx (struct sta_info *sta, int tid, struct tid_ampdu_tx *tid_tx)
 
int ___ieee80211_stop_tx_ba_session (struct sta_info *sta, u16 tid, enum ieee80211_back_parties initiator, bool tx)
 
void ieee80211_tx_ba_session_handle_start (struct sta_info *sta, int tid)
 
int ieee80211_start_tx_ba_session (struct ieee80211_sta *pubsta, u16 tid, u16 timeout)
 
 EXPORT_SYMBOL (ieee80211_start_tx_ba_session)
 
void ieee80211_start_tx_ba_cb (struct ieee80211_vif *vif, u8 *ra, u16 tid)
 
void ieee80211_start_tx_ba_cb_irqsafe (struct ieee80211_vif *vif, const u8 *ra, u16 tid)
 
 EXPORT_SYMBOL (ieee80211_start_tx_ba_cb_irqsafe)
 
int __ieee80211_stop_tx_ba_session (struct sta_info *sta, u16 tid, enum ieee80211_back_parties initiator, bool tx)
 
int ieee80211_stop_tx_ba_session (struct ieee80211_sta *pubsta, u16 tid)
 
 EXPORT_SYMBOL (ieee80211_stop_tx_ba_session)
 
void ieee80211_stop_tx_ba_cb (struct ieee80211_vif *vif, u8 *ra, u8 tid)
 
void ieee80211_stop_tx_ba_cb_irqsafe (struct ieee80211_vif *vif, const u8 *ra, u16 tid)
 
 EXPORT_SYMBOL (ieee80211_stop_tx_ba_cb_irqsafe)
 
void ieee80211_process_addba_resp (struct ieee80211_local *local, struct sta_info *sta, struct ieee80211_mgmt *mgmt, size_t len)
 

Function Documentation

int ___ieee80211_stop_tx_ba_session ( struct sta_info sta,
u16  tid,
enum ieee80211_back_parties  initiator,
bool  tx 
)

Definition at line 152 of file agg-tx.c.

int __ieee80211_stop_tx_ba_session ( struct sta_info sta,
u16  tid,
enum ieee80211_back_parties  initiator,
bool  tx 
)

Definition at line 662 of file agg-tx.c.

EXPORT_SYMBOL ( ieee80211_send_bar  )
EXPORT_SYMBOL ( ieee80211_start_tx_ba_session  )
EXPORT_SYMBOL ( ieee80211_start_tx_ba_cb_irqsafe  )
EXPORT_SYMBOL ( ieee80211_stop_tx_ba_session  )
EXPORT_SYMBOL ( ieee80211_stop_tx_ba_cb_irqsafe  )
void ieee80211_assign_tid_tx ( struct sta_info sta,
int  tid,
struct tid_ampdu_tx tid_tx 
)

Definition at line 144 of file agg-tx.c.

void ieee80211_process_addba_resp ( struct ieee80211_local local,
struct sta_info sta,
struct ieee80211_mgmt mgmt,
size_t  len 
)

Definition at line 802 of file agg-tx.c.

void ieee80211_send_bar ( struct ieee80211_vif vif,
u8 ra,
u16  tid,
u16  ssn 
)

ieee80211_send_bar - send a BlockAckReq frame

can be used to flush pending frames from the peer's aggregation reorder buffer.

: &struct ieee80211_vif pointer from the add_interface callback. : the peer's destination address : the TID of the aggregation session : the new starting sequence number for the receiver

Definition at line 113 of file agg-tx.c.

void ieee80211_start_tx_ba_cb ( struct ieee80211_vif vif,
u8 ra,
u16  tid 
)

Definition at line 599 of file agg-tx.c.

void ieee80211_start_tx_ba_cb_irqsafe ( struct ieee80211_vif vif,
const u8 ra,
u16  tid 
)

ieee80211_start_tx_ba_cb_irqsafe - low level driver ready to aggregate. : &struct ieee80211_vif pointer from the add_interface callback : receiver address of the BA session recipient. : the TID to BA on.

This function must be called by low level driver once it has finished with preparations for the BA session. It can be called from any context.

Definition at line 641 of file agg-tx.c.

int ieee80211_start_tx_ba_session ( struct ieee80211_sta sta,
u16  tid,
u16  timeout 
)

ieee80211_start_tx_ba_session - Start a tx Block Ack session. : the station for which to start a BA session : the TID to BA on. : session timeout value (in TUs)

Return: success if addBA request was sent, failure otherwise

Although mac80211/low level driver/user space application can estimate the need to start aggregation on a certain RA/TID, the session level will be managed by the mac80211.

Definition at line 437 of file agg-tx.c.

void ieee80211_stop_tx_ba_cb ( struct ieee80211_vif vif,
u8 ra,
u8  tid 
)

Definition at line 716 of file agg-tx.c.

void ieee80211_stop_tx_ba_cb_irqsafe ( struct ieee80211_vif vif,
const u8 ra,
u16  tid 
)

ieee80211_stop_tx_ba_cb_irqsafe - low level driver ready to stop aggregate. : &struct ieee80211_vif pointer from the add_interface callback : receiver address of the BA session recipient. : the desired TID to BA on.

This function must be called by low level driver once it has finished with preparations for the BA session tear down. It can be called from any context.

Definition at line 780 of file agg-tx.c.

int ieee80211_stop_tx_ba_session ( struct ieee80211_sta sta,
u16  tid 
)

ieee80211_stop_tx_ba_session - Stop a Block Ack session. : the station whose BA session to stop : the TID to stop BA.

Return: negative error if the TID is invalid, or no aggregation active

Although mac80211/low level driver/user space application can estimate the need to stop aggregation on a certain RA/TID, the session level will be managed by the mac80211.

Definition at line 677 of file agg-tx.c.

void ieee80211_tx_ba_session_handle_start ( struct sta_info sta,
int  tid 
)

Definition at line 341 of file agg-tx.c.