@ -115,7 +115,7 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = {
[ NL80211_ATTR_STA_VLAN ] = { . type = NLA_U32 } ,
[ NL80211_ATTR_MNTR_FLAGS ] = { /* NLA_NESTED can't be empty */ } ,
[ NL80211_ATTR_MESH_ID ] = { . type = NLA_BINARY ,
. len = IEEE80211_MAX_MESH_ID_LEN } ,
. len = IEEE80211_MAX_MESH_ID_LEN } ,
[ NL80211_ATTR_MPATH_NEXT_HOP ] = { . type = NLA_U32 } ,
[ NL80211_ATTR_REG_ALPHA2 ] = { . type = NLA_STRING , . len = 2 } ,
@ -3492,7 +3492,6 @@ static const struct nla_policy nl80211_meshconf_params_policy[NL80211_MESHCONF_A
[ NL80211_MESHCONF_ELEMENT_TTL ] = { . type = NLA_U8 } ,
[ NL80211_MESHCONF_AUTO_OPEN_PLINKS ] = { . type = NLA_U8 } ,
[ NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR ] = { . type = NLA_U32 } ,
[ NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES ] = { . type = NLA_U8 } ,
[ NL80211_MESHCONF_PATH_REFRESH_TIME ] = { . type = NLA_U32 } ,
[ NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT ] = { . type = NLA_U16 } ,
@ -3504,8 +3503,8 @@ static const struct nla_policy nl80211_meshconf_params_policy[NL80211_MESHCONF_A
[ NL80211_MESHCONF_HWMP_RANN_INTERVAL ] = { . type = NLA_U16 } ,
[ NL80211_MESHCONF_GATE_ANNOUNCEMENTS ] = { . type = NLA_U8 } ,
[ NL80211_MESHCONF_FORWARDING ] = { . type = NLA_U8 } ,
[ NL80211_MESHCONF_RSSI_THRESHOLD ] = { . type = NLA_U32 } ,
[ NL80211_MESHCONF_HT_OPMODE ] = { . type = NLA_U16 } ,
[ NL80211_MESHCONF_RSSI_THRESHOLD ] = { . type = NLA_U32 } ,
[ NL80211_MESHCONF_HT_OPMODE ] = { . type = NLA_U16 } ,
} ;
static const struct nla_policy
@ -3515,7 +3514,7 @@ static const struct nla_policy
[ NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC ] = { . type = NLA_U8 } ,
[ NL80211_MESH_SETUP_USERSPACE_AUTH ] = { . type = NLA_FLAG } ,
[ NL80211_MESH_SETUP_IE ] = { . type = NLA_BINARY ,
. len = IEEE80211_MAX_DATA_LEN } ,
. len = IEEE80211_MAX_DATA_LEN } ,
[ NL80211_MESH_SETUP_USERSPACE_AMPE ] = { . type = NLA_FLAG } ,
} ;
@ -3548,63 +3547,71 @@ do {\
/* Fill in the params struct */
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshRetryTimeout ,
mask , NL80211_MESHCONF_RETRY_TIMEOUT , nla_get_u16 ) ;
mask , NL80211_MESHCONF_RETRY_TIMEOUT ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshConfirmTimeout ,
mask , NL80211_MESHCONF_CONFIRM_TIMEOUT , nla_get_u16 ) ;
mask , NL80211_MESHCONF_CONFIRM_TIMEOUT ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHoldingTimeout ,
mask , NL80211_MESHCONF_HOLDING_TIMEOUT , nla_get_u16 ) ;
mask , NL80211_MESHCONF_HOLDING_TIMEOUT ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshMaxPeerLinks ,
mask , NL80211_MESHCONF_MAX_PEER_LINKS , nla_get_u16 ) ;
mask , NL80211_MESHCONF_MAX_PEER_LINKS ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshMaxRetries ,
mask , NL80211_MESHCONF_MAX_RETRIES , nla_get_u8 ) ;
mask , NL80211_MESHCONF_MAX_RETRIES ,
nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshTTL ,
mask , NL80211_MESHCONF_TTL , nla_get_u8 ) ;
mask , NL80211_MESHCONF_TTL , nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , element_ttl ,
mask , NL80211_MESHCONF_ELEMENT_TTL , nla_get_u8 ) ;
mask , NL80211_MESHCONF_ELEMENT_TTL ,
nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , auto_open_plinks ,
mask , NL80211_MESHCONF_AUTO_OPEN_PLINKS , nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshNbrOffsetMaxNeighbor ,
mask , NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR ,
nla_get_u32 ) ;
mask , NL80211_MESHCONF_AUTO_OPEN_PLINKS ,
nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshNbrOffsetMaxNeighbor , mask ,
NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR ,
nla_get_u32 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHWMPmaxPREQretries ,
mask , NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES ,
nla_get_u8 ) ;
mask , NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES ,
nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , path_refresh_time ,
mask , NL80211_MESHCONF_PATH_REFRESH_TIME , nla_get_u32 ) ;
mask , NL80211_MESHCONF_PATH_REFRESH_TIME ,
nla_get_u32 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , min_discovery_timeout ,
mask , NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHWMPactivePathTimeout ,
mask , NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT ,
nla_get_u32 ) ;
mask , NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHWMPactivePathTimeout , mask ,
NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT ,
nla_get_u32 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHWMPpreqMinInterval ,
mask , NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL ,
nla_get_u16 ) ;
mask , NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHWMPperrMinInterval ,
mask , NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg ,
dot11MeshHWMPnetDiameterTraversalTime ,
mask , NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg ,
dot11MeshHWMPRootMode , mask ,
NL80211_MESHCONF_HWMP_ROOTMODE ,
nla_get_u8 ) ;
mask , NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg ,
dot11MeshHWMPRannInterval , mask ,
NL80211_MESHCONF_HWMP_RANN_INTERVAL ,
nla_get_u16 ) ;
dot11MeshHWMPnetDiameterTraversalTime , mask ,
NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHWMPRootMode , mask ,
NL80211_MESHCONF_HWMP_ROOTMODE , nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshHWMPRannInterval , mask ,
NL80211_MESHCONF_HWMP_RANN_INTERVAL ,
nla_get_u16 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg ,
dot11MeshGateAnnouncementProtocol , mask ,
NL80211_MESHCONF_GATE_ANNOUNCEMENTS ,
nla_get_u8 ) ;
dot11MeshGateAnnouncementProtocol , mask ,
NL80211_MESHCONF_GATE_ANNOUNCEMENTS ,
nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , dot11MeshForwarding ,
mask , NL80211_MESHCONF_FORWARDING , nla_get_u8 ) ;
mask , NL80211_MESHCONF_FORWARDING ,
nla_get_u8 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , rssi_threshold ,
mask , NL80211_MESHCONF_RSSI_THRESHOLD , nla_get_u32 ) ;
mask , NL80211_MESHCONF_RSSI_THRESHOLD ,
nla_get_u32 ) ;
FILL_IN_MESH_PARAM_IF_SET ( tb , cfg , ht_opmode ,
mask , NL80211_MESHCONF_HT_OPMODE , nla_get_u16 ) ;
mask , NL80211_MESHCONF_HT_OPMODE ,
nla_get_u16 ) ;
if ( mask_out )
* mask_out = mask ;