#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
Mon Feb 11 10:39:19 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:                
Resolution:                    |    Keywords:  Update.1?     
  Verified:  0                 |    Blocking:                
 Blockedby:                    |  
-------------------------------+--------------------------------------------

Comment(by mbletsas):

 Replying to gdesmott:

     First, I need to know more about this anycast address.

 The anycast address is there to provide a mechanism to select the instance
 of a "standard" service that is "closer" (is accessible via the lowest
 cost path) to the mesh node looking for that service.

 The idea is that all "standard" XO services (the only one currently in use
 is MPP) listen to a predefined anycast address. So when a node needs to
 find if there is an instance of the required service running on the mesh,
 just tries to contact that service at the predefined anycast address.

 How this can be done, is still a matter of programming convenience at this
 point. In the original implementation of the idea, we had all MPPs run a
 small daemon at a predefined IP. Then at the nodes looking for the MPP, we
 had a static ARP mapping between the predefined MAC address and the
 predefined IP. Thus, a simple ping to the predefined IP would reveal a)
 whether there is an MPP on the network and b) discover the lowest cost
 path to it (if there was more than one).

 Then contacting a simple python server listening on the predefined IP,
 would reveal the real IP address of the MPP as well as the DNS server
 info.

 To do the same with the current incarnation of the school server MPP or XO
 MPP (they differ in that the former assigns the IP address via DHCP where
 the later only serves GW and DNS info), we send the DHCP request to the
 anycast MAC address (as opposed to the broadcast one. In that manner, we
 ensure that it is the "closest" MPP that responds.

 The same principle is applicable to every "standard" service that mesh
 nodes might want to offer to their peers. The presence services and its
 future ad-hoc supernodes are a prime example.

 The original idea was to use just one anycast address and then return the
 higher level information via a "portmapper/rpc" type of info server
 running on the machine.

 It doesn't take much thinking to see the obvious issues with that approach
 (multiple step process, lots of traffic), so the idea to have a range of
 configurable MAC addresses that are statically mapped to pre-defined
 services (that the node might be listening to, beyond its own address the
 standard multicast/broadcast addresses) was adopted.

 The way to set which of those anycast addresses are active is described in
 this post:

     * Support for anycast addresses mask (
 http://lists.infradead.org/pipermail/libertas-dev/2007-June/000404.html )

 M

-- 
Ticket URL: <http://dev.laptop.org/ticket/6299#comment:6>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list