Re: #3593 NORM Trial-3: Mesh channel randomization breaks NM 'mesh-start' tweakable
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
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
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
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
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 (); +