Provided by: mobilemesh_1.0-6_i386 bug


       mmrp - Mobile Mesh Router


       mmrp [-hvz] [-d file] [-f file]


       mmrp  speaks  the  Mobile  Mesh  Routing  Protocol  on  one  or more IP
       interfaces. It computes least cost unicast paths  to  all  other  nodes
       within  the  Mobile  Mesh  cloud  and  modifies  the  IP  routing table
       accordingly.  Interfaces  and  external  route  advertisements  may  be
       specified in a config file or dynamically.

       mmrp  learns of link events by connecting to the well known Unix socket
       associated  with  each  interface.  A  link  discovery   program   like
       mmdiscover  must  be running on an interface prior to informing mmrp to
       use the interface.

       To enhance  scalability  mmrp  performs  a  technique  called  fish-eye
       routing  where  the  resolution  of  a  node’s  map of the network is a
       function of distance. This reduces the  overhead  associated  with  the
       flooding of LSP’s.


       mmrp recognizes the following command line switches:

       -d file
              Use flags ’file’ to enable debug output.

       -f file
              Use  config  ’file’  instead  of /etc/mobilemesh/mmrp.conf.  See
              below for a description of the config file format.

       -h     Display a help message.

       -v     Display version information.

       -z     Run in the foreground instead of running as a daemon.

Config File Format

       By  default,  mmrp  reads  the   file   /etc/mobilemesh/mmrp.conf   for
       configuration  parameters.  The format of the config file requires each
       configuration parameter to be on its own line. Comments may  be  placed
       in  the file by beginning a line with a #.  The following configuration
       parameters are recognized:

       port         <Udp Port Number>
              The well known UDP port number that  all  nodes  in  the  mobile
              network use to exchange Mobile Mesh Routing Protocol messages.

       alpha        <float value>
              where  (1.0 <= value <= 2.0). alpha controls the amount of delay
              imposed before  forwarding  a  neighbor’s  LSP.  The  delay  is:
              Max(minTxDelay,Min(maxTxDelay,alpha^hops))  where  hops  is  the
              number of hops the LSP has travelled from its source.

       minTxDelay   <unsigned int value>
              the minimum  delay  in  seconds  that  will  be  imposed  before
              forwarding a neighbor’s LSP.

       maxTxDelay   <unsigned int value>
              the  maximum  delay  in  seconds  that  will  be  imposed before
              forwarding a neighbor’s LSP.

       updatePeriod <unsigned int value>
              the number of seconds between sending our own LSP.

       maxAge <unsigned int value>
              the maximum number of seconds that an LSP can  live  within  the
              network before it is discarded.

       interface <dev name>
              where  <dev  name>  is  the name of an interface, eg. eth0, that
              will participate in the Mobile Mesh Routing  Protocol.  Multiple
              interfaces may be specified, each requires its own line.

       external <ip address> <netmask> <metric>
              where  <ip  address>  and <netmask> specify a range of addresses
              that this node can reach which are external to the  Mobile  Mesh
              cloud.  <metric> is the associated cost to reach these addresses
              from this node.

Unix Sockets

       mmrp makes extensive use of Unix sockets to supply information to other
       programs  and receive commands. Each well known socket name is appended
       with the UDP port number  which  allows  multiple  copies  of  mmrp  to
       execute simultaneously. The list below summarizes each Unix socket:

              Configuration  socket.  Allows  clients  to  dynamically add and
              delete IP interfaces without  restarting  the  router.  This  is
              useful  in  situations where a system’s set of IP interfaces can

              Import socket. Allows clients  to  dynamically  add  and  delete
              external route advertisements. External route advertisements are
              included as part of the router’s Link State Packet and provide a
              mechanism  for  a  node to advertise a route to an address space
              that exists outside of the Mobile Mesh cloud.

              Topology socket. Allows clients to receive all LSP’s  stored  in
              the   router’s   database.   This   mechanism  is  used  by  the
              visualization tool mmrpviz to learn the network topology.


       mmdiscover(8), mmborder(8), mmrpviz(8)


       This program and documentation was written by Kevin  H.  Grace  of  The
       MITRE  Corporation  <>.  Credit  is  also given to Mike
       Butler who developed some of the support  classes  and  lent  his  keen

                                 July 19, 2000                         MMRP(8)