WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
oal_net_rom.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2022. All rights reserved.
3 * Description: oal net interface
4 */
5
6#ifndef OAL_NET_ROM_H
7#define OAL_NET_ROM_H
8
10#include "frw_util_rom.h"
11#include "eth_ip_common_rom.h"
12#include "dmac_misc_type.h"
13#include "oal_net_pkt_rom.h"
14
15#ifdef __cplusplus
16#if __cplusplus
17extern "C" {
18#endif
19#endif
20
21#define OAL_NETBUF_DEFAULT_DATA_OFFSET 48 /* 5115上实际测得data比head大48,用于netbuf data指针复位 */
22
23#define OAL_ASSOC_REQ_IE_OFFSET 28 /* 上报内核关联请求帧偏移量 */
24#define OAL_ASSOC_RSP_IE_OFFSET 30 /* 上报内核关联响应帧偏移量 */
25#define OAL_AUTH_IE_OFFSET 30
26#define OAL_FT_ACTION_IE_OFFSET 40
27#define OAL_ASSOC_RSP_FIXED_OFFSET 6 /* 关联响应帧帧长FIXED PARAMETERS偏移量 */
28#define OAL_MAC_ADDR_LEN 6
29#define OAL_PMKID_LEN 16
30#define OAL_WPA_KEY_LEN 32
31#define OAL_WPA_SEQ_LEN 16
32#define OAL_WLAN_SA_QUERY_TR_ID_LEN 2
33#define OAL_BITFIELD_LITTLE_ENDIAN 0
34#define OAL_BITFIELD_BIG_ENDIAN 1
35/*
36 * Byte order/swapping support.
37 */
38#define OAL_LITTLE_ENDIAN 1234
39#define OAL_BIG_ENDIAN 4321
40#define OAL_BYTE_ORDER OAL_BIG_ENDIAN
41
42/*****************************************************************************
43 2.10 IP宏定义
44*****************************************************************************/
45#define WLAN_IP_PRI_SHIFT 5
46#define WLAN_IPV6_PRIORITY_MASK 0x0FF00000
47#define WLAN_IPV6_PRIORITY_SHIFT 20
48
49/*****************************************************************************
50 2.12 LLC SNAP宏定义
51*****************************************************************************/
52#define LLC_UI 0x3
53#define SNAP_LLC_FRAME_LEN 8
54#define SNAP_LLC_LSAP 0xaa
55#define SNAP_RFC1042_ORGCODE_0 0x00
56#define SNAP_RFC1042_ORGCODE_1 0x00
57#define SNAP_RFC1042_ORGCODE_2 0x00
58#define SNAP_BTEP_ORGCODE_0 0x00
59#define SNAP_BTEP_ORGCODE_1 0x00
60#define SNAP_BTEP_ORGCODE_2 0xf8
61
62/*****************************************************************************
63 2.13 ETHER宏定义
64*****************************************************************************/
65
66#define ETHER_TYPE_LEN 2 /* length of the Ethernet type field */
67#define ETHER_CRC_LEN 4 /* length of the Ethernet CRC */
68#ifndef ETHER_HDR_LEN
69#define ETHER_HDR_LEN 14
70#endif
71#ifndef ETHER_MAX_LEN
72#define ETHER_MAX_LEN 1518
73#endif
74#define ETHER_MTU (ETHER_MAX_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN)
75
76/* Probe Rsp APP IE长度超过该值,发送帧netbuf采用大包 */
77#define OAL_MGMT_NETBUF_APP_PROBE_RSP_IE_LEN_LIMIT 450
78
79
80/* ether type */
81#define ETHER_TYPE_PAE 0x888e /* EAPOL PAE/802.1x */
82#define ETHER_TYPE_IP 0x0800 /* IP protocol */
83#define ETHER_TYPE_AARP 0x80f3 /* Appletalk AARP protocol */
84#define ETHER_TYPE_IPX 0x8137 /* IPX over DIX protocol */
85#define ETHER_TYPE_ARP 0x0806 /* ARP protocol */
86#define ETHER_TYPE_IPV6 0x86dd /* IPv6 */
87#define ETHER_TYPE_TDLS 0x890d /* TDLS */
88#define ETHER_TYPE_VLAN 0x8100 /* VLAN TAG protocol */
89#define ETHER_TYPE_WAI 0x88b4 /* WAI/WAPI */
90#define ETHER_LLTD_TYPE 0x88D9 /* LLTD */
91#define ETHER_ONE_X_TYPE 0x888E /* 802.1x Authentication */
92#define ETHER_TUNNEL_TYPE 0x88bd /* 自定义tunnel协议 */
93#define ETHER_TYPE_PPP_DISC 0x8863 /* PPPoE discovery messages */
94#define ETHER_TYPE_PPP_SES 0x8864 /* PPPoE session messages */
95
96
97/* ip头到协议类型字段的偏移 */
98#define IP_HDR_LEN 20
99
100/* CCMP加密字节数 */
101#define WLAN_CCMP_ENCRYP_LEN 16
102/* CCMP256加密字节数 */
103#define WLAN_CCMP256_GCMP_ENCRYP_LEN 24
104
105#define WLAN_DATA_VIP_TID WLAN_TIDNO_BCAST
106
107/* wiphy */
108#define IEEE80211_HT_MCS_MASK_LEN 10
109
110/* ICMP codes for neighbour discovery messages */
111#define OAL_NDISC_ROUTER_SOLICITATION 133
112#define OAL_NDISC_ROUTER_ADVERTISEMENT 134
113#define OAL_NDISC_NEIGHBOUR_SOLICITATION 135
114#define OAL_NDISC_NEIGHBOUR_ADVERTISEMENT 136
115
116#define OAL_ND_OPT_TARGET_LL_ADDR 2
117#define OAL_ND_OPT_SOURCE_LL_ADDR 1
118#define OAL_IPV6_ADDR_ANY 0x0000U
119#define OAL_IPV6_ADDR_MULTICAST 0x0002U
120#define OAL_IPV6_MAC_ADDR_LEN 16
121
122#define IPV6_ADDR_MULTICAST 0x0002U
123#define IPV6_ADDR_UNICAST 0x0001U
124#define IPV6_ADDR_SCOPE_NODELOCAL 0x01
125#define IPV6_ADDR_SCOPE_LINKLOCAL 0x02
126#define IPV6_ADDR_SCOPE_SITELOCAL 0x05
127#define IPV6_ADDR_SCOPE_ORGLOCAL 0x08
128#define IPV6_ADDR_SCOPE_GLOBAL 0x0e
129#define IPV6_ADDR_LOOPBACK 0x0010U
130#define IPV6_ADDR_LINKLOCAL 0x0020U
131#define IPV6_ADDR_SITELOCAL 0x0040U
132
133/*
134 * support for ARP/ND offload. add 2015.6.12
135 */
136#define OAL_IPV4_ADDR_SIZE 4
137#define OAL_IPV6_ADDR_SIZE 16
138#define OAL_IP_ADDR_MAX_SIZE OAL_IPV6_ADDR_SIZE
139
140#ifdef _PRE_WLAN_FEATURE_WOW_OFFLOAD
141/* DHCP options */
142enum dhcp_opt {
143 DHCP_OPT_PAD = 0,
145 DHCP_OPT_ROUTER = 3,
149 DHCP_OPT_MTU = 26,
155 DHCP_OPT_VENDOR = 43,
162 DHCP_OPT_MESSAGE = 56,
168 DHCP_OPT_USERCLASS = 77, /* RFC 3004 */
169 DHCP_OPT_FQDN = 81,
170 DHCP_OPT_DNSSEARCH = 119, /* RFC 3397 */
171 DHCP_OPT_CSR = 121, /* RFC 3442 */
172 DHCP_OPT_SIXRD = 212, /* RFC 5969 */
173 DHCP_OPT_MSCSR = 249, /* MS code for RFC 3442 */
174 DHCP_OPT_END = 255
175};
176#endif
177
178#define OAL_NL80211_MAX_NR_CIPHER_SUITES 5
179#define OAL_NL80211_MAX_NR_AKM_SUITES 2
180#define OAL_IFF_RUNNING 0x40 /* linux net_device flag宏定义,表示设备在运行 */
181#define OAL_IEEE80211_MAX_SSID_LEN 32 /* 最大SSID长度 */
182#define OAL_DEVICE_MAX_SCAN_CHANNELS 40 /* 扫描信道数 */
183
184enum {
190};
191
192
193#ifdef __cplusplus
194#if __cplusplus
195}
196#endif
197#endif
198
199#endif /* end of oal_net_rom.h */
dhcp_opt
Definition hmac_dhcp_offload.h:30
@ DHCP_OPT_PARAMETERREQUESTLIST
Definition hmac_dhcp_offload.h:49
@ DHCP_OPT_BROADCAST
Definition hmac_dhcp_offload.h:38
@ DHCP_OPT_SUBNETMASK
Definition hmac_dhcp_offload.h:32
@ DHCP_OPT_STATICROUTE
Definition hmac_dhcp_offload.h:39
@ DHCP_OPT_NTPSERVER
Definition hmac_dhcp_offload.h:42
@ DHCP_OPT_END
Definition hmac_dhcp_offload.h:62
@ DHCP_OPT_HOSTNAME
Definition hmac_dhcp_offload.h:35
@ DHCP_OPT_CSR
Definition hmac_dhcp_offload.h:59
@ DHCP_OPT_RENEWALTIME
Definition hmac_dhcp_offload.h:52
@ DHCP_OPT_IPADDRESS
Definition hmac_dhcp_offload.h:44
@ DHCP_OPT_REBINDTIME
Definition hmac_dhcp_offload.h:53
@ DHCP_OPT_LEASETIME
Definition hmac_dhcp_offload.h:45
@ DHCP_OPT_NISDOMAIN
Definition hmac_dhcp_offload.h:40
@ DHCP_OPT_SIXRD
Definition hmac_dhcp_offload.h:60
@ DHCP_OPT_CLIENTID
Definition hmac_dhcp_offload.h:55
@ DHCP_OPT_MESSAGE
Definition hmac_dhcp_offload.h:50
@ DHCP_OPT_SERVERID
Definition hmac_dhcp_offload.h:48
@ DHCP_OPT_VENDORCLASSID
Definition hmac_dhcp_offload.h:54
@ DHCP_OPT_DNSSERVER
Definition hmac_dhcp_offload.h:34
@ DHCP_OPT_FQDN
Definition hmac_dhcp_offload.h:57
@ DHCP_OPT_VENDOR
Definition hmac_dhcp_offload.h:43
@ DHCP_OPT_DNSDOMAIN
Definition hmac_dhcp_offload.h:36
@ DHCP_OPT_MTU
Definition hmac_dhcp_offload.h:37
@ DHCP_OPT_ROUTER
Definition hmac_dhcp_offload.h:33
@ DHCP_OPT_MESSAGETYPE
Definition hmac_dhcp_offload.h:47
@ DHCP_OPT_OPTIONSOVERLOADED
Definition hmac_dhcp_offload.h:46
@ DHCP_OPT_DNSSEARCH
Definition hmac_dhcp_offload.h:58
@ DHCP_OPT_NISSERVER
Definition hmac_dhcp_offload.h:41
@ DHCP_OPT_USERCLASS
Definition hmac_dhcp_offload.h:56
@ DHCP_OPT_MSCSR
Definition hmac_dhcp_offload.h:61
@ DHCP_OPT_MAXMESSAGESIZE
Definition hmac_dhcp_offload.h:51
@ DHCP_OPT_PAD
Definition hmac_dhcp_offload.h:31
@ OAL_INET_ECN_ECT_1
Definition oal_net_rom.h:186
@ OAL_INET_ECN_NOT_ECT
Definition oal_net_rom.h:185
@ OAL_INET_ECN_ECT_0
Definition oal_net_rom.h:187
@ OAL_INET_ECN_MASK
Definition oal_net_rom.h:189
@ OAL_INET_ECN_CE
Definition oal_net_rom.h:188