Functions and structures used by the UMAC ME BAM (Block ACK Manager) module. More...
#include "bam.h"#include "bam_task.h"#include "mac_frame.h"#include "me_mgmtframe.h"#include "mm_task.h"#include "ke_timer.h"#include "sta_mgmt.h"#include "vif_mgmt.h"#include "txu_cntrl.h"#include "txl_cfm.h"#include "ps.h"#include "mfp.h"#include "tpc.h"Go to the source code of this file.
Functions | |
| static uint16_t | bam_time_get (void) |
| Read and returns the current BAM time (used for lifetime expiry computation). | |
| static bool | bam_time_cmp (uint16_t time1, uint16_t time2) |
| Compare BAM timer absolute expiration time. | |
| static bool | bam_time_past (uint32_t time) |
| Check if a BAM time is in the past or not. | |
| static unsigned int | bam_baw_index_compute (struct bam_baw *baw, unsigned int offset) |
| Compute the index of a BaW element from its offset. | |
| static unsigned int | bam_baw_index_compute_opt (struct bam_baw *baw, unsigned int offset) |
| Compute the index of a BaW element from its offset. | |
| static int8_t | bam_move_baw (struct bam_baw *baw) |
| Move the BaW to the next unconfirmed packet. | |
| static void | bam_set_baw_state (struct bam_baw *baw, uint16_t sn, uint8_t state) |
| Set the state of a sequence number in the given BaW. | |
| static int8_t | bam_check_tx_baw (struct txdesc *txdesc, uint8_t bam_idx, bool success) |
| Check and update the state of the BaW after transmission of a frame This function verifies if the frame should be retried or not. | |
| static uint8_t | bam_create_ba_agg (uint8_t sta_idx, uint8_t tid, uint16_t ssn) |
| Initiate the creation of a TX BlockAck agreement. | |
| void | bam_init (void) |
| Initialize the BAM context. | |
| void | bam_param_sta_info_tab_reset (uint16_t bam_idx) |
| Reset the BA parameters in the station info table. | |
| uint16_t | bam_alloc_new_task (bool tx) |
| Allocate the BAM task. | |
| void | bam_delete_ba_agg (uint8_t bam_idx) |
| Delete a provided BlockAck agreement. | |
| void | bam_delete_all_ba_agg (uint8_t sta_idx) |
| Delete all Block Ack agreements linked to the specified staid. | |
| void | bam_start_inactivity_timer (uint16_t bam_task_idx) |
| start the BAM_INACTIVITY_TIMEOUT_IND timer | |
| void | bam_send_mm_ba_add_req (uint16_t sta_idx, uint16_t bam_idx) |
| Send MM_BAADD_REQ to LMAC. | |
| void | bam_send_mm_ba_del_req (uint16_t sta_idx, uint16_t bam_idx) |
| Send Send MM_BADEL_REQ to LMAC. | |
| void | bam_send_air_action_frame (uint8_t sta_idx, struct bam_env_tag *bam_env, uint8_t action, uint8_t dialog_token, uint16_t param, uint16_t status_code, void(*cfm_func)(void *, uint32_t)) |
| Send BA action frame to peer. | |
| void | bam_check_ba_agg (struct txdesc *txdesc) |
| Check if a BlockAck agreement is currently active for the RA/TID for which the packet is sent. | |
| int8_t | bam_tx_cfm (struct txdesc *txdesc, bool success) |
| Handles status of a transmission under BA. | |
| void | bam_baw_init (struct bam_env_tag *bam_env) |
| Initialize the transmission window structure. | |
| int8_t | bam_flush_baw (struct bam_baw *baw) |
| Flush the transmission window. | |
| void | bam_rx_active (uint8_t sta_idx, uint8_t tid) |
| Reset the last activity time of a BlockAck agreement. | |
| void | bam_send_del_ba_agg (uint8_t sta_idx, uint8_t tid) |
| Send DELBA action frame to delete a BA agreement active only on the peer. | |
Variables | |
| static struct bam_baw | bam_baws [5] |
| BaW array. | |
| struct bam_env_tag | bam_env [BAM_IDX_MAX] |
| BAM module environment definition. | |
Functions and structures used by the UMAC ME BAM (Block ACK Manager) module.
Copyright (C) RivieraWaves 2011-2019
Definition in file bam.c.
1.6.1