diff options
| author | Himanshu Agarwal <himanaga@codeaurora.org> | 2017-01-24 21:34:16 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-02-07 09:13:18 -0800 |
| commit | 8a68b91de40919d863a09247baef1f98f91c4a2d (patch) | |
| tree | b007a451a309e029fc41f34a590b26f1eea1c77c | |
| parent | d09814ad7acaff5672f8a051a78d6de9a47d1c9d (diff) | |
qcacld-2.0: Add support to dump ICMPV6 RS and RA in wow wakeup stats
Add support to dump information for ICMPV6 RS and RA packets in
wow wakeup stats.
Change-Id: I1a2852189664fff31e29b487d7a8c66ee83931c5
CRs-Fixed: 1115364
| -rw-r--r-- | CORE/SERVICES/COMMON/adf/adf_nbuf.c | 8 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/adf/adf_nbuf.h | 6 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 12 |
3 files changed, 25 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/adf/adf_nbuf.c b/CORE/SERVICES/COMMON/adf/adf_nbuf.c index c184a339ea09..503b5a3c1231 100644 --- a/CORE/SERVICES/COMMON/adf/adf_nbuf.c +++ b/CORE/SERVICES/COMMON/adf/adf_nbuf.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -753,6 +753,12 @@ __adf_nbuf_data_get_icmpv6_subtype(uint8_t *data) case ICMPV6_RESPONSE: proto_subtype = ADF_PROTO_ICMPV6_RES; break; + case ICMPV6_RS: + proto_subtype = ADF_PROTO_ICMPV6_RS; + break; + case ICMPV6_RA: + proto_subtype = ADF_PROTO_ICMPV6_RA; + break; case ICMPV6_NS: proto_subtype = ADF_PROTO_ICMPV6_NS; break; diff --git a/CORE/SERVICES/COMMON/adf/adf_nbuf.h b/CORE/SERVICES/COMMON/adf/adf_nbuf.h index 048a34075f91..1a5c20ecc0a6 100644 --- a/CORE/SERVICES/COMMON/adf/adf_nbuf.h +++ b/CORE/SERVICES/COMMON/adf/adf_nbuf.h @@ -178,6 +178,8 @@ struct mon_rx_status { #define ICMPV6_SUBTYPE_OFFSET 54 #define ICMPV6_REQUEST 0x80 #define ICMPV6_RESPONSE 0x81 +#define ICMPV6_RS 0x85 +#define ICMPV6_RA 0x86 #define ICMPV6_NS 0x87 #define ICMPV6_NA 0x88 #define ADF_NBUF_IPA_CHECK_MASK 0x80000000 @@ -219,6 +221,8 @@ enum adf_proto_type { * @ADF_PROTO_ICMP_RES - icmp response * @ADF_PROTO_ICMPV6_REQ - icmpv6 request * @ADF_PROTO_ICMPV6_RES - icmpv6 response + * @ADF_PROTO_ICMPV6_RS - icmpv6 rs packet + * @ADF_PROTO_ICMPV6_RA - icmpv6 ra packet * @ADF_PROTO_ICMPV6_NS - icmpv6 ns packet * @ADF_PROTO_ICMPV6_NA - icmpv6 na packet * @ADF_PROTO_IPV4_UDP - ipv4 udp @@ -253,6 +257,8 @@ enum adf_proto_subtype { ADF_PROTO_ICMP_RES, ADF_PROTO_ICMPV6_REQ, ADF_PROTO_ICMPV6_RES, + ADF_PROTO_ICMPV6_RS, + ADF_PROTO_ICMPV6_RA, ADF_PROTO_ICMPV6_NS, ADF_PROTO_ICMPV6_NA, ADF_PROTO_IPV4_UDP, diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index c1ea9e032203..358819e289df 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -22616,6 +22616,14 @@ wma_pkt_proto_subtype_to_string(enum adf_proto_subtype proto_subtype) return "ICMPV6 REQUEST"; case ADF_PROTO_ICMPV6_RES: return "ICMPV6 RESPONSE"; + case ADF_PROTO_ICMPV6_RS: + return "ICMPV6 RS"; + case ADF_PROTO_ICMPV6_RA: + return "ICMPV6 RA"; + case ADF_PROTO_ICMPV6_NS: + return "ICMPV6 NS"; + case ADF_PROTO_ICMPV6_NA: + return "ICMPV6 NA"; case ADF_PROTO_IPV4_UDP: return "IPV4 UDP Packet"; case ADF_PROTO_IPV4_TCP: @@ -22808,6 +22816,10 @@ static void wma_wow_parse_data_pkt_buffer(uint8_t *data, case ADF_PROTO_ICMPV6_REQ: case ADF_PROTO_ICMPV6_RES: + case ADF_PROTO_ICMPV6_RS: + case ADF_PROTO_ICMPV6_RA: + case ADF_PROTO_ICMPV6_NS: + case ADF_PROTO_ICMPV6_NA: WMA_LOGD("WOW Wakeup: %s rcvd", wma_pkt_proto_subtype_to_string(proto_subtype)); if (buf_len >= WMA_IPV6_PKT_INFO_GET_MIN_LEN) { |
