qcacmn: Add 802.1Q/802.1AD support for DHCP/EAPOL/ARP data check

If the data ether header contains 802.1Q and 802.1AD tag,
current API to identify DHCP/ARP/EAPOL frame will not work properly,
for 802.1Q/802.1AD frame, there is extra 4 or 8 bytes in ether header.
Add 802.1Q and 802.1AD support for DHCP/EAPOL/ARP check.

Change-Id: Ibf00bd9e1497ba9700abca10d840104a73238f56
CRs-Fixed: 2771942
此提交包含在:
Jinwei Chen
2020-09-07 19:49:42 +08:00
提交者 snandini
父節點 7c122af366
當前提交 d4da14a5ce
共有 3 個檔案被更改,包括 87 行新增16 行删除

查看文件

@@ -51,6 +51,8 @@
#define QDF_NBUF_TRAC_DHCP_SRV_PORT 67
#define QDF_NBUF_TRAC_DHCP_CLI_PORT 68
#define QDF_NBUF_TRAC_ETH_TYPE_OFFSET 12
#define QDF_NBUF_TRAC_VLAN_ETH_TYPE_OFFSET 16
#define QDF_NBUF_TRAC_DOUBLE_VLAN_ETH_TYPE_OFFSET 20
#define QDF_NBUF_TRAC_EAPOL_ETH_TYPE 0x888E
#define QDF_NBUF_TRAC_WAPI_ETH_TYPE 0x88b4
#define QDF_NBUF_TRAC_ARP_ETH_TYPE 0x0806
@@ -84,7 +86,11 @@
#define QDF_NBUF_TRAC_DHCP6_SRV_PORT 547
#define QDF_NBUF_TRAC_DHCP6_CLI_PORT 546
#define QDF_NBUF_TRAC_MDNS_SRC_N_DST_PORT 5353
#define QDF_NBUF_TRAC_IP_OFFSET 14
#define QDF_NBUF_TRAC_VLAN_IP_OFFSET 18
#define QDF_NBUF_TRAC_DOUBLE_VLAN_IP_OFFSET 22
/* One dword for IPv4 header size unit */
#define QDF_NBUF_IPV4_HDR_SIZE_UNIT 4
/* EAPOL Related MASK */
#define EAPOL_PACKET_TYPE_OFFSET 15