#3593 NORM Trial-3: Mesh channel randomization breaks NM 'mesh-start' tweakable
Walter Bender
walter.bender at gmail.com
Wed Sep 19 06:18:07 EDT 2007
I would recommend not making the patch; I think I found it confusing
only because I didn't know that random impacted link-local. But do we
still default to channel 1 if no school server is found?
-walter
On 9/18/07, Zarro Boogs per Child <bugtracker at laptop.org> wrote:
> #3593: Mesh channel randomization breaks NM 'mesh-start' tweakable
> -----------------------------+----------------------------------------------
> Reporter: dcbw | Owner: jg
> Type: defect | Status: new
> Priority: normal | Milestone: Trial-3
> Component: network manager | Version:
> Keywords: | Verified: 0
> -----------------------------+----------------------------------------------
> Since we switched back to randomized mesh channels two weeks ago at the
> request of the server team, this inadvertently broke expectations about
> how the /etc/NetworkManager/mesh-start file affects things when using
> local-only. In this case, if you do local-only through mesh-start, you
> are not guaranteed to come up on channel 1 because the start channel is
> random.
>
> Please determine if this is trial-3 material or not. Obviously, the
> factors against fixing this for trial-3 are that:
>
> 1) our target users for trial 3 aren't expected to have to do this
> 2) you can always switch directly to mesh-1 from the UI
> 3) we are in code freeze
>
> However, the fix is low-risk and does not affect normal codepaths.
>
> ```
> Index: src/nm-device-802-11-mesh-olpc.c
> ===================================================================
> --- src/nm-device-802-11-mesh-olpc.c (revision 2824)
> +++ src/nm-device-802-11-mesh-olpc.c (working copy)
> @@ -459,7 +459,10 @@
> self->priv->use_mesh_beacons = TRUE;
> }
>
> - self->priv->channel = get_random_channel ();
> + if (self->priv->default_first_step == MESH_S4_P2P_MESH)
> + self->priv->channel = 1;
> + else
> + self->priv->channel = get_random_channel ();
>
> self->priv->activation_started_ids = g_hash_table_new
> (g_direct_hash,
> g_direct_equal);
> @@ -1718,7 +1721,10 @@
> nm_device_set_active_link (NM_DEVICE (self), FALSE);
> if (reinit_state) {
> self->priv->step = self->priv->default_first_step;
> - self->priv->channel = get_random_channel ();
> + if (self->priv->default_first_step ==
> MESH_S4_P2P_MESH)
> + self->priv->channel = 1;
> + else
> + self->priv->channel = get_random_channel
> ();
> self->priv->chans_tried = 0;
> self->priv->channel_locked = FALSE;
> }
> @@ -1754,7 +1760,10 @@
> self->priv->channel =
> nm_act_request_get_mesh_channel (req);
> self->priv->channel_locked = TRUE;
> } else {
> - self->priv->channel = get_random_channel ();
> + if (self->priv->default_first_step ==
> MESH_S4_P2P_MESH)
> + self->priv->channel = 1;
> + else
> + self->priv->channel = get_random_channel
> ();
> }
> }
> ```
>
> --
> Ticket URL: <https://dev.laptop.org/ticket/3593>
> One Laptop Per Child <https://dev.laptop.org>
> OLPC bug tracking system
>
--
Walter Bender
One Laptop per Child
http://laptop.org
More information about the Devel
mailing list