Provided by: mobilemesh_1.0-6_i386
mmdiscover - Mobile Mesh Link Discovery
mmdiscover [-d file] [-f file] [-h] -i ifname [-vz]
mmdiscover speaks the Mobile Mesh Link Discovery Protocol on an
individual IP interface and reports neighbor interface addresses 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-
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 interface 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 interface 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; similarly, it reports that a link came up if it
changes from uni-directional 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.
mmdiscover recognizes the following command line switches:
Use flags ’file’ to enable debug output.
Use config ’file’ instead of /etc/mobilemesh/mmdiscover.conf.
See below for a description of the config file format.
-h Display a help message.
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 daemon.
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 beginning a line with a #. The following
configuration parameters are recognized:
metric <unsigned int value>
The cost associated with the interface.
Set to 1 to allow uni-directional links to be reported. Set to 0
to only allow bi-directional links to be reported.
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" messages.
deadInterval <unsigned int value>
The number of seconds after hearing the last "Hello" message
from a neighbor to declare the link from the neighbor down.
mmrp(8), mmborder(8), mmrpviz(8)
This program and documentation was written by Kevin H. Grace of The
MITRE Corporation <firstname.lastname@example.org>. Credit is also given to Mike
Butler who developed some of the support classes and lent his keen
July 19, 2000 MMDISCOVER(8)