This is automatically generated documentation. Edit after the "COMMENTS" heading; changes to the main body will be lost.
DSDVRouteTable -- Click element;
Run DSDV local routing protocol
DSDVRouteTable(TIMEOUT, PERIOD, JITTER, MIN_TRIGGER_PERIOD, ETH, IP [, KEYWORDS])
Ports: 1 input, 1 output
Package: grid (core)
This is meant to be an `official' implementation of DSDV. It is
intended to exactly replicate the behavior of DSDV as described in
the original Perkins paper, the CMU ad-hoc bakeoff paper, and the
CMU ns implementation. I make no guarantees that any of the above
are actually achieved.
DSDVRouteTable expects the Paint annotation to be set on Grid
packets arriving from the network.
There must only be one of DSDVRouteTable or GridRouteTable in a
Regular arguments are:
- Unsigned integer. Milliseconds after which to expire route entries.
- Unsigned integer. Milliseconds between full dumps, plus/minus some jitter (see below).
- Unsigned integer. Maximum milliseconds by which to randomly jitter full dumps.
- Unsigned integer. Minimum milliseconds between triggered updates.
- This node's ethernet hardware address.
- This node's IP address.
Keywords arguments are:
- GridGatewayInfo element. Determines whether or not this node is a
gateway. If this argument is not provided, the node is not a
- Unsigned integer. The maximum number of hops for which a route
should propagate. The default number of hops is 3.
- GridGenericMetric element. The metric element that should be used
to compare two routes. If not specified, minimum hop-count is
- Boolean. Iff true, use the `dsdv_seqs' metric, and ignore the
METRIC keyword. Defaults to false.
- Boolean. Iff true, don't advertise or use routes with invalid
route metrics. Defaults to false.
- GridGenericLogger element. If provided, Grid events are logged to
- WST0 (zero, not `oh')
- Unsigned integer. Initial weighted settling time in milliseconds.
Defaults to 6,000 (6 seconds).
- Unsigned integer. DSDV settling time weighting parameter, in
percent, between 0 and 100 inclusive. Defaults to 88%.
- SEQ0 (zero, not `oh')
- Unsigned integer. Initial sequence number used in advertisements.
Defaults to 0. Must be even.
- Unsigned integer. Maximum packet size (`mtu') allowed by
interface; route broadcasts will not exceed this size. Defaults to
- Boolean. Be verbose about warning and status messages? Defaults
- nbrs (read-only)
- Print 1-hop routes. `nbrs_v' is more verbose.
- rtes (read-only)
- Print route table. `rtes_v' is more verbose.
- links (read-only)
- Print this node's link table.
- ip (read-only)
- Print this node's IP address.
- eth (read-only)
- Print this node's Ethernet address.
- seqno (read/write)
- Get/set this node's current sequence number (unsigned int, must be even).
- paused (read/write)
- Get/set this node's pause status (boolean). After the node is
paused, subsequent data packets are routed using a snapshot of the
route table taken at the pause time; however, the real route table
continues to be updated and route ads continue to be sent. When
the node becomes unpaused, packets are routed using the real route
table. The node is initially unpaused. This functionality may be
disabled at compile-time.
- use_old_route (read/write)
- Unsigned integer 0-2. If 0 (default), immediately use routes with
newer sequence numbers. If 1, only use new routes after the
settling time has passed and they can be advertised. If 2,
immediately use routes with newer sequence numbers only if their
metric is better than the last route; otherwise wait until the
settling time has passed before using the new route. This
functionality may be disabled at compile-time.