MT7916 BA流程

Originator BA会话建立流程

ba_ori_session_start

└─ ba_ori_session_setup

└─ ba_resrc_ori_prep

├─ ba_alloc_ori_entry

└─ RTMPSetTimer (→ ba_ori_session_setup_timeout)

ba_ori_session_setup_timeout (定时器回调)

└─ MlmeEnqueueWithWdev → 发送ADDBA请求

收到ADDBA响应后:

peer_addba_rsp_action

└─ ba_resrc_ori_add

├─ RTMP_ADD_BA_SESSION_TO_ASIC

└─ RTMPSetTimer (可选)

Recipient BA会话建立流程

peer_addba_req_action

├─ cal_rec_ba_wsize

├─ ba_resrc_rec_add

│ ├─ ba_alloc_rec_entry

│ ├─ ba_refresh_reordering_mpdus (清空已有队列)

│ └─ RTMP_ADD_BA_SESSION_TO_ASIC

└─ mlme_send_addba_resp (发送ADDBA响应)

接收数据重排序流程

ba_reorder

├─ amsdu_sanity (检查AMSDU连续性)

├─ ba_flush_reordering_timeout_mpdus (超时刷新)

├─ 根据序列号判断:

│ ├─ SEQ_STEPONE → indicate_rx_pkt (直接上交)

│ ├─ 重复或旧包 → RELEASE_NDIS_PACKET (丢弃)

│ ├─ 窗口内乱序 → ba_enqueue_reordering_packet

│ └─ 超过窗口 → ba_indicate... + goto ba_reorder_check

└─ 更新状态

ba_enqueue_reordering_packet

├─ ba_mpdu_blk_alloc

├─ convert_reordering_packet_to_preAMSDU_or_802_3_packet

└─ ba_reordering_mpdu_insertsorted

ba_indicate_reordering_mpdus_in_order

└─ announce_ba_reorder_pkt → 上交上层

BA会话拆除

ba_ori_session_tear_down

└─ ba_resrc_ori_del

├─ RTMP_DEL_BA_SESSION_FROM_ASIC

└─ ba_free_ori_entry

ba_rec_session_tear_down

└─ ba_resrc_rec_del

├─ RTMP_DEL_BA_SESSION_FROM_ASIC

├─ ba_free_rec_entry

└─ ba_refresh_reordering_mpdus (清空队列)

peer_delba_action

├─ (Initiator=ORIGINATOR) → ba_rec_session_tear_down

└─ (Initiator=RECIPIENT) → ba_ori_session_tear_down

相关推荐
上海安当技术14 小时前
固件签名与Secure Boot:安当CAS如何构建汽车固件信任链
网络·汽车·信任链·boot·secure·固件签名·安当cas
上海安当技术14 小时前
诊断接入认证:安当CAS如何堵住汽车网络安全的物理后门
网络·web安全·汽车·access·secure·安当cas·诊断接入认证
ze^014 小时前
【软考信息安全】第2章 网络攻击原理与常用方法
网络·web安全·网络安全
这个DBA有点耶15 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
arbboter15 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
消失的旧时光-194317 小时前
第一篇:Ktor Client 到底是什么?从 Retrofit 迁移理解 Ktor 网络请求架构
网络·架构·retrofit·ktor·dsl
数据知道17 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
江畔柳前堤18 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php
LabVIEW开发18 小时前
LabVIEW 通过以太网控制 Yokogawa WT3000 功率分析仪:tmctl.dll 与原始套接字方案
网络·labview·labview知识·labview功能·labview程序
xiaoxiangsiyan19 小时前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns