aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 2af52704e670..c5d16f299d6f 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1195,6 +1195,10 @@ enum wiphy_flags {
1195 WIPHY_FLAG_4ADDR_STATION = BIT(6), 1195 WIPHY_FLAG_4ADDR_STATION = BIT(6),
1196}; 1196};
1197 1197
1198struct mac_address {
1199 u8 addr[ETH_ALEN];
1200};
1201
1198/** 1202/**
1199 * struct wiphy - wireless hardware description 1203 * struct wiphy - wireless hardware description
1200 * @idx: the wiphy index assigned to this item 1204 * @idx: the wiphy index assigned to this item
@@ -1213,12 +1217,28 @@ enum wiphy_flags {
1213 * -1 = fragmentation disabled, only odd values >= 256 used 1217 * -1 = fragmentation disabled, only odd values >= 256 used
1214 * @rts_threshold: RTS threshold (dot11RTSThreshold); -1 = RTS/CTS disabled 1218 * @rts_threshold: RTS threshold (dot11RTSThreshold); -1 = RTS/CTS disabled
1215 * @net: the network namespace this wiphy currently lives in 1219 * @net: the network namespace this wiphy currently lives in
1220 * @perm_addr: permanent MAC address of this device
1221 * @addr_mask: If the device supports multiple MAC addresses by masking,
1222 * set this to a mask with variable bits set to 1, e.g. if the last
1223 * four bits are variable then set it to 00:...:00:0f. The actual
1224 * variable bits shall be determined by the interfaces added, with
1225 * interfaces not matching the mask being rejected to be brought up.
1226 * @n_addresses: number of addresses in @addresses.
1227 * @addresses: If the device has more than one address, set this pointer
1228 * to a list of addresses (6 bytes each). The first one will be used
1229 * by default for perm_addr. In this case, the mask should be set to
1230 * all-zeroes. In this case it is assumed that the device can handle
1231 * the same number of arbitrary MAC addresses.
1216 */ 1232 */
1217struct wiphy { 1233struct wiphy {
1218 /* assign these fields before you register the wiphy */ 1234 /* assign these fields before you register the wiphy */
1219 1235
1220 /* permanent MAC address */ 1236 /* permanent MAC address(es) */
1221 u8 perm_addr[ETH_ALEN]; 1237 u8 perm_addr[ETH_ALEN];
1238 u8 addr_mask[ETH_ALEN];
1239
1240 u16 n_addresses;
1241 struct mac_address *addresses;
1222 1242
1223 /* Supported interface modes, OR together BIT(NL80211_IFTYPE_...) */ 1243 /* Supported interface modes, OR together BIT(NL80211_IFTYPE_...) */
1224 u16 interface_modes; 1244 u16 interface_modes;