summaryrefslogtreecommitdiff
path: root/uapi
diff options
context:
space:
mode:
authorPoddar, Siddarth <siddpodd@codeaurora.org>2018-01-08 20:38:43 +0530
committerPoddar, Siddarth <siddpodd@codeaurora.org>2018-01-13 12:01:02 +0530
commit6259925fd8bf35e802a844752fbf53b057d0a679 (patch)
tree448b256076dea03cabff25754a379823a2cb443f /uapi
parentfebc5230fecf53d81b2d3ba65e3f650bc32af94b (diff)
qcacld-3.0: Extend debug stats
Extend to collect connectivity check stats other than ARP such as DNS, TCP SYN/SYN-ACK/ACK, and Ipv4. Add extra attributes in existing vendor command(set/reset and get NUD debug stats) for above connectvitiy stats. CRs-Fixed: 2161889 Change-Id: I037c4ec29b181a0b3117ae2abbc7a2229b373ac2
Diffstat (limited to 'uapi')
-rw-r--r--uapi/linux/qca_vendor.h114
1 files changed, 113 insertions, 1 deletions
diff --git a/uapi/linux/qca_vendor.h b/uapi/linux/qca_vendor.h
index 5bef49f6862a..ec460be881c3 100644
--- a/uapi/linux/qca_vendor.h
+++ b/uapi/linux/qca_vendor.h
@@ -2539,7 +2539,14 @@ enum qca_attr_nud_stats_set {
QCA_ATTR_NUD_STATS_SET_START = 1,
/* IPv4 address of the default gateway (in network byte order) */
QCA_ATTR_NUD_STATS_GW_IPV4 = 2,
-
+ /*
+ * Represents the data packet type to be monitored.
+ * Host driver tracks the stats corresponding to each data frame
+ * represented by these flags.
+ * These data packets are represented by
+ * enum qca_wlan_vendor_nud_stats_set_data_pkt_info.
+ */
+ QCA_ATTR_NUD_STATS_SET_DATA_PKT_INFO = 3,
/* keep last */
QCA_ATTR_NUD_STATS_SET_LAST,
QCA_ATTR_NUD_STATS_SET_MAX =
@@ -2547,6 +2554,105 @@ enum qca_attr_nud_stats_set {
};
/**
+ * enum qca_attr_connectivity_check_stats_set - attribute to vendor subcmd
+ * QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET. This carry the requisite
+ * information to start / stop the NUD stats collection.
+ * @QCA_ATTR_CONNECTIVITY_CHECK_STATS_STATS_PKT_INFO_TYPE: set pkt info stats
+ * Bitmap to Flag to Start / Stop the NUD stats collection
+ * Start - If included , Stop - If not included
+ * @QCA_ATTR_CONNECTIVITY_CHECK_STATS_DNS_DOMAIN_NAME: set gatway ipv4 address
+ * IPv4 address of Default Gateway (in network byte order)
+ * QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET. This carry the requisite
+ * information to start / stop the NUD stats collection.
+ * @QCA_ATTR_CONNECTIVITY_CHECK_STATS_SRC_PORT: set nud debug stats
+ * Flag to Start / Stop the NUD stats collection
+ * Start - If included , Stop - If not included
+ * @QCA_ATTR_CONNECTIVITY_CHECK_STATS_DEST_PORT: set gatway ipv4 address
+ * IPv4 address of Default Gateway (in network byte order)
+ * QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET. This carry the requisite
+ * information to start / stop the NUD stats collection.
+ * @QCA_ATTR_CONNECTIVITY_CHECK_STATS_DEST_IPV4: set nud debug stats
+ * Flag to Start / Stop the NUD stats collection
+ * Start - If included , Stop - If not included
+ * @QCA_ATTR_CONNECTIVITY_CHECK_STATS_DEST_IPV6: set gatway ipv4 address
+ * IPv4 address of Default Gateway (in network byte order)
+ */
+enum qca_attr_connectivity_check_stats_set {
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_SET_INVALID = 0,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_STATS_PKT_INFO_TYPE = 1,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_DNS_DOMAIN_NAME = 2,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_SRC_PORT = 3,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_DEST_PORT = 4,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_DEST_IPV4 = 5,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_DEST_IPV6 = 6,
+ /* keep last */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_SET_LAST,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_SET_MAX =
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_SET_LAST - 1,
+};
+
+/**
+ * qca_wlan_vendor_nud_stats_data_pkt_flags: Flag representing the various
+ * data types for which the stats have to get collected.
+ */
+enum qca_wlan_vendor_connectivity_check_pkt_flags {
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_ARP = 1 << 0,
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_DNS = 1 << 1,
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_TCP_HANDSHAKE = 1 << 2,
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_ICMPV4 = 1 << 3,
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_ICMPV6 = 1 << 4,
+ /* Used by QCA_ATTR_NUD_STATS_PKT_TYPE only in nud stats get
+ * to represent the stats of respective data type.
+ */
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_TCP_SYN = 1 << 5,
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_TCP_SYN_ACK = 1 << 6,
+ QCA_WLAN_VENDOR_CONNECTIVITY_CHECK_SET_TCP_ACK = 1 << 7,
+};
+
+enum qca_attr_connectivity_check_stats {
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_INVALID = 0,
+ /* Data packet type for which the stats are collected.
+ * Represented by enum qca_wlan_vendor_nud_stats_data_pkt_flags
+ */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_TYPE = 1,
+ /* ID corresponding to the DNS frame for which the respective DNS stats
+ * are monitored (u32).
+ */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_DNS_DOMAIN_NAME = 2,
+ /* source / destination port on which the respective proto stats are
+ * collected (u32).
+ */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_SRC_PORT = 3,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_DEST_PORT = 4,
+ /* IPv4/IPv6 address for which the destined data packets are
+ * monitored. (in network byte order)
+ */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_DEST_IPV4 = 5,
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_DEST_IPV6 = 6,
+ /* Data packet Request count received from netdev */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_REQ_COUNT_FROM_NETDEV = 7,
+ /* Data packet Request count sent to lower MAC from upper MAC */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_REQ_COUNT_TO_LOWER_MAC = 8,
+ /* Data packet Request count received by lower MAC from upper MAC */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_REQ_RX_COUNT_BY_LOWER_MAC = 9,
+ /* Data packet Request count successfully transmitted by the device */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_REQ_COUNT_TX_SUCCESS = 10,
+ /* Data packet Response count received by lower MAC */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_RSP_RX_COUNT_BY_LOWER_MAC = 11,
+ /* Data packet Response count received by upper MAC */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_RSP_RX_COUNT_BY_UPPER_MAC = 12,
+ /* Data packet Response count delivered to netdev */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_RSP_COUNT_TO_NETDEV = 13,
+ /* Data Packet Response count that are dropped out of order */
+ QCA_ATTR_CONNECTIVITY_CHECK_STATS_PKT_RSP_COUNT_OUT_OF_ORDER_DROP = 14,
+
+ /* keep last */
+ QCA_ATTR_CONNECTIVITY_CHECK_DATA_STATS_LAST,
+ QCA_ATTR_CONNECTIVITY_CHECK_DATA_STATS_MAX =
+ QCA_ATTR_CONNECTIVITY_CHECK_DATA_STATS_LAST - 1,
+};
+
+/**
* qca_attr_nud_stats_get: Attributes to vendor subcmd
* QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET. This carries the requisite
* NUD statistics collected when queried.
@@ -2579,6 +2685,12 @@ enum qca_attr_nud_stats_get {
* Yes - If detected, No - If not detected.
*/
QCA_ATTR_NUD_STATS_IS_DAD = 10,
+ /*
+ * List of Data types for which the stats are requested.
+ * This list does not carry ARP stats as they are done by the
+ * above attributes. Represented by enum qca_attr_nud_data_stats.
+ */
+ QCA_ATTR_NUD_STATS_DATA_PKT_STATS = 11,
/* keep last */
QCA_ATTR_NUD_STATS_GET_LAST,