#3593 NORM Trial-3: Mesh channel randomization breaks NM 'mesh-start' tweakable

Kim Quirk kim at laptop.org
Wed Sep 19 07:58:09 EDT 2007


Dan,
Please move this out to FRS and we can continue some testing and discussion
as to whether the default should be channel 1.

If two laptops under a tree come up about the same time I think it is
conceivable (maybe it will be the normal case) that they each start a mesh
on different channels and never see each other. That would be bad. As long
as we can pick the mesh channel, we can get around this for Trial-3.

For FRS, we want this scenario to come up working without intervention 100%
of the time.

Kim


On 9/19/07, Dan Williams <dcbw at redhat.com> wrote:
>
> On Wed, 2007-09-19 at 06:18 -0400, Walter Bender wrote:
> > 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?
>
> No, I'm not confident that we do.
>
> Dan
>
>
> > -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
> > >
> >
> >
>
> _______________________________________________
> Devel mailing list
> Devel at lists.laptop.org
> http://lists.laptop.org/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.laptop.org/pipermail/devel/attachments/20070919/d0cb6b46/attachment.html>


More information about the Devel mailing list