/space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/tx/txl/txl_frame.c File Reference

Management of internal frame generation. More...

#include <stddef.h>
#include "txl_cntrl.h"
#include "txl_frame.h"
#include "ke_event.h"
#include "mac_frame.h"
#include "dbg.h"
#include "txl_buffer.h"
#include "co_utils.h"
#include "reg_mac_core.h"
#include "vif_mgmt.h"
#include "phy.h"
#include "tpc.h"
#include "tdls.h"

Go to the source code of this file.

Functions

void txl_frame_init_desc (struct txl_frame_desc_tag *frame, struct txl_buffer_tag *buffer, struct tx_hw_desc *hwdesc, struct txl_buffer_control *bufctrl)
 Basic initializations of an external TX frame descriptor (e.g such as a beacon descriptor when autonomous beacon transmission is used).
void txl_frame_init (bool reset)
 Initializes the TX frame module environment.
struct txl_frame_desc_tagtxl_frame_get (int type, int len)
 Get and initialize a TX frame descriptor.
void txl_frame_prepare (struct txl_frame_desc_tag *frame, int type, int len)
 Prepare TX frame descriptor prior to transmission.
bool txl_frame_push (struct txl_frame_desc_tag *frame, uint8_t ac)
 Push a TX frame descriptor.
void txl_frame_cfm (struct txdesc *txdesc)
 Push a TX descriptor in the TX frame confirmation queue This function is called under interrupt by the TX control module once the frame has been transmitted.
void txl_frame_release (struct txdesc *txdesc, bool postponed)
 Release a descriptor allocated for a packet that has not been sent.
void txl_frame_evt (int dummy)
 Background event handler of the Tx frame module.
uint8_t txl_frame_send_null_frame (uint8_t sta_idx, cfm_func_ptr cfm, void *env)
 Builds a NULL frame with RA address pointing to the STA passed as parameter.
uint8_t txl_frame_send_qosnull_frame (uint8_t sta_idx, uint16_t qos, cfm_func_ptr cfm, void *env)
 Builds a QoS NULL frame with RA address pointing to the STA passed as parameter.
static void txl_frame_tdls_add_security_header (struct txl_frame_desc_tag *frame, struct mac_hdr_qos *buf, struct key_info_tag *key)
 Add security header in a TDLS frame.
uint8_t txl_frame_send_tdls_channel_switch_req_frame (struct tdls_chan_switch_req const *param, cfm_func_ptr cfm)
 Builds a TDLS Channel Switch Request frame.
uint8_t txl_frame_send_tdls_channel_switch_rsp_frame (struct vif_info_tag *vif, uint16_t status_code, cfm_func_ptr cfm)
 Builds a TDLS Channel Switch Response frame.
uint8_t txl_frame_send_tdls_peer_traffic_ind_frame (struct tdls_peer_traffic_ind_req const *param, cfm_func_ptr cfm)
 Builds a TDLS Peer Traffic Indication frame.

Variables

static struct txl_frame_desc_tag txl_frame_desc [NX_TXFRAME_CNT]
 Pool of TX frame descriptors.
struct txl_frame_env_tag txl_frame_env
 TX frame environment variables.

Detailed Description

Management of internal frame generation.

Copyright (C) RivieraWaves 2011-2019

Definition in file txl_frame.c.


Function Documentation

static void txl_frame_tdls_add_security_header ( struct txl_frame_desc_tag frame,
struct mac_hdr_qos buf,
struct key_info_tag key 
) [static]

Add security header in a TDLS frame.

Parameters:
[in] frame Pointer to the frame to update
[in] buf Pointer to the MAC header in the frame
[in] key Pointer to the key to use

Definition at line 575 of file txl_frame.c.

References mac_hdr_qos::fctl, key_info_tag::hw_key_idx, key_info_tag::key_idx, KEYSRAM_INDEX_RA_MASK, MAC_FCTRL_PROTECTEDFRAME, tx_policy_tbl::maccntrlinfo1, txl_buffer_control::policy_tbl, mac_hdr_qos::qos, key_info_tag::tx_pn, txl_frame_desc_tag::txdesc, and txl_buffer_control_get().

Referenced by txl_frame_send_tdls_channel_switch_req_frame(), txl_frame_send_tdls_channel_switch_rsp_frame(), and txl_frame_send_tdls_peer_traffic_ind_frame().


Generated on 14 Jan 2020 for Ceva-RW WLAN FullMAC SW documentation by  doxygen 1.6.1