#6299 HIGH Never A: presence service should disable salut in the presence of school servers on mesh
Zarro Boogs per Child
bugtracker at laptop.org
Thu Jan 31 22:38:58 EST 2008
#6299: presence service should disable salut in the presence of school servers on
mesh
------------------------------+---------------------------------------------
Reporter: robot101 | Owner: Collabora
Type: defect | Status: new
Priority: high | Milestone: Never Assigned
Component: presence-service | Version:
Keywords: Update.1? | Verified: 0
Blocking: | Blockedby:
------------------------------+---------------------------------------------
Currently the algorithm in presence service starts Salut automatically
when avahi is available, and then when we get an IPv4 address from Network
Manager, we start trying to connect with gabble in parallel, and disable
salut if we succeed at connecting with gabble.
Salut makes mDNS queries to discover presence records when it;s running.
Combined with flood-fill multicast, this has the result that the network
is hugely clogged with mDNS resolution traffic, and actively prohibits
other users from DHCPing, registering, or connecting to the XMPP server,
causing them to in turn stay on mDNS, exacerbating the problem further
still.
However, given that DHCP on the XOs is modified to unicast to a well known
"anycast" MAC address on the school server, we can look for this MAC
address to determine that a school server is present, and we should then
shut down salut to stop *any* mDNS activity.
dwmw2 can confirm a way to determine that this MAC address is reachable,
but it seems to be something along the lines of try and send traffic to it
somehow, then inspect the mesh routing table to see if it appeared in
there
The algorithm would then look more like:
stop salut
if we're on mesh, and the school server is reachable by anycast:
while 1:
try to connect with gabble
sleep
else:
connect with salut
while 1:
try to connect with gabble
if we succeed:
stop salut
else:
sleep
We should run this algorithm every time we arrive on a new network, and
when we resume from sleep.
We need to decide three timeouts:
1) start of day: how long do we look for the school server anycast MAC
before we decide we're OK to enable salut?
2) kids wander off/server dies: how long after we're disconnected from
the school server before we decide its OK to enable to salut?
3) kids wander back/server resurrected: how often do we look for the
school server anycast address when we're using salut, to decide we should
switch salut off and wait for gabble to work instead?
--
Ticket URL: <http://dev.laptop.org/ticket/6299>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list