Add nl80211 commands to get and set o11s mesh networking parameters
The two new commands are NL80211_CMD_GET_MESH_PARAMS and NL80211_CMD_SET_MESH_PARAMS. There is a new attribute enum, NL80211_ATTR_MESH_PARAMS, which enumerates the various mesh configuration parameters. Moved struct mesh_config from mac80211/ieee80211_i.h to net/cfg80211.h. nl80211_get_mesh_params and nl80211_set_mesh_params unpack the netlink messages and ask the driver to get or set the configuration. This is done via two new function stubs, get_mesh_params and set_mesh_params, in struct cfg80211_ops. Signed-off-by: Colin McCabe <colin@cozybit.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
4a68ec535e
commit
93da9cc17c
@@ -347,6 +347,25 @@ struct ieee80211_regdomain {
|
||||
.flags = reg_flags, \
|
||||
}
|
||||
|
||||
struct mesh_config {
|
||||
/* Timeouts in ms */
|
||||
/* Mesh plink management parameters */
|
||||
u16 dot11MeshRetryTimeout;
|
||||
u16 dot11MeshConfirmTimeout;
|
||||
u16 dot11MeshHoldingTimeout;
|
||||
u16 dot11MeshMaxPeerLinks;
|
||||
u8 dot11MeshMaxRetries;
|
||||
u8 dot11MeshTTL;
|
||||
bool auto_open_plinks;
|
||||
/* HWMP parameters */
|
||||
u8 dot11MeshHWMPmaxPREQretries;
|
||||
u32 path_refresh_time;
|
||||
u16 min_discovery_timeout;
|
||||
u32 dot11MeshHWMPactivePathTimeout;
|
||||
u16 dot11MeshHWMPpreqMinInterval;
|
||||
u16 dot11MeshHWMPnetDiameterTraversalTime;
|
||||
};
|
||||
|
||||
/* from net/wireless.h */
|
||||
struct wiphy;
|
||||
|
||||
@@ -397,6 +416,12 @@ struct wiphy;
|
||||
*
|
||||
* @change_station: Modify a given station.
|
||||
*
|
||||
* @get_mesh_params: Put the current mesh parameters into *params
|
||||
*
|
||||
* @set_mesh_params: Set mesh parameters.
|
||||
* The mask is a bitfield which tells us which parameters to
|
||||
* set, and which to leave alone.
|
||||
*
|
||||
* @set_mesh_cfg: set mesh parameters (by now, just mesh id)
|
||||
*
|
||||
* @change_bss: Modify parameters for a given BSS.
|
||||
@@ -452,7 +477,12 @@ struct cfg80211_ops {
|
||||
int (*dump_mpath)(struct wiphy *wiphy, struct net_device *dev,
|
||||
int idx, u8 *dst, u8 *next_hop,
|
||||
struct mpath_info *pinfo);
|
||||
|
||||
int (*get_mesh_params)(struct wiphy *wiphy,
|
||||
struct net_device *dev,
|
||||
struct mesh_config *conf);
|
||||
int (*set_mesh_params)(struct wiphy *wiphy,
|
||||
struct net_device *dev,
|
||||
const struct mesh_config *nconf, u32 mask);
|
||||
int (*change_bss)(struct wiphy *wiphy, struct net_device *dev,
|
||||
struct bss_parameters *params);
|
||||
};
|
||||
|
Reference in New Issue
Block a user