aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorcolin@cozybit.com <colin@cozybit.com>2008-10-21 15:03:48 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-10-31 19:00:39 -0400
commit93da9cc17c5ae8a751886fd4732db89ad5e9bdb9 (patch)
tree5c8c16eaeca4c6e4555682a4ab1b448cdbe21595 /include/net/cfg80211.h
parent4a68ec535ef1043319928f601d633f78e650a16f (diff)
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>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 0e85ec39b63..03e1e88c6a0 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -347,6 +347,25 @@ struct ieee80211_regdomain {
347 .flags = reg_flags, \ 347 .flags = reg_flags, \
348 } 348 }
349 349
350struct mesh_config {
351 /* Timeouts in ms */
352 /* Mesh plink management parameters */
353 u16 dot11MeshRetryTimeout;
354 u16 dot11MeshConfirmTimeout;
355 u16 dot11MeshHoldingTimeout;
356 u16 dot11MeshMaxPeerLinks;
357 u8 dot11MeshMaxRetries;
358 u8 dot11MeshTTL;
359 bool auto_open_plinks;
360 /* HWMP parameters */
361 u8 dot11MeshHWMPmaxPREQretries;
362 u32 path_refresh_time;
363 u16 min_discovery_timeout;
364 u32 dot11MeshHWMPactivePathTimeout;
365 u16 dot11MeshHWMPpreqMinInterval;
366 u16 dot11MeshHWMPnetDiameterTraversalTime;
367};
368
350/* from net/wireless.h */ 369/* from net/wireless.h */
351struct wiphy; 370struct wiphy;
352 371
@@ -397,6 +416,12 @@ struct wiphy;
397 * 416 *
398 * @change_station: Modify a given station. 417 * @change_station: Modify a given station.
399 * 418 *
419 * @get_mesh_params: Put the current mesh parameters into *params
420 *
421 * @set_mesh_params: Set mesh parameters.
422 * The mask is a bitfield which tells us which parameters to
423 * set, and which to leave alone.
424 *
400 * @set_mesh_cfg: set mesh parameters (by now, just mesh id) 425 * @set_mesh_cfg: set mesh parameters (by now, just mesh id)
401 * 426 *
402 * @change_bss: Modify parameters for a given BSS. 427 * @change_bss: Modify parameters for a given BSS.
@@ -452,7 +477,12 @@ struct cfg80211_ops {
452 int (*dump_mpath)(struct wiphy *wiphy, struct net_device *dev, 477 int (*dump_mpath)(struct wiphy *wiphy, struct net_device *dev,
453 int idx, u8 *dst, u8 *next_hop, 478 int idx, u8 *dst, u8 *next_hop,
454 struct mpath_info *pinfo); 479 struct mpath_info *pinfo);
455 480 int (*get_mesh_params)(struct wiphy *wiphy,
481 struct net_device *dev,
482 struct mesh_config *conf);
483 int (*set_mesh_params)(struct wiphy *wiphy,
484 struct net_device *dev,
485 const struct mesh_config *nconf, u32 mask);
456 int (*change_bss)(struct wiphy *wiphy, struct net_device *dev, 486 int (*change_bss)(struct wiphy *wiphy, struct net_device *dev,
457 struct bss_parameters *params); 487 struct bss_parameters *params);
458}; 488};