# /space/home/slher/rel/Beken/v6_4_5/macsw/ip/umac/src/txu/txu_cntrl.c File Reference

UMAC TX Path implementation. More...

`#include "txl_cfm.h"`
`#include "txu_cntrl.h"`
`#include "ke_task.h"`
`#include "mac.h"`
`#include "mac_frame.h"`
`#include "sta_mgmt.h"`
`#include "llc.h"`
`#include "co_utils.h"`
`#include "co_endian.h"`
`#include "vif_mgmt.h"`
`#include "me_utils.h"`
`#include "bam.h"`
`#include "mm.h"`
`#include "tpc.h"`
`#include "mfp.h"`
`#include "mesh.h"`
`#include "mesh_hwmp.h"`
`#include "mesh_ps.h"`

Go to the source code of this file.

## Functions
static bool | txu_cntrl_logic_port_filter (uint8_t sta_idx, uint16_t eth_type, uint16_t *flags)
| Perform the logical port filtering based on the STA index and the EtherType of the frame.
static int | txu_cntrl_sechdr_len_compute (struct txdesc *txdesc, int *tail_len)
| Compute the security header and trailer lengths depending on the type of security to be used.
static void | txu_cntrl_umacdesc_prep (struct txdesc *txdesc)
| Compute the size of the different headers and trailers of the frame.
static void | txu_cntrl_umacdesc_mgmt_prep (struct txdesc *txdesc, struct vif_info_tag *vif)
| Compute the header and trailer lengths for a management frame to be transmitted.
static uint32_t | txu_cntrl_mac_hdr_append (struct txdesc *txdesc, uint32_t buf)
| Append the MAC Header to the frame.
static uint32_t | txu_cntrl_sec_hdr_append (struct txdesc *txdesc, uint32_t buf, bool umac_pol)
| Append the Security Header and Trailer to the frame.
static uint32_t | txu_cntrl_llc_hdr_append (struct txdesc *txdesc, uint32_t buf)
| Append the LLC/SNAP to the frame if required.
static uint32_t | txu_cntrl_amsdu_hdr_append (struct txdesc *txdesc, uint32_t buf)
| Append the A-MSDU header to the frame if required.
static void | txu_cntrl_check_rate (struct txdesc *txdesc)
| Call the RC to check if is time to update the policy table.
static void | txu_cntrl_discard (struct txdesc *txdesc, uint8_t access_category, uint32_t status)
| Discard a packet that cannot be transmitted.
void | txu_cntrl_frame_build (struct txdesc *txdesc, uint32_t buf)
| Function called by the LMAC once the data buffer has been allocated.
bool | txu_cntrl_push (struct txdesc *txdesc, uint8_t access_category)
| This is the entry point in UMAC TX path for sending host and send back data frames.
void | txu_cntrl_tkip_mic_append (struct txdesc *txdesc, uint8_t ac)
| Function called by the LMAC once the data buffer has been downloaded.
void | txu_cntrl_cfm (struct txdesc *txdesc)
| NX_FULLY_HOSTED.
void | txu_cntrl_protect_mgmt_frame (struct txdesc *txdesc, struct mac_hdr *mac_hdr, uint16_t hdr_len)
| This function Add security header to a management frame.

## Detailed Description

UMAC TX Path implementation.

Copyright (C) RivieraWaves 2011-2019

Definition in file txu_cntrl.c.