• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  * Description: Header file
15  */
16 
17 #ifndef MSG_ARP_OFFLOAD_ROM_H
18 #define MSG_ARP_OFFLOAD_ROM_H
19 
20 #include "osal_types.h"
21 #include "oal_types_device_rom.h"
22 
23 #define MAC_MAX_IPV4_ENTRIES 8
24 #define MAC_MAX_IPV6_ENTRIES 8
25 
26 typedef union {
27     osal_u32 value;
28     osal_u8 auc_value[OAL_IPV4_ADDR_SIZE];
29 } un_ipv4_addr;
30 
31 typedef struct {
32     un_ipv4_addr local_ip;
33     un_ipv4_addr mask;
34 } mac_vap_ipv4_addr_stru;
35 
36 typedef struct {
37     osal_u8 ip_addr[OAL_IPV6_ADDR_SIZE];
38 } mac_vap_ipv6_addr_stru;
39 
40 typedef struct {
41     mac_vap_ipv4_addr_stru ipv4_entry[MAC_MAX_IPV4_ENTRIES];
42     mac_vap_ipv6_addr_stru ipv6_entry[MAC_MAX_IPV6_ENTRIES];
43 } mac_vap_ip_entries_stru;
44 
45 typedef struct {
46     mac_vap_ip_entries_stru ip_addr;
47     oal_bool_enum_uint8 arp_offload_switch;
48     osal_u16 free_arp_interval;
49     osal_u8 resv[1];
50 } mac_arp_offload_param_sync;
51 
52 #endif