Date: Fri, 10 Jul 2009 16:29:05 +0000 (UTC) From: Sam Leffler <sam@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r195565 - projects/mesh11s/sys/net80211 Message-ID: <200907101629.n6AGT5pr025298@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sam Date: Fri Jul 10 16:29:05 2009 New Revision: 195565 URL: http://svn.freebsd.org/changeset/base/195565 Log: instead of converting timeouts to ticks on use convert them when they are set via sysctl; in general make handling consistent with other places in net80211 Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Fri Jul 10 16:18:40 2009 (r195564) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Fri Jul 10 16:29:05 2009 (r195565) @@ -91,24 +91,23 @@ static int mesh_verify_meshpeer(struct i uint32_t mesh_airtime_calc(struct ieee80211_node *); /* - * Timeout values come from the specification and are in miliseconds. + * Timeout values come from the specification and are in milliseconds. */ -static int ieee80211_mesh_retrytimeout = 40; -#define RETRY_TIMEOUT msecs_to_ticks(ieee80211_mesh_retrytimeout) -static int ieee80211_mesh_holdingtimeout = 40; -#define HOLDING_TIMEOUT msecs_to_ticks(ieee80211_mesh_holdingtimeout) -static int ieee80211_mesh_confirmtimeout = 40; -#define CONFIRM_TIMEOUT msecs_to_ticks(ieee80211_mesh_confirmtimeout) -static int ieee80211_mesh_maxretries = 2; - SYSCTL_NODE(_net_wlan, OID_AUTO, mesh, CTLFLAG_RD, 0, "IEEE 802.11s parameters"); -SYSCTL_INT(_net_wlan_mesh, OID_AUTO, retrytimeout, CTLTYPE_INT | CTLFLAG_RW, - &ieee80211_mesh_retrytimeout, 0, "Retry timeout in msec"); -SYSCTL_INT(_net_wlan_mesh, OID_AUTO, holdingtimeout, CTLTYPE_INT | CTLFLAG_RW, - &ieee80211_mesh_holdingtimeout, 0, "Holding state timeout in msec"); -SYSCTL_INT(_net_wlan_mesh, OID_AUTO, confirmtimeout, CTLTYPE_INT | CTLFLAG_RW, - &ieee80211_mesh_confirmtimeout, 0, "Confirm state timeout in msec"); +static int ieee80211_mesh_retrytimeout = -1; +SYSCTL_PROC(_net_wlan_mesh, OID_AUTO, retrytimeout, CTLTYPE_INT | CTLFLAG_RW, + &ieee80211_mesh_retrytimeout, 0, ieee80211_sysctl_msecs_ticks, "I", + "Retry timeout (msec)"); +static int ieee80211_mesh_holdingtimeout = -1; +SYSCTL_PROC(_net_wlan_mesh, OID_AUTO, holdingtimeout, CTLTYPE_INT | CTLFLAG_RW, + &ieee80211_mesh_holdingtimeout, 0, ieee80211_sysctl_msecs_ticks, "I", + "Holding state timeout (msec)"); +static int ieee80211_mesh_confirmtimeout = -1; +SYSCTL_PROC(_net_wlan_mesh, OID_AUTO, confirmtimeout, CTLTYPE_INT | CTLFLAG_RW, + &ieee80211_mesh_confirmtimeout, 0, ieee80211_sysctl_msecs_ticks, "I", + "Confirm state timeout (msec)"); +static int ieee80211_mesh_maxretries = 2; SYSCTL_INT(_net_wlan_mesh, OID_AUTO, maxretries, CTLTYPE_INT | CTLFLAG_RW, &ieee80211_mesh_maxretries, 0, "Maximum retries during peer link establishment"); @@ -298,17 +297,23 @@ mesh_select_proto_metric(struct ieee8021 } return ENOENT; } - - #undef N static void ieee80211_mesh_init(void) { + memset(mesh_proto_paths, 0, sizeof(mesh_proto_paths)); memset(mesh_proto_metrics, 0, sizeof(mesh_proto_metrics)); /* + * Setup mesh parameters that depends on the clock frequency. + */ + ieee80211_mesh_retrytimeout = msecs_to_ticks(40); + ieee80211_mesh_holdingtimeout = msecs_to_ticks(40); + ieee80211_mesh_confirmtimeout = msecs_to_ticks(40); + + /* * Register action frame handlers. */ ieee80211_recv_action_register(IEEE80211_ACTION_CAT_MESHPEERING, @@ -1918,16 +1923,17 @@ mesh_peer_timeout_setup(struct ieee80211 { switch (ni->ni_mlstate) { case IEEE80211_NODE_MESH_HOLDING: - ni->ni_mltval = HOLDING_TIMEOUT; + ni->ni_mltval = ieee80211_mesh_holdingtimeout; break; case IEEE80211_NODE_MESH_CONFIRMRCV: - ni->ni_mltval = CONFIRM_TIMEOUT; + ni->ni_mltval = ieee80211_mesh_confirmtimeout; break; case IEEE80211_NODE_MESH_IDLE: ni->ni_mltval = 0; break; default: - ni->ni_mltval = RETRY_TIMEOUT; + ni->ni_mltval = ieee80211_mesh_retrytimeout; + break; } if (ni->ni_mltval) callout_reset(&ni->ni_mltimer, ni->ni_mltval,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907101629.n6AGT5pr025298>