diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/net/cfg80211.h | 22 |
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 | ||
1198 | struct 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 | */ |
1217 | struct wiphy { | 1233 | struct 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; |