#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/skbuff.h>
#include <linux/etherdevice.h>
#include <linux/bitmap.h>
#include <linux/rcupdate.h>
#include <linux/export.h>
#include <net/net_namespace.h>
#include <net/ieee80211_radiotap.h>
#include <net/cfg80211.h>
#include <net/mac80211.h>
#include <asm/unaligned.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
#include "led.h"
#include "mesh.h"
#include "wep.h"
#include "wpa.h"
#include "wme.h"
#include "rate.h"
Go to the source code of this file.
#define CALL_TXH | ( | txh | ) |
do { \ res = txh(tx); \ if (res != TX_CONTINUE) \ goto txh_done; \ } while (0)
static bool __ieee80211_tx | ( | struct ieee80211_local * | local, |
struct sk_buff_head * | skbs, | ||
int | led_len, | ||
struct sta_info * | sta, | ||
bool | txpending | ||
) | [static] |
Definition at line 1264 of file kernel-3.5/tx.c.
static void ieee80211_beacon_add_tim | ( | struct ieee80211_sub_if_data * | sdata, |
struct ieee80211_if_ap * | bss, | ||
struct sk_buff * | skb, | ||
struct beacon_data * | beacon | ||
) | [static] |
Definition at line 2238 of file kernel-3.5/tx.c.
struct sk_buff* ieee80211_beacon_get_tim | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif, | ||
u16 * | tim_offset, | ||
u16 * | tim_length | ||
) | [read] |
Definition at line 2303 of file kernel-3.5/tx.c.
void ieee80211_clear_tx_pending | ( | struct ieee80211_local * | local | ) |
Definition at line 2146 of file kernel-3.5/tx.c.
void ieee80211_ctstoself_get | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif, | ||
const void * | frame, | ||
size_t | frame_len, | ||
const struct ieee80211_tx_info * | frame_txctl, | ||
struct ieee80211_cts * | cts | ||
) |
Definition at line 2658 of file kernel-3.5/tx.c.
static __le16 ieee80211_duration | ( | struct ieee80211_tx_data * | tx, |
struct sk_buff * | skb, | ||
int | group_addr, | ||
int | next_frag_len | ||
) | [static] |
Definition at line 39 of file kernel-3.5/tx.c.
static int ieee80211_fragment | ( | struct ieee80211_tx_data * | tx, |
struct sk_buff * | skb, | ||
int | hdrlen, | ||
int | frag_threshold | ||
) | [static] |
Definition at line 854 of file kernel-3.5/tx.c.
struct sk_buff* ieee80211_get_buffered_bc | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif | ||
) | [read] |
Definition at line 2674 of file kernel-3.5/tx.c.
netdev_tx_t ieee80211_monitor_start_xmit | ( | struct sk_buff * | skb, |
struct net_device * | dev | ||
) |
Definition at line 1586 of file kernel-3.5/tx.c.
struct sk_buff* ieee80211_nullfunc_get | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif | ||
) | [read] |
Definition at line 2559 of file kernel-3.5/tx.c.
static bool ieee80211_parse_tx_radiotap | ( | struct sk_buff * | skb | ) | [static] |
Definition at line 1503 of file kernel-3.5/tx.c.
struct sk_buff* ieee80211_probereq_get | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif, | ||
const u8 * | ssid, | ||
size_t | ssid_len, | ||
const u8 * | ie, | ||
size_t | ie_len | ||
) | [read] |
Definition at line 2595 of file kernel-3.5/tx.c.
struct sk_buff* ieee80211_proberesp_get | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif | ||
) | [read] |
Definition at line 2490 of file kernel-3.5/tx.c.
struct sk_buff* ieee80211_pspoll_get | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif | ||
) | [read] |
Definition at line 2521 of file kernel-3.5/tx.c.
void ieee80211_rts_get | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif, | ||
const void * | frame, | ||
size_t | frame_len, | ||
const struct ieee80211_tx_info * | frame_txctl, | ||
struct ieee80211_rts * | rts | ||
) |
Definition at line 2642 of file kernel-3.5/tx.c.
static int ieee80211_skb_resize | ( | struct ieee80211_sub_if_data * | sdata, |
struct sk_buff * | skb, | ||
int | head_need, | ||
bool | may_encrypt | ||
) | [static] |
Definition at line 1433 of file kernel-3.5/tx.c.
netdev_tx_t ieee80211_subif_start_xmit | ( | struct sk_buff * | skb, |
struct net_device * | dev | ||
) |
ieee80211_subif_start_xmit - netif start_xmit function for Ethernet-type subinterfaces (wlan#, WDS, and VLAN interfaces) : packet to be sent : incoming interface
Returns: 0 on success (and frees skb in this case) or 1 on failure (skb will not be freed, and caller is responsible for either retrying later or freeing skb).
This function takes in an Ethernet header and encapsulates it with suitable IEEE 802.11 header based on which interface the packet is coming in. The encapsulated packet will then be passed to master interface, wlan#.11, for transmission (through low-level driver).
Definition at line 1729 of file kernel-3.5/tx.c.
static bool ieee80211_tx | ( | struct ieee80211_sub_if_data * | sdata, |
struct sk_buff * | skb, | ||
bool | txpending | ||
) | [static] |
Definition at line 1386 of file kernel-3.5/tx.c.
static bool ieee80211_tx_frags | ( | struct ieee80211_local * | local, |
struct ieee80211_vif * | vif, | ||
struct ieee80211_sta * | sta, | ||
struct sk_buff_head * | skbs, | ||
bool | txpending | ||
) | [static] |
Definition at line 1210 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_calculate_duration | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 1032 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_check_assoc | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 257 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_check_control_port_protocol | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 527 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_dynamic_ps | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 186 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_encrypt | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 1009 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_fragment | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 914 of file kernel-3.5/tx.c.
static ieee80211_tx_result ieee80211_tx_h_multicast_ps_buf | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 377 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_ps_buf | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 515 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_rate_ctrl | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 612 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_select_key | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 539 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_sequence | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 793 of file kernel-3.5/tx.c.
static ieee80211_tx_result debug_noinline ieee80211_tx_h_stats | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 992 of file kernel-3.5/tx.c.
static ieee80211_tx_result ieee80211_tx_h_unicast_ps_buf | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 445 of file kernel-3.5/tx.c.
void ieee80211_tx_pending | ( | unsigned long | data | ) |
Definition at line 2190 of file kernel-3.5/tx.c.
static bool ieee80211_tx_pending_skb | ( | struct ieee80211_local * | local, |
struct sk_buff * | skb | ||
) | [static] |
Definition at line 2159 of file kernel-3.5/tx.c.
static bool ieee80211_tx_prep_agg | ( | struct ieee80211_tx_data * | tx, |
struct sk_buff * | skb, | ||
struct ieee80211_tx_info * | info, | ||
struct tid_ampdu_tx * | tid_tx, | ||
int | tid | ||
) | [static] |
Definition at line 1059 of file kernel-3.5/tx.c.
static ieee80211_tx_result ieee80211_tx_prepare | ( | struct ieee80211_sub_if_data * | sdata, |
struct ieee80211_tx_data * | tx, | ||
struct sk_buff * | skb | ||
) | [static] |
Definition at line 1129 of file kernel-3.5/tx.c.
void ieee80211_tx_skb_tid | ( | struct ieee80211_sub_if_data * | sdata, |
struct sk_buff * | skb, | ||
int | tid | ||
) |
Definition at line 2733 of file kernel-3.5/tx.c.
static int ieee80211_use_mfp | ( | __le16 | fc, |
struct sta_info * | sta, | ||
struct sk_buff * | skb | ||
) | [static] |
Definition at line 428 of file kernel-3.5/tx.c.
void ieee80211_xmit | ( | struct ieee80211_sub_if_data * | sdata, |
struct sk_buff * | skb | ||
) |
Definition at line 1462 of file kernel-3.5/tx.c.
static int invoke_tx_handlers | ( | struct ieee80211_tx_data * | tx | ) | [static] |
Definition at line 1331 of file kernel-3.5/tx.c.
static int is_ieee80211_device | ( | struct ieee80211_local * | local, |
struct net_device * | dev | ||
) | [inline, static] |
Definition at line 178 of file kernel-3.5/tx.c.
static void purge_old_ps_buffers | ( | struct ieee80211_local * | local | ) | [static] |
Definition at line 324 of file kernel-3.5/tx.c.