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

2007-09-19 Thread Walter Bender
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 [EMAIL PROTECTED] 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
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


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

2007-09-19 Thread Dan Williams
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 [EMAIL PROTECTED] 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@lists.laptop.org
http://lists.laptop.org/listinfo/devel


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

2007-09-19 Thread Dan Williams
On Wed, 2007-09-19 at 07:50 -0400, Dan Williams 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.

I should add that this was likely an oversight and is quite easy to
correct.

 
 Dan
 
 
  -walter
  
  On 9/18/07, Zarro Boogs per Child [EMAIL PROTECTED] 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@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


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

2007-09-19 Thread Kim Quirk
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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


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

2007-09-19 Thread Jim Gettys
Note that this problem has exactly the symptoms seen by Carla, and that
I've seen over last weekend, and Dan has seen. 

I think we should accept this patch.
 - Jim


On Wed, 2007-09-19 at 07:58 -0400, Kim Quirk wrote:
 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED]
 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 ();
+