-
Notifications
You must be signed in to change notification settings - Fork 321
GridRouteTable
GridRouteTable — Click element; Run DSDV-like local routing protocol
GridRouteTable(TIMEOUT, PERIOD, JITTER, ETH, IP, GridGatewayInfo, LinkTracker, LinkStat [, KEYWORDS])
Ports: 1 input, 1 output
Processing: push
Drivers: userlevel
Implements a DSDV-like loop-free routing protocol by originating routing messages based on its routing tables, and processing routing update messages from other nodes. Maintains an immediate neighbor table, and a multi-hop route table. Route entries are removed TIMEOUT milliseconds after being installed. PERIOD is the milliseconds between route broadcasts, randomly offset by up to JITTER milliseconds. ETH and IP describe this node's Grid addresses, and GW is the GridGatewayInfo element. LinkTracker and LinkStat are LinkTracker and LinkStat elements for the interface to which this GridRouteTable element is connected.
Routing message entries are marked with both a sequence number (originated by the destination of the entry) and a real-time ttl. Entries with higher sequence numbers always supersede entries with lower sequence numbers. For entries with the same sequence number, the lower hop-count entry prevails. Entry ttls decrease while the entry resides in a node's routing table, as well as being decreased by a minimum amount when the route is propagated to another node. Thus an individual route entry will only propagate through the network for a finite amount of time. A route entry is not propagated if its ttl is less than the minimum decrement amount. A route is not accepted if its ttl is <= 0.
New routes are advertised with even sequence numbers originated by the route destination (obtained from LR_HELLO messages); broken routes are advertised with odd sequence numbers formed by adding 1 to the sequence number of the last known good route. Broken route advertisements are originally initiated when an immediate neighbor entry times out, and will always supersede the route they are concerned with; any new route will always supersede the previous broken route. When a node receives a broken route advertisement for a destination to which it knows a newer route, it kills the broken route advertisement and sends an advertisement for the the new route.
Keyword arguments are:
- MAX_HOPS — Integer. The maximum number of hops for which a route should propagate. The default number of hops is 3.
- LOGCHANNEL — String. The name of the chatter channel to which route action log messages should be logged. Default channel is ``routelog''.
- METRIC — String. The type of metric that should be used to compare two routes. Allowable values are: ``hopcount'', ``cumulative_delivery_rate'', ``min_delivery_rate'', ``min_sig_strength'', and ``min_sig_quality''. The default is to use hopcount.
- LOG — GridLogger element. Object to log events to.
SendGridHello, FixSrcLoc, SetGridChecksum, LookupLocalGridRoute, UpdateGridRoutes, LinkStat, LinkTracker, GridGatewayInfo, GridLogger
Generated by click-elem2man from ../elements/grid/gridroutetable.hh:4
on 2017/10/17.