aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/nl80211.h
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2013-02-12 15:16:26 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-02-13 04:09:48 -0500
commitbb92d19983a4b54be3e3b83441a8076d92cd04bc (patch)
treee53601fab3727ec69137d67729fdf73414182aba /include/uapi/linux/nl80211.h
parent66d575705154525c33ab99b5f9ac2d246c348db6 (diff)
nl80211: add packet offset information for wowlan pattern
If user knows the location of a wowlan pattern to be matched in Rx packet, he can provide an offset with the pattern. This will help drivers to ignore initial bytes and match the pattern efficiently. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> [refactor pattern sending] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/uapi/linux/nl80211.h')
-rw-r--r--include/uapi/linux/nl80211.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index b23321154e8b..eb7b32247ec5 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -2910,6 +2910,8 @@ enum nl80211_tx_power_setting {
2910 * Note that the pattern matching is done as though frames were not 2910 * Note that the pattern matching is done as though frames were not
2911 * 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked 2911 * 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked
2912 * first (including SNAP header unpacking) and then matched. 2912 * first (including SNAP header unpacking) and then matched.
2913 * @NL80211_WOWLAN_PKTPAT_OFFSET: packet offset, pattern is matched after
2914 * these fixed number of bytes of received packet
2913 * @NUM_NL80211_WOWLAN_PKTPAT: number of attributes 2915 * @NUM_NL80211_WOWLAN_PKTPAT: number of attributes
2914 * @MAX_NL80211_WOWLAN_PKTPAT: max attribute number 2916 * @MAX_NL80211_WOWLAN_PKTPAT: max attribute number
2915 */ 2917 */
@@ -2917,6 +2919,7 @@ enum nl80211_wowlan_packet_pattern_attr {
2917 __NL80211_WOWLAN_PKTPAT_INVALID, 2919 __NL80211_WOWLAN_PKTPAT_INVALID,
2918 NL80211_WOWLAN_PKTPAT_MASK, 2920 NL80211_WOWLAN_PKTPAT_MASK,
2919 NL80211_WOWLAN_PKTPAT_PATTERN, 2921 NL80211_WOWLAN_PKTPAT_PATTERN,
2922 NL80211_WOWLAN_PKTPAT_OFFSET,
2920 2923
2921 NUM_NL80211_WOWLAN_PKTPAT, 2924 NUM_NL80211_WOWLAN_PKTPAT,
2922 MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1, 2925 MAX_NL80211_WOWLAN_PKTPAT = NUM_NL80211_WOWLAN_PKTPAT - 1,
@@ -2927,6 +2930,7 @@ enum nl80211_wowlan_packet_pattern_attr {
2927 * @max_patterns: maximum number of patterns supported 2930 * @max_patterns: maximum number of patterns supported
2928 * @min_pattern_len: minimum length of each pattern 2931 * @min_pattern_len: minimum length of each pattern
2929 * @max_pattern_len: maximum length of each pattern 2932 * @max_pattern_len: maximum length of each pattern
2933 * @max_pkt_offset: maximum Rx packet offset
2930 * 2934 *
2931 * This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when 2935 * This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when
2932 * that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the 2936 * that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED in the
@@ -2936,6 +2940,7 @@ struct nl80211_wowlan_pattern_support {
2936 __u32 max_patterns; 2940 __u32 max_patterns;
2937 __u32 min_pattern_len; 2941 __u32 min_pattern_len;
2938 __u32 max_pattern_len; 2942 __u32 max_pattern_len;
2943 __u32 max_pkt_offset;
2939} __attribute__((packed)); 2944} __attribute__((packed));
2940 2945
2941/** 2946/**
@@ -2951,9 +2956,10 @@ struct nl80211_wowlan_pattern_support {
2951 * @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns 2956 * @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns
2952 * which are passed in an array of nested attributes, each nested attribute 2957 * which are passed in an array of nested attributes, each nested attribute
2953 * defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern. 2958 * defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern.
2954 * Each pattern defines a wakeup packet. The matching is done on the MSDU, 2959 * Each pattern defines a wakeup packet. Packet offset is associated with
2955 * i.e. as though the packet was an 802.3 packet, so the pattern matching 2960 * each pattern which is used while matching the pattern. The matching is
2956 * is done after the packet is converted to the MSDU. 2961 * done on the MSDU, i.e. as though the packet was an 802.3 packet, so the
2962 * pattern matching is done after the packet is converted to the MSDU.
2957 * 2963 *
2958 * In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute 2964 * In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
2959 * carrying a &struct nl80211_wowlan_pattern_support. 2965 * carrying a &struct nl80211_wowlan_pattern_support.