aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-11-16 04:09:08 -0500
committerJohannes Berg <johannes.berg@intel.com>2012-11-19 09:45:46 -0500
commit90b9e446fbb64630c72cab48c007d7081aec2533 (patch)
treea0e6c4e1d69ac776103ec234bcca312dddbb1e8d /include
parent5a306f5887d5fd840beb8ea872897fa89e8fcdef (diff)
mac80211: support radiotap vendor namespace RX data
In some cases, in particular for experimentation, it can be useful to be able to add vendor namespace data to received frames in addition to the normal radiotap data. Allow doing this through mac80211 by adding fields to the RX status descriptor that describe the data while the data itself is prepended to the frame. Also add some example code to hwsim, but don't enable it because it doesn't use a proper OUI identifier. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/mac80211.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index b484a6569eac..dd08fbb3cf28 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -789,12 +789,21 @@ enum mac80211_rx_flags {
789 * @ampdu_reference: A-MPDU reference number, must be a different value for 789 * @ampdu_reference: A-MPDU reference number, must be a different value for
790 * each A-MPDU but the same for each subframe within one A-MPDU 790 * each A-MPDU but the same for each subframe within one A-MPDU
791 * @ampdu_delimiter_crc: A-MPDU delimiter CRC 791 * @ampdu_delimiter_crc: A-MPDU delimiter CRC
792 * @vendor_radiotap_bitmap: radiotap vendor namespace presence bitmap
793 * @vendor_radiotap_len: radiotap vendor namespace length
794 * @vendor_radiotap_align: radiotap vendor namespace alignment. Note
795 * that the actual data must be at the start of the SKB data
796 * already.
797 * @vendor_radiotap_oui: radiotap vendor namespace OUI
798 * @vendor_radiotap_subns: radiotap vendor sub namespace
792 */ 799 */
793struct ieee80211_rx_status { 800struct ieee80211_rx_status {
794 u64 mactime; 801 u64 mactime;
795 u32 device_timestamp; 802 u32 device_timestamp;
796 u32 ampdu_reference; 803 u32 ampdu_reference;
797 u32 flag; 804 u32 flag;
805 u32 vendor_radiotap_bitmap;
806 u16 vendor_radiotap_len;
798 u16 freq; 807 u16 freq;
799 u8 rate_idx; 808 u8 rate_idx;
800 u8 rx_flags; 809 u8 rx_flags;
@@ -802,6 +811,9 @@ struct ieee80211_rx_status {
802 u8 antenna; 811 u8 antenna;
803 s8 signal; 812 s8 signal;
804 u8 ampdu_delimiter_crc; 813 u8 ampdu_delimiter_crc;
814 u8 vendor_radiotap_align;
815 u8 vendor_radiotap_oui[3];
816 u8 vendor_radiotap_subns;
805}; 817};
806 818
807/** 819/**