WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
oam_struct.h
浏览该文件的文档.
1 /*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: OAM struct define
4 */
5
6#ifndef __OAM_STRUCT_H__
7#define __OAM_STRUCT_H__
8
9#include "wlan_types_common.h"
10#include "wlan_spec.h"
11#include "common_dft.h"
12
13/* 统计相关宏 */
14#define OAM_MAC_ERROR_TYPE_CNT 25
15#define OAM_RX_DSCR_QUEUE_CNT 2
16#define OAM_IRQ_FREQ_STAT_MEMORY 50
17
18#define OAM_TID_TRACK_NUM 4
19
20/* 每一个事件队列中事件个数最大值 */
21#define OAM_MAX_EVENT_NUM_IN_EVENT_QUEUE 8
22
23/* 日志结构体相关宏,用于oam_log_info_stru */
24#define OAM_FUNC_NAME_MAX_LEN 48 /* 函数名的最大长度 */
25#define OAM_LOG_INFO_MAX_LEN 100 /* 日志信息最大长度 */
26#define OAM_LOG_INFO_IN_MEM_MAX_NUM 5000 /* oam模块最多保存5000条log信息,超过以后从头自动覆盖 */
27
28/* 消息上报给SDT封装的结构体 */
29/* EVENT消息体最大长度 */
30#define OAM_EVENT_INFO_MAX_LEN 48
31
32/* VAP级别统计信息结构 */
33typedef struct {
34 /* **************************************************************************
35 接收包统计
36 ************************************************************************** */
37
38 /* 发往lan的数据包统计 */
39 osal_u32 rx_pkt_to_lan; /* 接收流程发往以太网的数据包数目,MSDU */
40 osal_u32 rx_bytes_to_lan; /* 接收流程发往以太网的字节数 */
41
42 /* MPDU级别进行处理时发生错误释放MPDU个数统计 */
43 osal_u32 rx_da_check_dropped; /* 检查目的端地址异常,释放一个MPDU */
44 osal_u32 rx_no_buff_dropped; /* 组播帧或者wlan_to_wlan流程申请buff失败 */
45 osal_u32 rx_defrag_process_dropped; /* 去分片处理失败 */
46
47 /* 接收到组播帧个数 */
49
50 /* **************************************************************************
51 发送包统计
52 ************************************************************************** */
53
54 /* 从lan接收到的数据包统计 */
55 osal_u32 tx_pkt_num_from_lan; /* 从lan过来的包数目,MSDU */
56 osal_u32 tx_bytes_from_lan; /* 从lan过来的字节数 */
57
58 /* 发送流程发生异常导致释放的数据包统计,MSDU级别 */
59 osal_u32 tx_abnormal_msdu_dropped; /* 异常情况释放MSDU个数,指vap或者user为空等异常 */
60 osal_u32 tx_security_check_faild; /* 安全检查失败释放MSDU */
61
62 /* 组播转单播发送流程统计 */
63 osal_u32 tx_m2u_mcast_cnt; /* 组播转单播 组播发送成功个数 */
65
66#if defined(_PRE_OS_VERSION_LINUX) && defined(_PRE_OS_VERSION) && (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION)
67/* USER级别统计信息结构 */
68typedef struct {
69 /* 接收包统计,从某个用户处接收到的包统计(TO DS) */
70 osal_u32 rx_mpdu_num; /* 从某个用户接收到的MPDU数目 */
71 osal_u32 rx_mpdu_bytes; /* 某个用户接收到的MPDU字节数 */
72
73 /* 发送包统计,发送给某个用户的包统计(FROM DS),粒度是TID(具体到从VAP的某个TID发出) */
74 osal_u32 tx_mpdu_succ_num[WLAN_TIDNO_BUTT]; /* 发送MPDU总个数 */
75 osal_u32 tx_mpdu_bytes[WLAN_TIDNO_BUTT]; /* 发送MPDU总字节数 */
76 osal_u32 tx_mpdu_fail_num[WLAN_TIDNO_BUTT]; /* 发送MPDU失败个数 */
77 osal_u32 tx_ampdu_bytes[WLAN_TIDNO_BUTT]; /* 发送AMPDU总字节数 */
78 osal_u32 tx_mpdu_in_ampdu[WLAN_TIDNO_BUTT]; /* 属于AMPDU的MPDU发送总个数 */
79 osal_u32 tx_mpdu_fail_in_ampdu[WLAN_TIDNO_BUTT]; /* 属于AMPDU的MPDU发送失败个数 */
80 osal_u32 tx_ppdu_retries; /* 空口重传的PPDU计数 */
81} oam_user_stat_info_stru;
82
83/* 统计结构信息,包括设备级别,vap级别,user级别的各种统计信息 */
84typedef struct {
85 /* VAP级别的统计信息 */
87
88 /* USER级别的统计信息 */
89 oam_user_stat_info_stru user_stat_info[WLAN_USER_MAX_USER_LIMIT];
91#else
92/* 统计结构信息,包括vap级别的统计信息 */
93typedef struct {
94 /* VAP级别的统计信息 */
97#endif
98
99#define OAM_STAT_VAP_INCR(_uc_vap_id, _member, _num) do { \
100 if ((_uc_vap_id) < WLAN_VAP_SUPPORT_MAX_NUM_LIMIT) \
101 { \
102 g_st_stat_info_etc.vap_stat_info[_uc_vap_id]._member += (_num); \
103 } \
104 } while (0)
105
106#define OAM_STAT_GET_STAT_ALL() (&g_st_stat_info_etc)
107
109#define OAM_IO_PRINTK(fmt, ...)
110
111/* 字符串以0结尾上报,实际字符串内容最大长度 */
112#define WLAN_SDT_NETBUF_MAX_PAYLOAD 1600
113#define OAM_REPORT_MAX_STRING_LEN (WLAN_SDT_NETBUF_MAX_PAYLOAD - 1) /* 以\0结束 */
114
115#endif
oam_stat_info_stru g_st_stat_info_etc
unsigned int osal_u32
Definition osal_types.h:13
Definition oam_struct.h:93
Definition oam_struct.h:33
osal_u32 tx_pkt_num_from_lan
Definition oam_struct.h:55
osal_u32 tx_abnormal_msdu_dropped
Definition oam_struct.h:59
osal_u32 rx_no_buff_dropped
Definition oam_struct.h:44
osal_u32 tx_security_check_faild
Definition oam_struct.h:60
osal_u32 tx_bytes_from_lan
Definition oam_struct.h:56
osal_u32 rx_da_check_dropped
Definition oam_struct.h:43
osal_u32 rx_pkt_to_lan
Definition oam_struct.h:39
osal_u32 rx_mcast_cnt
Definition oam_struct.h:48
osal_u32 rx_defrag_process_dropped
Definition oam_struct.h:45
osal_u32 rx_bytes_to_lan
Definition oam_struct.h:40
osal_u32 tx_m2u_mcast_cnt
Definition oam_struct.h:63
#define WLAN_USER_MAX_USER_LIMIT
Definition wlan_spec_rom.h:101
#define WLAN_VAP_SUPPORT_MAX_NUM_LIMIT
Definition wlan_spec_rom.h:74
@ WLAN_TIDNO_BUTT
Definition wlan_types_base_rom.h:72