Define QCA vendor commands for flow stats/classification
Add nl80211 vendor commands and attributes for the collection of flow stats and classification. - QCA_NL80211_VENDOR_SUBCMD_FLOW_STATS - QCA_NL80211_VENDOR_SUBCMD_FLOW_CLASSIFY_RESULT - QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY - QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_REPORT Signed-off-by: Rakesh Pillai <quic_pillair@quicinc.com>
This commit is contained in:
parent
5308029f86
commit
5929b4eb1d
1 changed files with 401 additions and 0 deletions
|
@ -1087,6 +1087,33 @@ enum qca_radiotap_vendor_ids {
|
|||
*
|
||||
* The attributes used with this command/event are defined in enum
|
||||
* qca_wlan_vendor_attr_ap_suspend.
|
||||
*
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_FLOW_STATS: Event indication from the driver to
|
||||
* the userspace which contains all the statistics collected for a flow to
|
||||
* be classified. This event is sent if the userspace enables the
|
||||
* flow stats reporting via the command
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY and when the driver has
|
||||
* collected the required flow statistics, as specified by the attributes
|
||||
* of this event. The attributes for this event are defined in
|
||||
* enum qca_wlan_vendor_attr_flow_stats.
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_FLOW_CLASSIFY_RESULT: This vendor command is used
|
||||
* to indicate the flow classification result based on the flow samples
|
||||
* received as a part of @QCA_NL80211_VENDOR_SUBCMD_FLOW_STATS. The
|
||||
* attributes for this command are defined in the
|
||||
* enum qca_wlan_vendor_attr_flow_classify_result.
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY: This vendor command is used to
|
||||
* indicate the ASYNC statistics policy from the userspace to the driver
|
||||
* and it contains the STATS type for which the command is intended. The
|
||||
* attributes for this command are defined in the
|
||||
* enum qca_wlan_vendor_attr_async_stats_policy.
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_REPORT: Event indication from the
|
||||
* driver to the userspace containing all the samples of a classified
|
||||
* flow along with its classification result. This event is sent by the
|
||||
* driver to userspace when it receives classification result via the
|
||||
* command @QCA_NL80211_VENDOR_SUBCMD_FLOW_CLASSIFY_RESULT and the
|
||||
* collection of these statistics has been enabled by the command
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY. The attributes for this
|
||||
* event are defined in enum qca_wlan_vendor_attr_flow_stats.
|
||||
*/
|
||||
enum qca_nl80211_vendor_subcmds {
|
||||
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
|
||||
|
@ -1315,6 +1342,10 @@ enum qca_nl80211_vendor_subcmds {
|
|||
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_COMPLETE = 242,
|
||||
QCA_NL80211_VENDOR_SUBCMD_ASYNC_GET_STATION = 243,
|
||||
QCA_NL80211_VENDOR_SUBCMD_AP_SUSPEND = 244,
|
||||
QCA_NL80211_VENDOR_SUBCMD_FLOW_STATS = 245,
|
||||
QCA_NL80211_VENDOR_SUBCMD_FLOW_CLASSIFY_RESULT = 246,
|
||||
QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY = 247,
|
||||
QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_REPORT = 248,
|
||||
};
|
||||
|
||||
/* Compatibility defines for previously used subcmd names.
|
||||
|
@ -17162,4 +17193,374 @@ enum qca_wlan_vendor_attr_ap_suspend {
|
|||
QCA_WLAN_VENDOR_ATTR_AP_SUSPEND_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_traffic_type - Traffic types into which the flows can be classified.
|
||||
* @QCA_TRAFFIC_TYPE_STREAMING: Traffic type is streaming
|
||||
* @QCA_TRAFFIC_TYPE_GAMING: Traffic type is gaming
|
||||
* @QCA_TRAFFIC_TYPE_VOICE_CALL: Traffic type is a voice call
|
||||
* @QCA_TRAFFIC_TYPE_VIDEO_CALL: Traffic type is a video call
|
||||
*/
|
||||
enum qca_traffic_type {
|
||||
QCA_TRAFFIC_TYPE_STREAMING = 0,
|
||||
QCA_TRAFFIC_TYPE_GAMING = 1,
|
||||
QCA_TRAFFIC_TYPE_VOICE_CALL = 2,
|
||||
QCA_TRAFFIC_TYPE_VIDEO_CALL = 3,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_flow_tuple_proto - Definition of the values to specify
|
||||
* the flow tuple protocol in QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_PROTOCOL.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_FLOW_TUPLE_PROTO_UDP: UDP flow
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_FLOW_TUPLE_PROTO_TCP: TCP flow
|
||||
*/
|
||||
enum qca_wlan_vendor_flow_tuple_proto {
|
||||
QCA_WLAN_VENDOR_FLOW_TUPLE_PROTO_UDP = 0,
|
||||
QCA_WLAN_VENDOR_FLOW_TUPLE_PROTO_TCP = 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_flow_tuple - Definition of attributes to specify a
|
||||
* flow tuple.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_SRC_ADDR: Optional u32 attribute
|
||||
* indicates the source IPv4 address (in network byte order).
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_DST_ADDR: Optional u32 attribute
|
||||
* indicates the destination IPv4 address (in network byte order).
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_SRC_ADDR: Optional NLA_BINARY
|
||||
* attribute of 16 bytes length that indicates the source IPv6 address
|
||||
* (in network byte order) for a flow.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_DST_ADDR: Optional NLA_BINARY
|
||||
* attribute of 16 bytes length that indicates the destination IPv6 address
|
||||
* (in network byte order) for a flow.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_SRC_PORT: Mandatory u16 attribute indicates
|
||||
* the TCP/UDP source port.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_DST_PORT: Mandatory u16 attribute indicates
|
||||
* the TCP/UDP destination port.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_PROTOCOL: Mandatory u8 attribute indicates
|
||||
* the flow protocol. Uses the enum qca_wlan_vendor_flow_tuple_proto.
|
||||
*
|
||||
* IPv4 flows have to specify @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_SRC_ADDR
|
||||
* and @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_DST_ADDR.
|
||||
* IPv6 flows have to specify @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_SRC_ADDR
|
||||
* and @QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_DST_ADDR.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_flow_tuple {
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_SRC_ADDR = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV4_DST_ADDR = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_SRC_ADDR = 3,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_IPV6_DST_ADDR = 4,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_SRC_PORT = 5,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_DST_PORT = 6,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_PROTOCOL = 7,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_TUPLE_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_txrx_stats - Definition of attributes to specify
|
||||
* TX/RX sample for one window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_STATS_NUM_BYTES: Mandatory u64 attribute indicates
|
||||
* the total number of uplink/downlink bytes within the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_STATS_NUM_PKTS: Mandatory u32 attribute indicates
|
||||
* the total number of packets (uplink/downlink) within the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_SIZE_MIN: Mandatory u32 attribute
|
||||
* indicates the minimum uplink/downlink packet size (in bytes) during the
|
||||
* sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_SIZE_MAX: Mandatory u32 attribute
|
||||
* indicates the maximum uplink/downlink packet size (in bytes) during the
|
||||
* sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_MIN: Mandatory u64 attribute
|
||||
* indicates the minimum uplink/downlink packet IAT (inter-arrival time)
|
||||
* in microseconds, during the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_MAX: Mandatory u64 attribute
|
||||
* indicates the maximum uplink/downlink packet IAT (inter-arrival time)
|
||||
* in microseconds, during the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_SUM: Mandatory u64 attribute
|
||||
* indicates the sum of all the values of uplink/downlink packet IAT
|
||||
* (inter-arrival time) in microseconds, during the sampling window.
|
||||
* This attribute is used to calculate the mean packet (inter-arrival time)
|
||||
* during the sampling window.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_txrx_stats {
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_NUM_BYTES = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_NUM_PKTS = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_SIZE_MIN = 3,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_SIZE_MAX = 4,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_MIN = 5,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_MAX = 6,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_PKT_IAT_SUM = 7,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_STATS_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_txrx_samples_windows - Definition of attributes
|
||||
* to specify the TX/RX statistics collected in a sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_WINDOW_SIZE: Mandatory u32
|
||||
* attribute indicates window size for packet TX/RX sampling (in milliseconds).
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_UL_STATS: Mandatory nested
|
||||
* attribute containing the uplink TX/RX packet statistics for a flow. Uses the
|
||||
* enum qca_wlan_vendor_attr_txrx_stats.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_DL_STATS: Mandatory nested
|
||||
* attribute containing the downlink TX/RX packet statistics for a flow. Uses
|
||||
* the enum qca_wlan_vendor_attr_txrx_stats.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_txrx_samples_windows {
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_WINDOW_SIZE = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_UL_STATS = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_DL_STATS = 3,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_txrx_samples - Definition of attributes to specify
|
||||
* a TX/RX sample.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS: Mandatory array of nested
|
||||
* attributes that indicates the TX/RX samples in multiple overlapping windows.
|
||||
* This uses the attributes defined by
|
||||
* enum qca_wlan_vendor_attr_txrx_samples_windows.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_txrx_samples {
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_WINDOWS = 1,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_TXRX_SAMPLES_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_burst_stats - Definition of attribute to specify
|
||||
* burst statistics.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_MIN: Mandatory u32 attribute
|
||||
* indicates minimum burst duration (in milliseconds) during the sampling
|
||||
* window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_MAX: Mandatory u32 attribute
|
||||
* indicates maximum burst duration (in milliseconds) during the sampling
|
||||
* window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_SUM: Mandatory u64 attribute
|
||||
* indicates the sum of all the values of burst duration (in milliseconds)
|
||||
* during the sampling window. This attribute is used to calculate the mean
|
||||
* burst duration (in milliseconds) during the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_MIN: Mandatory u64 attribute
|
||||
* indicates minimum burst size (in bytes) during the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_MAX: Mandatory u64 attribute
|
||||
* indicates maximum burst size (in bytes) during the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_SUM: Mandatory u64 attribute
|
||||
* indicates the sum of all the values of burst size (in bytes) during the
|
||||
* sampling window. This attribute is used to calculate the mean burst size
|
||||
* (in bytes) during the sampling window.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_COUNT: Mandatory u32 attribute
|
||||
* indicates the number of bursts during the sampling window.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_burst_stats {
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_MIN = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_MAX = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_DURATION_SUM = 3,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_MIN = 4,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_MAX = 5,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_SIZE_SUM = 6,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_BURST_COUNT = 7,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_STATS_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_burst_sample - Definition of attributes to specify
|
||||
* a burst sample.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_TXRX_STATS: Mandatory nested attribute
|
||||
* indicates the uplink and downlink packet statistics collected in a
|
||||
* sampling window, containing attributes defined in
|
||||
* enum qca_wlan_vendor_attr_txrx_samples_windows.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_UL_BURST_STATS: Optional nested attribute
|
||||
* indicates the uplink burst stats, containing attributes defined in
|
||||
* enum qca_wlan_vendor_attr_burst_stats.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_DL_BURST_STATS: Optional nested attribute
|
||||
* indicates the downlink burst stats, containing attributes defined in
|
||||
* enum qca_wlan_vendor_attr_burst_stats.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_burst_sample {
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_TXRX_STATS = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_UL_BURST_STATS = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_DL_BURST_STATS = 3,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_BURST_SAMPLES_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_flow_stats - Definition of attribute used by
|
||||
* %QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_REPORT and
|
||||
* %QCA_NL80211_VENDOR_SUBCMD_FLOW_STATS.
|
||||
*
|
||||
* Presence of one of the attributes
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_STATS_TXRX_SAMPLES and
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_STATS_BURST_SAMPLES is mandatory.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_STATS_FLOW_TUPLE: Mandatory nested attribute
|
||||
* containing the flow tuple of the flow for which the statistics are being
|
||||
* reported.
|
||||
* Uses the attributes defined by enum qca_wlan_vendor_attr_flow_tuple.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_STATS_TRAFFIC_TYPE: Optional u8 attribute
|
||||
* indicates the traffic type classified for this flow tuple. Uses the
|
||||
* enum qca_traffic_type values.
|
||||
* This attribute is mandatory for the command
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_REPORT.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_STATS_TXRX_SAMPLES: Optional nested attribute
|
||||
* containing nested array of TX/RX samples defined in
|
||||
* enum qca_wlan_vendor_attr_txrx_samples.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_STATS_BURST_SAMPLES: Optional nested attribute
|
||||
* indicates the packet burst statistics for a flow. Uses attributes defined by
|
||||
* enum qca_wlan_vendor_attr_burst_sample.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_flow_stats {
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_FLOW_TUPLE = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_TRAFFIC_TYPE = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_TXRX_SAMPLES = 3,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_BURST_SAMPLES = 4,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_STATS_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_flow_classify_result - Definition of attributes to
|
||||
* specify the flow classification result. This enum is used by
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_FLOW_CLASSIFY_RESULT.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_FLOW_TUPLE: Mandatory nested
|
||||
* attribute containing attributes defined by
|
||||
* enum qca_wlan_vendor_attr_flow_tuple.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_TRAFFIC_TYPE: Mandatory u8
|
||||
* attribute indicates the traffic type learned for this flow tuple. Uses the
|
||||
* enum qca_traffic_type values.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_flow_classify_result {
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_FLOW_TUPLE = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_TRAFFIC_TYPE = 2,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_FLOW_CLASSIFY_RESULT_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_async_stats_sub_module - The statistics type used in async
|
||||
* statistics policy.
|
||||
* Used by @QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_STATS_TYPE.
|
||||
*
|
||||
* @QCA_ASYNC_STATS_TYPE_POWERSAVE: Wi-Fi powersave statistics
|
||||
*
|
||||
* @QCA_ASYNC_STATS_TYPE_FLOW_STATS: Flow statistics
|
||||
*
|
||||
* @QCA_ASYNC_STATS_TYPE_CLASSIFIED_FLOW_STATS: Classified flow statistics
|
||||
*/
|
||||
enum qca_async_stats_type {
|
||||
QCA_ASYNC_STATS_TYPE_POWERSAVE = 0,
|
||||
QCA_ASYNC_STATS_TYPE_FLOW_STATS = 1,
|
||||
QCA_ASYNC_STATS_TYPE_CLASSIFIED_FLOW_STATS = 2,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_async_stats_action - ASYNC statistics action. Used by
|
||||
* @QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_ACTION.
|
||||
*
|
||||
* @QCA_ASYNC_STATS_ACTION_START: Start indication for async statistics
|
||||
* collection.
|
||||
* @QCA_ASYNC_STATS_ACTION_STOP: Stop indication for async statistics
|
||||
* collection.
|
||||
*/
|
||||
enum qca_async_stats_action {
|
||||
QCA_ASYNC_STATS_ACTION_START = 0,
|
||||
QCA_ASYNC_STATS_ACTION_STOP = 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_async_stats_policy - Definition of attributes to
|
||||
* specify the ASYNC statistics policy. This enum is used by
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_ASYNC_STATS_POLICY.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_STATS_TYPE: Mandatory u8
|
||||
* attribute indicates the statistics type for which the async statistics policy
|
||||
* needs to be applied by the driver. Uses the enum qca_async_stats_type values.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_ACTION: Mandatory u8 attribute
|
||||
* indicates the action as part of this policy.
|
||||
* Uses the enum qca_async_stats_action values.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_STATS_PERIODICITY: Optional u32
|
||||
* attribute indicates the periodicity (in milliseconds) for the statistics to
|
||||
* be reported. This attribute is mandatory for QCA_ASYNC_STATS_TYPE_POWERSAVE.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_async_stats_policy {
|
||||
QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_STATS_TYPE = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_ACTION = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_STATS_PERIODICITY = 3,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_ASYNC_STATS_POLICY_LAST - 1,
|
||||
};
|
||||
|
||||
#endif /* QCA_VENDOR_H */
|
||||
|
|
Loading…
Reference in a new issue