mmdiscover(8)
NAME
mmdiscover - Mobile Mesh Link Discovery
SYNOPSIS
mmdiscover [-d file] [-f file] [-h] -i ifname [-vz]
DESCRIPTION
- mmdiscover speaks the Mobile Mesh Link Discovery Protocol
- on an individual IP interface and reports neighbor interface ad
- dresses and associated costs for any discovered links. Links that
- go down are also detected and reported.
- Client programs may receive link reports by connecting to
- a well-known Unix socket created by mmdiscover whose name is
- based upon the name of the IP interface prepended with "ln-". For
- example, if mmdiscover is bound to interface "eth0", the well
- known Unix socket name will be "ln-eth0".
- mmdiscover does not have prior knowledge of potential
- clients. Clients simply send a message asking for the current
- list of links. This allows mmdiscover to dynamically learn who
- its clients are. Then, when a link goes up or down, it sends the
- event to all clients who have previously requested a list of
- links. A failure when sending an event to a client implies that
- the client has stopped listening and thus mmdiscover removes the
- client from its dynamically managed set of clients.
- mmdiscover is responsible for determining when links go up
- and down. Periodically, it broadcasts a Hello message on a Udp
- socket bound to the IP interface. mmdiscover can be configured
- to report either uni-directional or only bi-directional links.
- The Hello message includes a list of the interface addresses of
- the senders of Hello messages that have been heard by the inter
- face in the last DeadInterval .
- If mmdiscover reports uni-directional links, then whenever
- it receives a Hello from another node's interface that it does
- not have a link from, it reports the new link. If mmdiscover only
- reports bi-directional links, then it checks a neighbor list
- within the received Hello message for the address of the inter
- face that heard the Hello. Note, if mmdiscover is configured to
- report bi-directional links, then it must report that a link went
- down if it changes from bi-directional to uni-directional; simi
- larly, it reports that a link came up if it changes from uni-di
- rectional to bi-directional. If a Hello message for a link which
- is declared to be up is not received within a DeadInterval ,
- mmdiscover reports that the link is down.
OPTIONS
mmdiscover recognizes the following command line switches:
- -d file
- Use flags 'file' to enable debug output.
- -f file
- Use config 'file' instead of
- /etc/mobilemesh/mmdiscover.conf. See below for a description of
- the config file format.
- -h Display a help message.
- -i ifname
- The name of the IP interface whose neighbors will
- be discovered.
- -v Display version information.
- -z Run in the foreground instead of running as a dae
- mon.
Config File Format
- By default, mmdiscover reads the file
- /etc/mobilemesh/mmdiscover.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 be
- ginning a line with a #. The following configuration parameters
- are recognized:
- metric <unsigned int value>
- The cost associated with the interface.
- allowUni <bool>
- Set to 1 to allow uni-directional links to be re
- ported. Set to 0 to only allow bi-directional links to be report
- ed.
- port <Udp Port Number>
- The well known UDP port number that all similar
- nodes are using for link discovery.
- helloPeriod <unsigned int value>
- The number of seconds between sending "Hello" mes
- sages.
- deadInterval <unsigned int value>
- The number of seconds after hearing the last "Hel
- lo" message from a neighbor to declare the link from the neighbor
- down.
SEE ALSO
mmrp(8), mmborder(8), mmrpviz(8)
AUTHOR
- This program and documentation was written by Kevin H.
- Grace of The MITRE Corporation <kgrace@mitre.org>. Credit is also
- given to Mike Butler who developed some of the support classes
- and lent his keen insight.
July 19, 2000