Ticket #6028 (closed defect: wontfix)

Opened 7 years ago

Last modified 3 years ago

make dnsmasq work with NM for Mesh as a portal

Reported by: dgilmore Owned by: cjb
Priority: normal Milestone: 8.2.1
Component: network manager Version:
Keywords: 8.2.1:+ staging-7:+ Cc: bemasc, carrano, mbletsas, gregorio, edmcnierney, kimquirk
Action Needed: finalize Verified: no
Deployments affected: Blocked By:
Blocking:

Description

NetworkManager pulls in dhcpd for XO as a mesh portal, which is currently turned off.

For update.2 we would like to turn it on and use dnsmasq which is much lighter.

We need to get it configured and setup right to work.

Attachments

mpp-dnsmasq.py (4.7 kB) - added by mbletsas 6 years ago.
MPP script that uses dnsmasq instead of ISC dhcpd
mpp-dnsmasq2.py (4.7 kB) - added by carrano 6 years ago.
replace mpp-dnsmasq.py with this one (have no permissions to overwrite)

Change History

follow-up: ↓ 3   Changed 7 years ago by bemasc

  • cc bemasc added

In 802.11s, there are mesh nodes, mesh portals (MPP), and also mesh access points (MAP). A mesh access point is the inverse of a mesh portal. It provides non-mesh wireless devices (like normal laptops) with an access point into the mesh, and potentially an internet connection, if the mesh also has a mesh portal.

Mesh access points could be useful. Once mesh portals are working, we should see how much more work they would require.

  Changed 6 years ago by carrano

  • cc carrano added

in reply to: ↑ 1   Changed 6 years ago by carrano

Replying to bemasc:

In 802.11s, there are mesh nodes, mesh portals (MPP), and also mesh access points (MAP). A mesh access point is the inverse of a mesh portal. It provides non-mesh wireless devices (like normal laptops) with an access point into the mesh, and potentially an internet connection, if the mesh also has a mesh portal. Mesh access points could be useful. Once mesh portals are working, we should see how much more work they would require.

I believe MAPs would need RA-OLSR (or similar) and a whole bunch of new frame formats to be implemented.

Anyway, I am not sure this feature belongs to this ticket...

  Changed 6 years ago by carrano

Mbletsas asked me to test dnsmasq in an MPP.

And it works fine.

Memory fingerprint is only 2MB, against 12MB of ISC DHCPd.

I am adapting mpp.py to work with dnsmasq. Will post it here soon.

  Changed 6 years ago by mbletsas

  • cc mbletsas added

Changed 6 years ago by mbletsas

MPP script that uses dnsmasq instead of ISC dhcpd

  Changed 6 years ago by carrano

The script attached can be invoked directly:

sudo python mpp.py msh0 meshready eth0

or 'meshdown' to stop the MPP.

Note: It will output an error message for the module ip_conntrack (exactly like the dhcpd version did). But it works fine.

  Changed 6 years ago by carrano

For the script to work as a NM dispatcher it should be renamed mpp.py, put in /etc/NetworkManager/dispatcher.d and made it executable.

To test it, you can put "xo-mpp" in the /etc/NetworkManager/mesh-start to get the XOs a chance to find the MPP. But if you have no networks.cfg and there is no school server around it will also work.

  Changed 6 years ago by mbletsas

  • cc gregorio added
  • next_action set to add to release
  • milestone changed from 8.2.0 (was Update.2) to 8.2.1

Please replace /etc/NetworkManager/dispatcher.d/mpp-DISABLED.py with the script attached in this ticket for 8.2.1

  Changed 6 years ago by mstone

  • next_action changed from add to release to testcase

Michailis -- per the criteria for approval for release, could you please supply appropriate testcases and changelog entries for this change? Thanks very much!

Changed 6 years ago by carrano

replace mpp-dnsmasq.py with this one (have no permissions to overwrite)

  Changed 6 years ago by mbletsas

  • next_action changed from testcase to add to release

follow-up: ↓ 12   Changed 6 years ago by cjb

  • cc edmcnierney, kimquirk added
  • next_action changed from add to release to testcase

mpp.py lives in the root of the NetworkManager src rpm, so this change involves updating that file and rebuilding, and then modifying pilgrim to mark the script executable rather than disabling it.

Ed/Kim, can someone confirm that this (moving MPP from off by default to on by default) is an accepted ECO for 8.2.1, and that it's okay to include it without a test plan having been provided?

in reply to: ↑ 11   Changed 6 years ago by mbletsas

Replying to cjb:

mpp.py lives in the root of the NetworkManager src rpm, so this change involves updating that file and rebuilding, and then modifying pilgrim to mark the script executable rather than disabling it. Ed/Kim, can someone confirm that this (moving MPP from off by default to on by default) is an accepted ECO for 8.2.1, and that it's okay to include it without a test plan having been provided?

As far as I am concerned, the script can be remain disabled. It just needs to be updated so that it can be enabled! So no pilgrim modifications required, just put the correct version of the script in the build!

If it takes us that long to do something that simple, we should all pack and go home now!!!!!!

  Changed 6 years ago by cjb

  • next_action changed from testcase to add to release

Oh! Okay, I misunderstood and thought we were turning it on.

Just an NM update, then, no testing required.

  Changed 6 years ago by cjb

  • owner changed from dcbw to cjb
  • status changed from new to assigned

I've built this in OLPC-3 now. For whoever turns the crank on the build, please make sure to get:

* Wed Dec 10 2008 Chris Ball <cjb@laptop.org> - 1:0.6.5-0.12.svn3248
- OLPC #6028: update to mpp.py from Ricardo Carrano.

It's my first time rebuilding NetworkManager, so punt this ticket back to me for a sanity-check once it's in a build. Thanks!

  Changed 6 years ago by edmcnierney

  • keywords 8.2.1:+ added

  Changed 6 years ago by cscott

  • next_action changed from add to release to add to build

cjb: please add this to yr public_rpms/staging. If this work needs to be forward-ported to 9.1, you should also include appropriate RPMs in public_rpms/joyride.

  Changed 6 years ago by cjb

Scott -- it's tagged in olpc3. I thought that would be enough to have pilgrim grab it for the next olpc3-based build automatically?

  Changed 6 years ago by cjb

Okay, done.

  Changed 6 years ago by cscott

  • next_action changed from add to build to test in build

In staging-5, please test.

  Changed 6 years ago by mstone

  • keywords staging-7:+ added
  • next_action changed from test in build to add to release

I have confirmed that the mpp-DISABLED.py in staging-7 matches the "mpp-dnsmasq2.py" provided by Ricardo (plus the "sys.exit(0)" inserted by pilgrim).

  Changed 6 years ago by cjb

  • next_action changed from add to release to finalize

  Changed 3 years ago by dsd

  • status changed from assigned to closed
  • resolution set to wontfix

We aren't supporting/shipping MPP any more.

Note: See TracTickets for help on using tickets.