Skip to content
Tom Barbette edited this page Oct 3, 2018 · 2 revisions

DSDVRouteTable Element Documentation

NAME

DSDVRouteTable — Click element; Run DSDV local routing protocol

SYNOPSIS

DSDVRouteTable(TIMEOUT, PERIOD, JITTER, MIN_TRIGGER_PERIOD, ETH, IP [, KEYWORDS])

Ports: 1 input, 1 output
Processing: push

DESCRIPTION

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 grid configuration.

Regular arguments are:

  • TIMEOUT — Unsigned integer. Milliseconds after which to expire route entries.
  • PERIOD — Unsigned integer. Milliseconds between full dumps, plus/minus some jitter (see below).
  • JITTER — Unsigned integer. Maximum milliseconds by which to randomly jitter full dumps.
  • MIN_TRIGGER_PERIOD — Unsigned integer. Minimum milliseconds between triggered updates.
  • ETH — This node's ethernet hardware address.
  • IP — This node's IP address.

Keywords arguments are:

  • GW — GridGatewayInfo element. Determines whether or not this node is a gateway. If this argument is not provided, the node is not a gateway.
  • MAX_HOPS — Unsigned integer. The maximum number of hops for which a route should propagate. The default number of hops is 3.
  • METRIC — GridGenericMetric element. The metric element that should be used to compare two routes. If not specified, minimum hop-count is used.
  • USE_SEQ_METRIC — Boolean. Iff true, use the `dsdv_seqs' metric, and ignore the METRIC keyword. Defaults to false.
  • IGNORE_INVALID_ROUTES — Boolean. Iff true, don't advertise or use routes with invalid route metrics. Defaults to false.
  • LOG — GridGenericLogger element. If provided, Grid events are logged to this element.
  • WST0 (zero, not `oh') — Unsigned integer. Initial weighted settling time in milliseconds. Defaults to 6,000 (6 seconds).
  • ALPHA — 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.
  • MTU — Unsigned integer. Maximum packet size (`mtu') allowed by interface; route broadcasts will not exceed this size. Defaults to
  • VERBOSE — Boolean. Be verbose about warning and status messages? Defaults to true.

ELEMENT HANDLERS

  • 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.

SEE ALSO

SendGridHello, FixSrcLoc, SetGridChecksum, LookupLocalGridRoute, LookupGeographicGridRoute GridGatewayInfo, HopcountMetric, GridLogger, Paint

Generated by click-elem2man from ../elements/grid/dsdvroutetable.hh:15 on 2018/10/03.

Clone this wiki locally