Compound Module DTRouting

Package: saors.DTRouting
File: src/DTRouting/DTRouting.ned

DT router

This router module should be attached to the network layer of the node that participates in MANET routing. It contains a SaorsManeger which instantiates the requested routing protocol. You should configure the routing protcol to be the same across the whole network. Place the following in your INI file:

**dtrouting.saorsmanager.routingProtocol="DT-DYMO"

along with parameters for the choosen routing algorithm. At the moment the following DT routing algorithms are supported: -> SAMPhO (Socially-Aware Multi-Phase Opportunistic routing) -> DT-DYMO (Delay-Toleranent DYMO) -> SimBetTS (The similar to DT-DYMO bit using the SimBetTS utilities) -> EP-DYMO (Epidemic DYMO) -> R-DYMO (Random DYMO)

NOTE:

See also: SaorsManager, SAORSBase, SAMPhO, DTDYMO, EPDYMO, RDYMO

Author:: Nikolaos Vastardis

SaorsManager

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in compound modules:

Name Type Description
MobileDTRoutingHost compound module

Models a mobile host with a wireless (802.11g) card in ad-hoc mode. This model contains the new IEEE 802.11 implementation, Ieee80211gNicAdhoc, and IP, TCP and UDP protocols. The mobility model can be dynamically specified with the mobilityType parameter.Supports opportunistic routing protocols by setting the **dtrouting.saorsmanager.routingProtocol parameter.

Properties:

Name Value Description
display bgb=161,99;i=block/network2

Gates:

Name Direction Size Description
from_ip input
to_ip output

Unassigned submodule parameters:

Name Type Default value Description
manetmanager.routingProtocol string
manetmanager.manetPurgeRoutingTables bool true
manetmanager.AUTOASSIGN_ADDRESS bool false
manetmanager.AUTOASSIGN_ADDRESS_BASE string "10.0.0.0"

Source code:

//
// DT router 
//
// This router module should be attached to the network layer of the node that 
// participates in MANET routing. It contains a SaorsManeger which instantiates the
// requested routing protocol. You should configure the routing protcol to be the same
// across the whole network. Place the following in your INI file:
//
// **dtrouting.saorsmanager.routingProtocol="DT-DYMO"
// 
// along with parameters for the choosen routing algorithm.
// At the moment the following DT routing algorithms are supported:
// -> SAMPhO (Socially-Aware Multi-Phase Opportunistic routing)
// -> DT-DYMO (Delay-Toleranent DYMO)
// -> SimBetTS (The similar to DT-DYMO bit using the SimBetTS utilities)
// -> EP-DYMO (Epidemic DYMO)
// -> R-DYMO  (Random DYMO)
// 
// NOTE:
//  - A node participating in DT routing must have a single network interface with "wlan" 
//    in its name somewhere e.g: wlan0 or localwlan
//
// @see SaorsManager, SAORSBase, SAMPhO, DTDYMO, EPDYMO, RDYMO
//
// @author: Nikolaos Vastardis
//
module DTRouting
{
    parameters:
        @display("bgb=161,99;i=block/network2");
    gates:
        input from_ip;
        output to_ip;
    submodules:
        // the name of manet routing manager module must be "manetmanager", the routing protocols is ManetRouting.ned
        manetmanager: SaorsManager {
            parameters:
                // Manager parameters
                // eliminate in the routing table all the initial reference to wlan interfaces
                manetActive = true;
                // manetPurgeRoutingTables = true;
                @display("p=77,52;b=40,24;i=block/arrival");
        }
    connections allowunconnected:
        manetmanager.from_ip <-- from_ip;
        manetmanager.to_ip --> to_ip;
}