diff options
| author | John W. Linville <linville@tuxdriver.com> | 2014-02-20 15:02:02 -0500 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2014-02-20 15:02:02 -0500 |
| commit | 88daf80dcca19ff995cc263592426f734a9702f3 (patch) | |
| tree | 7a52e25df74e52d00c3821032e719244e8a5526f /include/linux | |
| parent | 010d3c3989706d800ae72253773fa6537cc9f74c (diff) | |
| parent | 35582ad9d342025653aaf28ed321bf5352488d7f (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ieee80211.h | 199 |
1 files changed, 133 insertions, 66 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index e526a8cecb70..5f349355ee54 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
| @@ -597,6 +597,20 @@ static inline int ieee80211_is_qos_nullfunc(__le16 fc) | |||
| 597 | } | 597 | } |
| 598 | 598 | ||
| 599 | /** | 599 | /** |
| 600 | * ieee80211_is_bufferable_mmpdu - check if frame is bufferable MMPDU | ||
| 601 | * @fc: frame control field in little-endian byteorder | ||
| 602 | */ | ||
| 603 | static inline bool ieee80211_is_bufferable_mmpdu(__le16 fc) | ||
| 604 | { | ||
| 605 | /* IEEE 802.11-2012, definition of "bufferable management frame"; | ||
| 606 | * note that this ignores the IBSS special case. */ | ||
| 607 | return ieee80211_is_mgmt(fc) && | ||
| 608 | (ieee80211_is_action(fc) || | ||
| 609 | ieee80211_is_disassoc(fc) || | ||
| 610 | ieee80211_is_deauth(fc)); | ||
| 611 | } | ||
| 612 | |||
| 613 | /** | ||
| 600 | * ieee80211_is_first_frag - check if IEEE80211_SCTL_FRAG is not set | 614 | * ieee80211_is_first_frag - check if IEEE80211_SCTL_FRAG is not set |
| 601 | * @seq_ctrl: frame sequence control bytes in little-endian byteorder | 615 | * @seq_ctrl: frame sequence control bytes in little-endian byteorder |
| 602 | */ | 616 | */ |
| @@ -1636,51 +1650,22 @@ enum ieee80211_reasoncode { | |||
| 1636 | enum ieee80211_eid { | 1650 | enum ieee80211_eid { |
| 1637 | WLAN_EID_SSID = 0, | 1651 | WLAN_EID_SSID = 0, |
| 1638 | WLAN_EID_SUPP_RATES = 1, | 1652 | WLAN_EID_SUPP_RATES = 1, |
| 1639 | WLAN_EID_FH_PARAMS = 2, | 1653 | WLAN_EID_FH_PARAMS = 2, /* reserved now */ |
| 1640 | WLAN_EID_DS_PARAMS = 3, | 1654 | WLAN_EID_DS_PARAMS = 3, |
| 1641 | WLAN_EID_CF_PARAMS = 4, | 1655 | WLAN_EID_CF_PARAMS = 4, |
| 1642 | WLAN_EID_TIM = 5, | 1656 | WLAN_EID_TIM = 5, |
| 1643 | WLAN_EID_IBSS_PARAMS = 6, | 1657 | WLAN_EID_IBSS_PARAMS = 6, |
| 1644 | WLAN_EID_CHALLENGE = 16, | ||
| 1645 | |||
| 1646 | WLAN_EID_COUNTRY = 7, | 1658 | WLAN_EID_COUNTRY = 7, |
| 1647 | WLAN_EID_HP_PARAMS = 8, | 1659 | WLAN_EID_HP_PARAMS = 8, |
| 1648 | WLAN_EID_HP_TABLE = 9, | 1660 | WLAN_EID_HP_TABLE = 9, |
| 1649 | WLAN_EID_REQUEST = 10, | 1661 | WLAN_EID_REQUEST = 10, |
| 1650 | |||
| 1651 | WLAN_EID_QBSS_LOAD = 11, | 1662 | WLAN_EID_QBSS_LOAD = 11, |
| 1652 | WLAN_EID_EDCA_PARAM_SET = 12, | 1663 | WLAN_EID_EDCA_PARAM_SET = 12, |
| 1653 | WLAN_EID_TSPEC = 13, | 1664 | WLAN_EID_TSPEC = 13, |
| 1654 | WLAN_EID_TCLAS = 14, | 1665 | WLAN_EID_TCLAS = 14, |
| 1655 | WLAN_EID_SCHEDULE = 15, | 1666 | WLAN_EID_SCHEDULE = 15, |
| 1656 | WLAN_EID_TS_DELAY = 43, | 1667 | WLAN_EID_CHALLENGE = 16, |
| 1657 | WLAN_EID_TCLAS_PROCESSING = 44, | 1668 | /* 17-31 reserved for challenge text extension */ |
| 1658 | WLAN_EID_QOS_CAPA = 46, | ||
| 1659 | /* 802.11z */ | ||
| 1660 | WLAN_EID_LINK_ID = 101, | ||
| 1661 | /* 802.11s */ | ||
| 1662 | WLAN_EID_MESH_CONFIG = 113, | ||
| 1663 | WLAN_EID_MESH_ID = 114, | ||
| 1664 | WLAN_EID_LINK_METRIC_REPORT = 115, | ||
| 1665 | WLAN_EID_CONGESTION_NOTIFICATION = 116, | ||
| 1666 | WLAN_EID_PEER_MGMT = 117, | ||
| 1667 | WLAN_EID_CHAN_SWITCH_PARAM = 118, | ||
| 1668 | WLAN_EID_MESH_AWAKE_WINDOW = 119, | ||
| 1669 | WLAN_EID_BEACON_TIMING = 120, | ||
| 1670 | WLAN_EID_MCCAOP_SETUP_REQ = 121, | ||
| 1671 | WLAN_EID_MCCAOP_SETUP_RESP = 122, | ||
| 1672 | WLAN_EID_MCCAOP_ADVERT = 123, | ||
| 1673 | WLAN_EID_MCCAOP_TEARDOWN = 124, | ||
| 1674 | WLAN_EID_GANN = 125, | ||
| 1675 | WLAN_EID_RANN = 126, | ||
| 1676 | WLAN_EID_PREQ = 130, | ||
| 1677 | WLAN_EID_PREP = 131, | ||
| 1678 | WLAN_EID_PERR = 132, | ||
| 1679 | WLAN_EID_PXU = 137, | ||
| 1680 | WLAN_EID_PXUC = 138, | ||
| 1681 | WLAN_EID_AUTH_MESH_PEER_EXCH = 139, | ||
| 1682 | WLAN_EID_MIC = 140, | ||
| 1683 | |||
| 1684 | WLAN_EID_PWR_CONSTRAINT = 32, | 1669 | WLAN_EID_PWR_CONSTRAINT = 32, |
| 1685 | WLAN_EID_PWR_CAPABILITY = 33, | 1670 | WLAN_EID_PWR_CAPABILITY = 33, |
| 1686 | WLAN_EID_TPC_REQUEST = 34, | 1671 | WLAN_EID_TPC_REQUEST = 34, |
| @@ -1691,66 +1676,114 @@ enum ieee80211_eid { | |||
| 1691 | WLAN_EID_MEASURE_REPORT = 39, | 1676 | WLAN_EID_MEASURE_REPORT = 39, |
| 1692 | WLAN_EID_QUIET = 40, | 1677 | WLAN_EID_QUIET = 40, |
| 1693 | WLAN_EID_IBSS_DFS = 41, | 1678 | WLAN_EID_IBSS_DFS = 41, |
| 1694 | |||
| 1695 | WLAN_EID_ERP_INFO = 42, | 1679 | WLAN_EID_ERP_INFO = 42, |
| 1696 | WLAN_EID_EXT_SUPP_RATES = 50, | 1680 | WLAN_EID_TS_DELAY = 43, |
| 1697 | 1681 | WLAN_EID_TCLAS_PROCESSING = 44, | |
| 1698 | WLAN_EID_HT_CAPABILITY = 45, | 1682 | WLAN_EID_HT_CAPABILITY = 45, |
| 1699 | WLAN_EID_HT_OPERATION = 61, | 1683 | WLAN_EID_QOS_CAPA = 46, |
| 1700 | WLAN_EID_SECONDARY_CHANNEL_OFFSET = 62, | 1684 | /* 47 reserved for Broadcom */ |
| 1701 | |||
| 1702 | WLAN_EID_RSN = 48, | 1685 | WLAN_EID_RSN = 48, |
| 1703 | WLAN_EID_MMIE = 76, | 1686 | WLAN_EID_802_15_COEX = 49, |
| 1704 | WLAN_EID_VENDOR_SPECIFIC = 221, | 1687 | WLAN_EID_EXT_SUPP_RATES = 50, |
| 1705 | WLAN_EID_QOS_PARAMETER = 222, | ||
| 1706 | |||
| 1707 | WLAN_EID_AP_CHAN_REPORT = 51, | 1688 | WLAN_EID_AP_CHAN_REPORT = 51, |
| 1708 | WLAN_EID_NEIGHBOR_REPORT = 52, | 1689 | WLAN_EID_NEIGHBOR_REPORT = 52, |
| 1709 | WLAN_EID_RCPI = 53, | 1690 | WLAN_EID_RCPI = 53, |
| 1691 | WLAN_EID_MOBILITY_DOMAIN = 54, | ||
| 1692 | WLAN_EID_FAST_BSS_TRANSITION = 55, | ||
| 1693 | WLAN_EID_TIMEOUT_INTERVAL = 56, | ||
| 1694 | WLAN_EID_RIC_DATA = 57, | ||
| 1695 | WLAN_EID_DSE_REGISTERED_LOCATION = 58, | ||
| 1696 | WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59, | ||
| 1697 | WLAN_EID_EXT_CHANSWITCH_ANN = 60, | ||
| 1698 | WLAN_EID_HT_OPERATION = 61, | ||
| 1699 | WLAN_EID_SECONDARY_CHANNEL_OFFSET = 62, | ||
| 1710 | WLAN_EID_BSS_AVG_ACCESS_DELAY = 63, | 1700 | WLAN_EID_BSS_AVG_ACCESS_DELAY = 63, |
| 1711 | WLAN_EID_ANTENNA_INFO = 64, | 1701 | WLAN_EID_ANTENNA_INFO = 64, |
| 1712 | WLAN_EID_RSNI = 65, | 1702 | WLAN_EID_RSNI = 65, |
| 1713 | WLAN_EID_MEASUREMENT_PILOT_TX_INFO = 66, | 1703 | WLAN_EID_MEASUREMENT_PILOT_TX_INFO = 66, |
| 1714 | WLAN_EID_BSS_AVAILABLE_CAPACITY = 67, | 1704 | WLAN_EID_BSS_AVAILABLE_CAPACITY = 67, |
| 1715 | WLAN_EID_BSS_AC_ACCESS_DELAY = 68, | 1705 | WLAN_EID_BSS_AC_ACCESS_DELAY = 68, |
| 1706 | WLAN_EID_TIME_ADVERTISEMENT = 69, | ||
| 1716 | WLAN_EID_RRM_ENABLED_CAPABILITIES = 70, | 1707 | WLAN_EID_RRM_ENABLED_CAPABILITIES = 70, |
| 1717 | WLAN_EID_MULTIPLE_BSSID = 71, | 1708 | WLAN_EID_MULTIPLE_BSSID = 71, |
| 1718 | WLAN_EID_BSS_COEX_2040 = 72, | 1709 | WLAN_EID_BSS_COEX_2040 = 72, |
| 1719 | WLAN_EID_OVERLAP_BSS_SCAN_PARAM = 74, | 1710 | WLAN_EID_OVERLAP_BSS_SCAN_PARAM = 74, |
| 1720 | WLAN_EID_EXT_CAPABILITY = 127, | ||
| 1721 | |||
| 1722 | WLAN_EID_MOBILITY_DOMAIN = 54, | ||
| 1723 | WLAN_EID_FAST_BSS_TRANSITION = 55, | ||
| 1724 | WLAN_EID_TIMEOUT_INTERVAL = 56, | ||
| 1725 | WLAN_EID_RIC_DATA = 57, | ||
| 1726 | WLAN_EID_RIC_DESCRIPTOR = 75, | 1711 | WLAN_EID_RIC_DESCRIPTOR = 75, |
| 1727 | 1712 | WLAN_EID_MMIE = 76, | |
| 1728 | WLAN_EID_DSE_REGISTERED_LOCATION = 58, | 1713 | WLAN_EID_ASSOC_COMEBACK_TIME = 77, |
| 1729 | WLAN_EID_SUPPORTED_REGULATORY_CLASSES = 59, | 1714 | WLAN_EID_EVENT_REQUEST = 78, |
| 1730 | WLAN_EID_EXT_CHANSWITCH_ANN = 60, | 1715 | WLAN_EID_EVENT_REPORT = 79, |
| 1731 | 1716 | WLAN_EID_DIAGNOSTIC_REQUEST = 80, | |
| 1732 | WLAN_EID_VHT_CAPABILITY = 191, | 1717 | WLAN_EID_DIAGNOSTIC_REPORT = 81, |
| 1733 | WLAN_EID_VHT_OPERATION = 192, | 1718 | WLAN_EID_LOCATION_PARAMS = 82, |
| 1734 | WLAN_EID_OPMODE_NOTIF = 199, | ||
| 1735 | WLAN_EID_WIDE_BW_CHANNEL_SWITCH = 194, | ||
| 1736 | WLAN_EID_CHANNEL_SWITCH_WRAPPER = 196, | ||
| 1737 | WLAN_EID_EXTENDED_BSS_LOAD = 193, | ||
| 1738 | WLAN_EID_VHT_TX_POWER_ENVELOPE = 195, | ||
| 1739 | WLAN_EID_AID = 197, | ||
| 1740 | WLAN_EID_QUIET_CHANNEL = 198, | ||
| 1741 | |||
| 1742 | /* 802.11ad */ | ||
| 1743 | WLAN_EID_NON_TX_BSSID_CAP = 83, | 1719 | WLAN_EID_NON_TX_BSSID_CAP = 83, |
| 1720 | WLAN_EID_SSID_LIST = 84, | ||
| 1721 | WLAN_EID_MULTI_BSSID_IDX = 85, | ||
| 1722 | WLAN_EID_FMS_DESCRIPTOR = 86, | ||
| 1723 | WLAN_EID_FMS_REQUEST = 87, | ||
| 1724 | WLAN_EID_FMS_RESPONSE = 88, | ||
| 1725 | WLAN_EID_QOS_TRAFFIC_CAPA = 89, | ||
| 1726 | WLAN_EID_BSS_MAX_IDLE_PERIOD = 90, | ||
| 1727 | WLAN_EID_TSF_REQUEST = 91, | ||
| 1728 | WLAN_EID_TSF_RESPOSNE = 92, | ||
| 1729 | WLAN_EID_WNM_SLEEP_MODE = 93, | ||
| 1730 | WLAN_EID_TIM_BCAST_REQ = 94, | ||
| 1731 | WLAN_EID_TIM_BCAST_RESP = 95, | ||
| 1732 | WLAN_EID_COLL_IF_REPORT = 96, | ||
| 1733 | WLAN_EID_CHANNEL_USAGE = 97, | ||
| 1734 | WLAN_EID_TIME_ZONE = 98, | ||
| 1735 | WLAN_EID_DMS_REQUEST = 99, | ||
| 1736 | WLAN_EID_DMS_RESPONSE = 100, | ||
| 1737 | WLAN_EID_LINK_ID = 101, | ||
| 1738 | WLAN_EID_WAKEUP_SCHEDUL = 102, | ||
| 1739 | /* 103 reserved */ | ||
| 1740 | WLAN_EID_CHAN_SWITCH_TIMING = 104, | ||
| 1741 | WLAN_EID_PTI_CONTROL = 105, | ||
| 1742 | WLAN_EID_PU_BUFFER_STATUS = 106, | ||
| 1743 | WLAN_EID_INTERWORKING = 107, | ||
| 1744 | WLAN_EID_ADVERTISEMENT_PROTOCOL = 108, | ||
| 1745 | WLAN_EID_EXPEDITED_BW_REQ = 109, | ||
| 1746 | WLAN_EID_QOS_MAP_SET = 110, | ||
| 1747 | WLAN_EID_ROAMING_CONSORTIUM = 111, | ||
| 1748 | WLAN_EID_EMERGENCY_ALERT = 112, | ||
| 1749 | WLAN_EID_MESH_CONFIG = 113, | ||
| 1750 | WLAN_EID_MESH_ID = 114, | ||
| 1751 | WLAN_EID_LINK_METRIC_REPORT = 115, | ||
| 1752 | WLAN_EID_CONGESTION_NOTIFICATION = 116, | ||
| 1753 | WLAN_EID_PEER_MGMT = 117, | ||
| 1754 | WLAN_EID_CHAN_SWITCH_PARAM = 118, | ||
| 1755 | WLAN_EID_MESH_AWAKE_WINDOW = 119, | ||
| 1756 | WLAN_EID_BEACON_TIMING = 120, | ||
| 1757 | WLAN_EID_MCCAOP_SETUP_REQ = 121, | ||
| 1758 | WLAN_EID_MCCAOP_SETUP_RESP = 122, | ||
| 1759 | WLAN_EID_MCCAOP_ADVERT = 123, | ||
| 1760 | WLAN_EID_MCCAOP_TEARDOWN = 124, | ||
| 1761 | WLAN_EID_GANN = 125, | ||
| 1762 | WLAN_EID_RANN = 126, | ||
| 1763 | WLAN_EID_EXT_CAPABILITY = 127, | ||
| 1764 | /* 128, 129 reserved for Agere */ | ||
| 1765 | WLAN_EID_PREQ = 130, | ||
| 1766 | WLAN_EID_PREP = 131, | ||
| 1767 | WLAN_EID_PERR = 132, | ||
| 1768 | /* 133-136 reserved for Cisco */ | ||
| 1769 | WLAN_EID_PXU = 137, | ||
| 1770 | WLAN_EID_PXUC = 138, | ||
| 1771 | WLAN_EID_AUTH_MESH_PEER_EXCH = 139, | ||
| 1772 | WLAN_EID_MIC = 140, | ||
| 1773 | WLAN_EID_DESTINATION_URI = 141, | ||
| 1774 | WLAN_EID_UAPSD_COEX = 142, | ||
| 1744 | WLAN_EID_WAKEUP_SCHEDULE = 143, | 1775 | WLAN_EID_WAKEUP_SCHEDULE = 143, |
| 1745 | WLAN_EID_EXT_SCHEDULE = 144, | 1776 | WLAN_EID_EXT_SCHEDULE = 144, |
| 1746 | WLAN_EID_STA_AVAILABILITY = 145, | 1777 | WLAN_EID_STA_AVAILABILITY = 145, |
| 1747 | WLAN_EID_DMG_TSPEC = 146, | 1778 | WLAN_EID_DMG_TSPEC = 146, |
| 1748 | WLAN_EID_DMG_AT = 147, | 1779 | WLAN_EID_DMG_AT = 147, |
| 1749 | WLAN_EID_DMG_CAP = 148, | 1780 | WLAN_EID_DMG_CAP = 148, |
| 1781 | /* 149-150 reserved for Cisco */ | ||
| 1750 | WLAN_EID_DMG_OPERATION = 151, | 1782 | WLAN_EID_DMG_OPERATION = 151, |
| 1751 | WLAN_EID_DMG_BSS_PARAM_CHANGE = 152, | 1783 | WLAN_EID_DMG_BSS_PARAM_CHANGE = 152, |
| 1752 | WLAN_EID_DMG_BEAM_REFINEMENT = 153, | 1784 | WLAN_EID_DMG_BEAM_REFINEMENT = 153, |
| 1753 | WLAN_EID_CHANNEL_MEASURE_FEEDBACK = 154, | 1785 | WLAN_EID_CHANNEL_MEASURE_FEEDBACK = 154, |
| 1786 | /* 155-156 reserved for Cisco */ | ||
| 1754 | WLAN_EID_AWAKE_WINDOW = 157, | 1787 | WLAN_EID_AWAKE_WINDOW = 157, |
| 1755 | WLAN_EID_MULTI_BAND = 158, | 1788 | WLAN_EID_MULTI_BAND = 158, |
| 1756 | WLAN_EID_ADDBA_EXT = 159, | 1789 | WLAN_EID_ADDBA_EXT = 159, |
| @@ -1767,11 +1800,34 @@ enum ieee80211_eid { | |||
| 1767 | WLAN_EID_MULTIPLE_MAC_ADDR = 170, | 1800 | WLAN_EID_MULTIPLE_MAC_ADDR = 170, |
| 1768 | WLAN_EID_U_PID = 171, | 1801 | WLAN_EID_U_PID = 171, |
| 1769 | WLAN_EID_DMG_LINK_ADAPT_ACK = 172, | 1802 | WLAN_EID_DMG_LINK_ADAPT_ACK = 172, |
| 1803 | /* 173 reserved for Symbol */ | ||
| 1804 | WLAN_EID_MCCAOP_ADV_OVERVIEW = 174, | ||
| 1770 | WLAN_EID_QUIET_PERIOD_REQ = 175, | 1805 | WLAN_EID_QUIET_PERIOD_REQ = 175, |
| 1806 | /* 176 reserved for Symbol */ | ||
| 1771 | WLAN_EID_QUIET_PERIOD_RESP = 177, | 1807 | WLAN_EID_QUIET_PERIOD_RESP = 177, |
| 1808 | /* 178-179 reserved for Symbol */ | ||
| 1809 | /* 180 reserved for ISO/IEC 20011 */ | ||
| 1772 | WLAN_EID_EPAC_POLICY = 182, | 1810 | WLAN_EID_EPAC_POLICY = 182, |
| 1773 | WLAN_EID_CLISTER_TIME_OFF = 183, | 1811 | WLAN_EID_CLISTER_TIME_OFF = 183, |
| 1812 | WLAN_EID_INTER_AC_PRIO = 184, | ||
| 1813 | WLAN_EID_SCS_DESCRIPTOR = 185, | ||
| 1814 | WLAN_EID_QLOAD_REPORT = 186, | ||
| 1815 | WLAN_EID_HCCA_TXOP_UPDATE_COUNT = 187, | ||
| 1816 | WLAN_EID_HL_STREAM_ID = 188, | ||
| 1817 | WLAN_EID_GCR_GROUP_ADDR = 189, | ||
| 1774 | WLAN_EID_ANTENNA_SECTOR_ID_PATTERN = 190, | 1818 | WLAN_EID_ANTENNA_SECTOR_ID_PATTERN = 190, |
| 1819 | WLAN_EID_VHT_CAPABILITY = 191, | ||
| 1820 | WLAN_EID_VHT_OPERATION = 192, | ||
| 1821 | WLAN_EID_EXTENDED_BSS_LOAD = 193, | ||
| 1822 | WLAN_EID_WIDE_BW_CHANNEL_SWITCH = 194, | ||
| 1823 | WLAN_EID_VHT_TX_POWER_ENVELOPE = 195, | ||
| 1824 | WLAN_EID_CHANNEL_SWITCH_WRAPPER = 196, | ||
| 1825 | WLAN_EID_AID = 197, | ||
| 1826 | WLAN_EID_QUIET_CHANNEL = 198, | ||
| 1827 | WLAN_EID_OPMODE_NOTIF = 199, | ||
| 1828 | |||
| 1829 | WLAN_EID_VENDOR_SPECIFIC = 221, | ||
| 1830 | WLAN_EID_QOS_PARAMETER = 222, | ||
| 1775 | }; | 1831 | }; |
| 1776 | 1832 | ||
| 1777 | /* Action category code */ | 1833 | /* Action category code */ |
| @@ -2192,10 +2248,10 @@ static inline u8 *ieee80211_get_DA(struct ieee80211_hdr *hdr) | |||
| 2192 | } | 2248 | } |
| 2193 | 2249 | ||
| 2194 | /** | 2250 | /** |
| 2195 | * ieee80211_is_robust_mgmt_frame - check if frame is a robust management frame | 2251 | * _ieee80211_is_robust_mgmt_frame - check if frame is a robust management frame |
| 2196 | * @hdr: the frame (buffer must include at least the first octet of payload) | 2252 | * @hdr: the frame (buffer must include at least the first octet of payload) |
| 2197 | */ | 2253 | */ |
| 2198 | static inline bool ieee80211_is_robust_mgmt_frame(struct ieee80211_hdr *hdr) | 2254 | static inline bool _ieee80211_is_robust_mgmt_frame(struct ieee80211_hdr *hdr) |
| 2199 | { | 2255 | { |
| 2200 | if (ieee80211_is_disassoc(hdr->frame_control) || | 2256 | if (ieee80211_is_disassoc(hdr->frame_control) || |
| 2201 | ieee80211_is_deauth(hdr->frame_control)) | 2257 | ieee80211_is_deauth(hdr->frame_control)) |
| @@ -2224,6 +2280,17 @@ static inline bool ieee80211_is_robust_mgmt_frame(struct ieee80211_hdr *hdr) | |||
| 2224 | } | 2280 | } |
| 2225 | 2281 | ||
| 2226 | /** | 2282 | /** |
| 2283 | * ieee80211_is_robust_mgmt_frame - check if skb contains a robust mgmt frame | ||
| 2284 | * @skb: the skb containing the frame, length will be checked | ||
| 2285 | */ | ||
| 2286 | static inline bool ieee80211_is_robust_mgmt_frame(struct sk_buff *skb) | ||
| 2287 | { | ||
| 2288 | if (skb->len < 25) | ||
| 2289 | return false; | ||
| 2290 | return _ieee80211_is_robust_mgmt_frame((void *)skb->data); | ||
| 2291 | } | ||
| 2292 | |||
| 2293 | /** | ||
| 2227 | * ieee80211_is_public_action - check if frame is a public action frame | 2294 | * ieee80211_is_public_action - check if frame is a public action frame |
| 2228 | * @hdr: the frame | 2295 | * @hdr: the frame |
| 2229 | * @len: length of the frame | 2296 | * @len: length of the frame |
