mac80211: add fast-rx path
[cascardo/linux.git] / include / linux / ieee80211.h
index 3b1f6ce..113bfc4 100644 (file)
@@ -7,6 +7,7 @@
  * Copyright (c) 2005, Devicescape Software, Inc.
  * Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net>
  * Copyright (c) 2013 - 2014 Intel Mobile Communications GmbH
+ * Copyright (c) 2016 Intel Deutschland GmbH
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -637,6 +638,16 @@ static inline bool ieee80211_is_first_frag(__le16 seq_ctrl)
        return (seq_ctrl & cpu_to_le16(IEEE80211_SCTL_FRAG)) == 0;
 }
 
+/**
+ * ieee80211_is_frag - check if a frame is a fragment
+ * @hdr: 802.11 header of the frame
+ */
+static inline bool ieee80211_is_frag(struct ieee80211_hdr *hdr)
+{
+       return ieee80211_has_morefrags(hdr->frame_control) ||
+              hdr->seq_ctrl & cpu_to_le16(IEEE80211_SCTL_FRAG);
+}
+
 struct ieee80211s_hdr {
        u8 flags;
        u8 ttl;
@@ -1011,6 +1022,16 @@ struct ieee80211_mgmt {
                                        u8 tpc_elem_length;
                                        struct ieee80211_tpc_report_ie tpc;
                                } __packed tpc_report;
+                               struct {
+                                       u8 action_code;
+                                       u8 dialog_token;
+                                       u8 follow_up;
+                                       u8 tod[6];
+                                       u8 toa[6];
+                                       __le16 tod_error;
+                                       __le16 toa_error;
+                                       u8 variable[0];
+                               } __packed ftm;
                        } u;
                } __packed action;
        } u;