WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hmac_m2u.h 文件参考
#include "oal_netbuf_ext.h"
#include "oal_ext_if.h"
#include "oam_ext_if.h"
#include "mac_frame.h"
#include "hmac_main.h"
#include "hmac_user.h"
#include "hmac_vap.h"
#include "frw_ext_if.h"
hmac_m2u.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  mcast_tunnel_hdr_stru
 
struct  hmac_m2u_grp_list_entry_stru
 
struct  hmac_m2u_snoop_list_stru
 
struct  hmac_m2u_grp_member_stru
 
struct  hmac_m2u_list_update_stru
 
struct  hmac_m2u_stru
 

宏定义

#define THIS_FILE_ID   OAM_FILE_ID_HMAC_M2U_H
 
#define HMAC_M2U_GRPADDR_FILTEROUT_NUM   8
 
#define HMAC_M2U_DENY_GROUP   4026531585UL /* 组播组黑名单 239.255.255.1 */
 
#define HMAC_M2U_MIN_DENY_GROUP   3758096384UL /* 最小组播组地址 224.0.0.0 */
 
#define HMAC_M2U_MAX_DENY_GROUP   4026531839UL /* 最大组播组地址 239.255.255.255 */
 
#define HMAC_M2U_SPECIAL_GROUP1   3758096385UL /* SPECIAL GROUP1 224.0.0.1 */
 
#define HMAC_M2U_SPECIAL_GROUP2   3758096386UL /* SPECIAL GROUP2 224.0.0.2 */
 
#define HMAC_M2U_RIPV2_GROUP   3758096393UL /* RIPV2 GROUP 224.0.0.9 */
 
#define HMAC_M2U_SPECIAL_GROUP3   3758096406UL /* SPECIAL GROUP3 224.0.0.22 */
 
#define HMAC_M2U_UPNP_GROUP   4026531834UL /* UPNP GROUP 239.255.255.250 */
 
#define DEFAULT_IPV4_DENY_GROUP_COUNT   1 /* 默认额外添加1个ipv4组播黑名单 */
 
#define DEFAULT_IPV6_DENY_GROUP_COUNT   1 /* 默认添加1个ipv6组播黑名单 */
 
#define SPECIAL_M2U_GROUP_COUNT_IPV4   5 /* 默认添加5个特殊ipv4业务组播 */
 
#define SPECIAL_M2U_GROUP_COUNT_IPV6   5 /* 默认添加5个特殊ipv6业务组播 */
 
#define HMAC_M2U_ADAPTIVE_STA_HASHSIZE   16 /* 配网报文统计HASH桶为16 */
 
#define MAC_ETH_PROTOCOL_SUBTYPE   0x17
 
#define OAL_SNAP_LEN   8 /* SNAP 头的长度 */
 
#define MIN_IP_HDR_LEN   5 /* 最小IP头长度 */
 
#define HMAC_DEF_M2U_TIMER   30000 /* timer interval as 30 secs */
 
#define HMAC_DEF_M2U_TIMEOUT   120000 /* 2 minutes for timeout */
 
#define HMAC_DEF_ADAPTIVE_TIMEOUT   1000 /* 配网模式老化时间 */
 
#define HMAC_DEF_THRESHOLD_TIME   500 /* 配网模式门限时间 */
 
#define HMAC_DEF_NUM_OF_ADAPTIVE   16 /* 配网模式门限个数 */
 
#define ETHER_TYPE_VLAN_88A8   0x88a8 /* VLAN TAG TPID ,有运营商的情况 */
 
#define ETHER_TYPE_VLAN_9100   0x9100 /* VLAN TAG TPID */
 
#define MAX_STA_NUM_OF_ALL_GROUP   1000 /* 最多1000个叶子节点(sta个数) */
 
#define MAX_STA_NUM_OF_ADAPTIVE   128 /* 最多128个配网sta个数 */
 
#define MAX_STR_SIZE_OF_U8   4 /* U8类型转换成字符串最多3个字符,+1个'\0'占用4个字符 */
 
#define HMAC_M2U_MAX_PRINT_SIZE   100 /* 最大打印字节数 */
 
#define ether_is_with_vlan_tag(_a)
 
#define oal_is_mdnsv4_mac(_a, _b)
 
#define oal_is_mdnsv6_mac(_a, _b)
 

类型定义

typedef osal_u8 hmac_m2u_igmp_cmd_enum_uint8
 
typedef osal_u8 hmac_m2u_mcast_mode_enum_uint8
 
typedef osal_bool(* hmac_m2u_tx_classify_special_cb) (hmac_vap_stru *hmac_vap, mac_tx_ctl_stru *tx_ctl, osal_u8 *tid)
 
typedef osal_void(* hmac_m2u_snoop_inspecting_cb) (hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, oal_netbuf_stru *buf)
 
typedef osal_void(* hmac_m2u_cleanup_snoopwds_node_cb) (hmac_user_stru *hmac_user)
 
typedef osal_u32(* hmac_m2u_snoop_convert_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru *buf)
 
typedef osal_void(* hmac_m2u_unicast_convert_multicast_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru *pst_netbuf, hmac_msdu_stru *msdu)
 
typedef osal_void(* hmac_m2u_attach_cb) (hmac_vap_stru *hmac_vap)
 
typedef osal_void(* hmac_m2u_detach_cb) (hmac_vap_stru *hmac_vap)
 

枚举

enum  hmac_m2u_deny_table_cfg {
  HMAC_H2U_DENY_TABLE_LIST = 0 , HMAC_H2U_DENY_TABLE_CLEAR , HMAC_H2U_DENY_TABLE_ADD_IPV4 , HMAC_H2U_DENY_TABLE_ADD_IPV6 ,
  HMAC_H2U_DENY_TABLE_DEL_IPV4 , HMAC_H2U_DENY_TABLE_DEL_IPV6 , HMAC_M2U_DENY_TABLE_BUTT
}
 
enum  hmac_m2u_update_cmd_enum { HMAC_M2U_CMD_EXCLUDE_LIST = 0 , HMAC_M2U_CMD_INCLUDE_LIST = 1 , HMAC_M2U_IGMP_CMD_BUTT }
 
enum  hmac_m2u_mcast_mode_enum { HMAC_M2U_MCAST_MAITAIN = 0 , HMAC_M2U_MCAST_TUNNEL = 1 , HMAC_M2U_MCAST_TRANSLATE = 2 , HMAC_M2U_MCAST_BUTT }
 

函数

osal_u32 hmac_m2u_snoop_convert (hmac_vap_stru *hmac_vap, oal_netbuf_stru *buf)
 
osal_void hmac_m2u_snoop_inspecting (hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, oal_netbuf_stru *buf)
 
osal_void hmac_m2u_attach (hmac_vap_stru *hmac_vap)
 
osal_void hmac_m2u_detach (hmac_vap_stru *hmac_vap)
 
osal_u32 hmac_m2u_update_snoop_list (hmac_m2u_list_update_stru *list_entry)
 
osal_void hmac_m2u_add_snoop_ipv4_deny_entry (hmac_vap_stru *hmac_vap, osal_u32 *pul_grpaddr)
 
osal_void hmac_m2u_add_snoop_ipv6_deny_entry (hmac_vap_stru *hmac_vap, osal_u8 *grpaddr)
 
osal_void hmac_m2u_del_ipv4_deny_entry (hmac_vap_stru *hmac_vap, const osal_u32 *pul_grpaddr)
 
osal_void hmac_m2u_del_ipv6_deny_entry (hmac_vap_stru *hmac_vap, osal_u8 *grpaddr)
 
osal_void hmac_m2u_clear_deny_table (hmac_vap_stru *hmac_vap)
 
osal_void hmac_m2u_show_snoop_deny_table (hmac_vap_stru *hmac_vap)
 
osal_u32 hmac_m2u_print_all_snoop_list (hmac_vap_stru *hmac_vap, oal_snoop_all_group_stru *snoop_all_grp)
 
osal_void hmac_m2u_cleanup_snoopwds_node (hmac_user_stru *hmac_user)
 
osal_u32 hmac_m2u_igmp_v1v2_update (hmac_vap_stru *hmac_vap, hmac_m2u_list_update_stru *list_entry, mac_igmp_header_stru *igmp)
 
osal_void hmac_m2u_unicast_convert_multicast (hmac_vap_stru *hmac_vap, oal_netbuf_stru *pst_netbuf, hmac_msdu_stru *msdu)
 
osal_s32 hmac_config_m2u_snoop_on (hmac_vap_stru *hmac_vap, frw_msg *msg)
 
osal_s32 hmac_config_m2u_deny_table (hmac_vap_stru *hmac_vap, frw_msg *msg)
 
osal_s32 hmac_config_show_m2u_snoop_table (hmac_vap_stru *hmac_vap, frw_msg *msg)
 
osal_s32 hmac_config_igmp_packet_xmit (hmac_vap_stru *hmac_vap, frw_msg *msg)
 

变量

static osal_u32 used
 

宏定义说明

◆ DEFAULT_IPV4_DENY_GROUP_COUNT

#define DEFAULT_IPV4_DENY_GROUP_COUNT   1 /* 默认额外添加1个ipv4组播黑名单 */

◆ DEFAULT_IPV6_DENY_GROUP_COUNT

#define DEFAULT_IPV6_DENY_GROUP_COUNT   1 /* 默认添加1个ipv6组播黑名单 */

◆ ether_is_with_vlan_tag

#define ether_is_with_vlan_tag (   _a)
值:
(((_a) == oal_host2net_short(ETHER_TYPE_VLAN_88A8)) || \
((_a) == oal_host2net_short(ETHER_TYPE_VLAN_9100)) || \
((_a) == oal_host2net_short(ETHER_TYPE_VLAN)))
#define ETHER_TYPE_VLAN_88A8
Definition hmac_m2u.h:72
#define ETHER_TYPE_VLAN_9100
Definition hmac_m2u.h:73
#define ETHER_TYPE_VLAN
Definition oal_net_rom.h:88

◆ ETHER_TYPE_VLAN_88A8

#define ETHER_TYPE_VLAN_88A8   0x88a8 /* VLAN TAG TPID ,有运营商的情况 */

◆ ETHER_TYPE_VLAN_9100

#define ETHER_TYPE_VLAN_9100   0x9100 /* VLAN TAG TPID */

◆ HMAC_DEF_ADAPTIVE_TIMEOUT

#define HMAC_DEF_ADAPTIVE_TIMEOUT   1000 /* 配网模式老化时间 */

◆ HMAC_DEF_M2U_TIMEOUT

#define HMAC_DEF_M2U_TIMEOUT   120000 /* 2 minutes for timeout */

◆ HMAC_DEF_M2U_TIMER

#define HMAC_DEF_M2U_TIMER   30000 /* timer interval as 30 secs */

◆ HMAC_DEF_NUM_OF_ADAPTIVE

#define HMAC_DEF_NUM_OF_ADAPTIVE   16 /* 配网模式门限个数 */

◆ HMAC_DEF_THRESHOLD_TIME

#define HMAC_DEF_THRESHOLD_TIME   500 /* 配网模式门限时间 */

◆ HMAC_M2U_ADAPTIVE_STA_HASHSIZE

#define HMAC_M2U_ADAPTIVE_STA_HASHSIZE   16 /* 配网报文统计HASH桶为16 */

◆ HMAC_M2U_DENY_GROUP

#define HMAC_M2U_DENY_GROUP   4026531585UL /* 组播组黑名单 239.255.255.1 */

◆ HMAC_M2U_GRPADDR_FILTEROUT_NUM

#define HMAC_M2U_GRPADDR_FILTEROUT_NUM   8

◆ HMAC_M2U_MAX_DENY_GROUP

#define HMAC_M2U_MAX_DENY_GROUP   4026531839UL /* 最大组播组地址 239.255.255.255 */

◆ HMAC_M2U_MAX_PRINT_SIZE

#define HMAC_M2U_MAX_PRINT_SIZE   100 /* 最大打印字节数 */

◆ HMAC_M2U_MIN_DENY_GROUP

#define HMAC_M2U_MIN_DENY_GROUP   3758096384UL /* 最小组播组地址 224.0.0.0 */

◆ HMAC_M2U_RIPV2_GROUP

#define HMAC_M2U_RIPV2_GROUP   3758096393UL /* RIPV2 GROUP 224.0.0.9 */

◆ HMAC_M2U_SPECIAL_GROUP1

#define HMAC_M2U_SPECIAL_GROUP1   3758096385UL /* SPECIAL GROUP1 224.0.0.1 */

◆ HMAC_M2U_SPECIAL_GROUP2

#define HMAC_M2U_SPECIAL_GROUP2   3758096386UL /* SPECIAL GROUP2 224.0.0.2 */

◆ HMAC_M2U_SPECIAL_GROUP3

#define HMAC_M2U_SPECIAL_GROUP3   3758096406UL /* SPECIAL GROUP3 224.0.0.22 */

◆ HMAC_M2U_UPNP_GROUP

#define HMAC_M2U_UPNP_GROUP   4026531834UL /* UPNP GROUP 239.255.255.250 */

◆ MAC_ETH_PROTOCOL_SUBTYPE

#define MAC_ETH_PROTOCOL_SUBTYPE   0x17

◆ MAX_STA_NUM_OF_ADAPTIVE

#define MAX_STA_NUM_OF_ADAPTIVE   128 /* 最多128个配网sta个数 */

◆ MAX_STA_NUM_OF_ALL_GROUP

#define MAX_STA_NUM_OF_ALL_GROUP   1000 /* 最多1000个叶子节点(sta个数) */

◆ MAX_STR_SIZE_OF_U8

#define MAX_STR_SIZE_OF_U8   4 /* U8类型转换成字符串最多3个字符,+1个'\0'占用4个字符 */

◆ MIN_IP_HDR_LEN

#define MIN_IP_HDR_LEN   5 /* 最小IP头长度 */

◆ oal_is_mdnsv4_mac

#define oal_is_mdnsv4_mac (   _a,
  _b 
)
值:
(((osal_u8)((_a)[0]) == 0x01) && ((osal_u8)((_a)[1]) == 0x00) && \
((osal_u8)((_a)[2]) == 0x5e) && ((osal_u8)((_a)[3]) == 0x00) && \
((osal_u8)((_a)[4]) == 0x00) && ((osal_u8)((_a)[5]) == 0xfb) && \
((_b) == oal_host2net_short(ETHER_TYPE_IP)))
#define ETHER_TYPE_IP
Definition oal_net_rom.h:82
unsigned char osal_u8
Definition osal_types.h:11

◆ oal_is_mdnsv6_mac

#define oal_is_mdnsv6_mac (   _a,
  _b 
)
值:
(((osal_u8)((_a)[0]) == 0x33) && ((osal_u8)((_a)[1]) == 0x33) && \
((osal_u8)((_a)[2]) == 0x00) && ((osal_u8)((_a)[3]) == 0x00) && \
((osal_u8)((_a)[4]) == 0x00) && ((osal_u8)((_a)[5]) == 0xfb) && \
((_b) == oal_host2net_short(ETHER_TYPE_IPV6)))
#define ETHER_TYPE_IPV6
Definition oal_net_rom.h:86

◆ OAL_SNAP_LEN

#define OAL_SNAP_LEN   8 /* SNAP 头的长度 */

◆ SPECIAL_M2U_GROUP_COUNT_IPV4

#define SPECIAL_M2U_GROUP_COUNT_IPV4   5 /* 默认添加5个特殊ipv4业务组播 */

◆ SPECIAL_M2U_GROUP_COUNT_IPV6

#define SPECIAL_M2U_GROUP_COUNT_IPV6   5 /* 默认添加5个特殊ipv6业务组播 */

◆ THIS_FILE_ID

#define THIS_FILE_ID   OAM_FILE_ID_HMAC_M2U_H

类型定义说明

◆ hmac_m2u_attach_cb

typedef osal_void(* hmac_m2u_attach_cb) (hmac_vap_stru *hmac_vap)

◆ hmac_m2u_cleanup_snoopwds_node_cb

typedef osal_void(* hmac_m2u_cleanup_snoopwds_node_cb) (hmac_user_stru *hmac_user)

◆ hmac_m2u_detach_cb

typedef osal_void(* hmac_m2u_detach_cb) (hmac_vap_stru *hmac_vap)

◆ hmac_m2u_igmp_cmd_enum_uint8

◆ hmac_m2u_mcast_mode_enum_uint8

◆ hmac_m2u_snoop_convert_cb

typedef osal_u32(* hmac_m2u_snoop_convert_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru *buf)

◆ hmac_m2u_snoop_inspecting_cb

typedef osal_void(* hmac_m2u_snoop_inspecting_cb) (hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, oal_netbuf_stru *buf)

◆ hmac_m2u_tx_classify_special_cb

typedef osal_bool(* hmac_m2u_tx_classify_special_cb) (hmac_vap_stru *hmac_vap, mac_tx_ctl_stru *tx_ctl, osal_u8 *tid)

◆ hmac_m2u_unicast_convert_multicast_cb

typedef osal_void(* hmac_m2u_unicast_convert_multicast_cb) (hmac_vap_stru *hmac_vap, oal_netbuf_stru *pst_netbuf, hmac_msdu_stru *msdu)

枚举类型说明

◆ hmac_m2u_deny_table_cfg

枚举值
HMAC_H2U_DENY_TABLE_LIST 
HMAC_H2U_DENY_TABLE_CLEAR 
HMAC_H2U_DENY_TABLE_ADD_IPV4 
HMAC_H2U_DENY_TABLE_ADD_IPV6 
HMAC_H2U_DENY_TABLE_DEL_IPV4 
HMAC_H2U_DENY_TABLE_DEL_IPV6 
HMAC_M2U_DENY_TABLE_BUTT 

◆ hmac_m2u_mcast_mode_enum

枚举值
HMAC_M2U_MCAST_MAITAIN 
HMAC_M2U_MCAST_TUNNEL 
HMAC_M2U_MCAST_TRANSLATE 
HMAC_M2U_MCAST_BUTT 

◆ hmac_m2u_update_cmd_enum

枚举值
HMAC_M2U_CMD_EXCLUDE_LIST 
HMAC_M2U_CMD_INCLUDE_LIST 
HMAC_M2U_IGMP_CMD_BUTT 

函数说明

◆ hmac_config_igmp_packet_xmit()

osal_s32 hmac_config_igmp_packet_xmit ( hmac_vap_stru hmac_vap,
frw_msg msg 
)

◆ hmac_config_m2u_deny_table()

osal_s32 hmac_config_m2u_deny_table ( hmac_vap_stru hmac_vap,
frw_msg msg 
)

◆ hmac_config_m2u_snoop_on()

osal_s32 hmac_config_m2u_snoop_on ( hmac_vap_stru hmac_vap,
frw_msg msg 
)

◆ hmac_config_show_m2u_snoop_table()

osal_s32 hmac_config_show_m2u_snoop_table ( hmac_vap_stru hmac_vap,
frw_msg msg 
)

◆ hmac_m2u_add_snoop_ipv4_deny_entry()

osal_void hmac_m2u_add_snoop_ipv4_deny_entry ( hmac_vap_stru hmac_vap,
osal_u32 pul_grpaddr 
)
extern

◆ hmac_m2u_add_snoop_ipv6_deny_entry()

osal_void hmac_m2u_add_snoop_ipv6_deny_entry ( hmac_vap_stru hmac_vap,
osal_u8 grpaddr 
)
extern

◆ hmac_m2u_attach()

osal_void hmac_m2u_attach ( hmac_vap_stru hmac_vap)
extern

◆ hmac_m2u_cleanup_snoopwds_node()

osal_void hmac_m2u_cleanup_snoopwds_node ( hmac_user_stru hmac_user)
extern

◆ hmac_m2u_clear_deny_table()

osal_void hmac_m2u_clear_deny_table ( hmac_vap_stru hmac_vap)
extern

◆ hmac_m2u_del_ipv4_deny_entry()

osal_void hmac_m2u_del_ipv4_deny_entry ( hmac_vap_stru hmac_vap,
const osal_u32 pul_grpaddr 
)
extern

◆ hmac_m2u_del_ipv6_deny_entry()

osal_void hmac_m2u_del_ipv6_deny_entry ( hmac_vap_stru hmac_vap,
osal_u8 grpaddr 
)
extern

◆ hmac_m2u_detach()

osal_void hmac_m2u_detach ( hmac_vap_stru hmac_vap)
extern

◆ hmac_m2u_igmp_v1v2_update()

osal_u32 hmac_m2u_igmp_v1v2_update ( hmac_vap_stru hmac_vap,
hmac_m2u_list_update_stru list_entry,
mac_igmp_header_stru igmp 
)
extern

◆ hmac_m2u_print_all_snoop_list()

osal_u32 hmac_m2u_print_all_snoop_list ( hmac_vap_stru hmac_vap,
oal_snoop_all_group_stru snoop_all_grp 
)
extern

◆ hmac_m2u_show_snoop_deny_table()

osal_void hmac_m2u_show_snoop_deny_table ( hmac_vap_stru hmac_vap)
extern

◆ hmac_m2u_snoop_convert()

osal_u32 hmac_m2u_snoop_convert ( hmac_vap_stru hmac_vap,
oal_netbuf_stru buf 
)
extern

◆ hmac_m2u_snoop_inspecting()

osal_void hmac_m2u_snoop_inspecting ( hmac_vap_stru hmac_vap,
hmac_user_stru hmac_user,
oal_netbuf_stru buf 
)
extern

◆ hmac_m2u_unicast_convert_multicast()

osal_void hmac_m2u_unicast_convert_multicast ( hmac_vap_stru hmac_vap,
oal_netbuf_stru pst_netbuf,
hmac_msdu_stru msdu 
)
extern

◆ hmac_m2u_update_snoop_list()

osal_u32 hmac_m2u_update_snoop_list ( hmac_m2u_list_update_stru list_entry)
extern

变量说明

◆ used

osal_void used