DYMO

Package: inet.routing.dymo

DYMO

simple module

This module provides Dynamic MANET On-demand (DYMO also known as AODVv2) Routing based on the IETF draft at http://tools.ietf.org/html/draft-ietf-manet-dymo-24.

Module parameters are copied from the IETF draft and renamed for consistency with INET naming conventions. Some parameters are not yet implemented.

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
MultiDYMO compound module

This module provides DYMO routing for multiple network protocols simultaneously.

Parameters

Name Type Default value Description
interfaceTableModule string

context parameters

routingTableModule string
networkProtocolModule string "^.networkLayer.ip"
clientAddresses string "10.10.0.0/24 10.20.0.0"

1. DYMO parameter group

useMulticastRREP bool false

USE_MULTICAST_RREP

interfaces string "*"

string DEFAULT_METRIC_TYPE = default("HOP_COUNT");

activeInterval double 5s

2. DYMO parameter group

maxIdleTime double 200s

MAX_IDLETIME

maxSequenceNumberLifetime double 300s

MAX_SEQNUM_LIFETIME

routeRREQWaitTime double 2s

ROUTE_RREQ_WAIT_TIME

rreqHolddownTime double 10s

double UNICAST_MESSAGE_SENT_TIMEOUT @unit("s") = default(1s);

maxHopCount int 20

3. DYMO parameter group

discoveryAttemptsMax int 3

string MAX_METRIC = default(""); double MAXTIME;

appendInformation bool true

4. DYMO parameter group

bufferSizePackets int -1

BUFFER_SIZE_PACKETS

bufferSizeBytes int -1B

BUFFER_SIZE_BYTES double CONTROL_TRAFFIC_LIMIT

maxJitter double 10ms

DYMO extension parameters

sendIntermediateRREP bool true
minHopLimit int 5
maxHopLimit int 10

Properties

Name Value Description
class dymo::DYMO

properties

display i=block/routing

Gates

Name Direction Size Description
ipIn input
ipOut output

Source code

//
// This module provides Dynamic MANET On-demand (DYMO also known as AODVv2) Routing
// based on the IETF draft at http://tools.ietf.org/html/draft-ietf-manet-dymo-24.
//
// Module parameters are copied from the IETF draft and renamed for consistency with
// INET naming conventions. Some parameters are not yet implemented.
//
simple DYMO like IDYMO
{
    parameters:
        // properties
        @class("dymo::DYMO");
        @display("i=block/routing");

        // context parameters
        string interfaceTableModule;   // The path to the InterfaceTable module
        string routingTableModule;
        string networkProtocolModule = default("^.networkLayer.ip");

        // 1. DYMO parameter group
        string clientAddresses = default("10.10.0.0/24 10.20.0.0"); // CLIENT_ADDRESSES
        bool useMulticastRREP = default(false); // USE_MULTICAST_RREP
        // string DEFAULT_METRIC_TYPE = default("HOP_COUNT");
        string interfaces = default("*"); // AODVv2_INTERFACES

        // 2. DYMO parameter group
        double activeInterval @unit("s") = default(5s); // ACTIVE_INTERVAL
        double maxIdleTime @unit("s") = default(200s); // MAX_IDLETIME
        double maxSequenceNumberLifetime @unit("s") = default(300s); // MAX_SEQNUM_LIFETIME
        double routeRREQWaitTime @unit("s") = default(2s); // ROUTE_RREQ_WAIT_TIME
        // double UNICAST_MESSAGE_SENT_TIMEOUT @unit("s") = default(1s);
        double rreqHolddownTime @unit("s") = default(10s); // RREQ_HOLDDOWN_TIME

        // 3. DYMO parameter group
        int maxHopCount = default(20); // MAX_HOPCOUNT
        // string MAX_METRIC = default("");
        // double MAXTIME;
        int discoveryAttemptsMax = default(3); // DISCOVERY_ATTEMPTS_MAX
        // int MTU;

        // 4. DYMO parameter group
        bool appendInformation = default(true); //APPEND_INFORMATION;
        int bufferSizePackets = default(-1); // BUFFER_SIZE_PACKETS
        int bufferSizeBytes @unit("B") = default(-1B); //  BUFFER_SIZE_BYTES
        // double CONTROL_TRAFFIC_LIMIT

        // DYMO extension parameters
        double maxJitter @unit("s") = default(10ms);
        bool sendIntermediateRREP = default(true);
        int minHopLimit = default(5);
        int maxHopLimit = default(10);

    gates:
        input ipIn;
        output ipOut;
}

File: src/inet/routing/dymo/DYMO.ned