Simple Module IPv6NeighbourDiscovery

Package: inet.networklayer.icmpv6
File: src/inet/networklayer/icmpv6/IPv6NeighbourDiscovery.ned

C++ definition

Implements IPv6 Neighbour Discovery.

An overview of the IPv6 implementation in the INET Framework is provided here.

See also: IPv6, IPv6RoutingTable, ICMPv6

IPv6NeighbourDiscovery

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

Represents an IPv6 network layer (L3).

Parameters:

Name Type Default value Description
interfaceTableModule string

The path to the InterfaceTable module

icmpv6Module string
xmipv6Module string
routingTableModule string
minIntervalBetweenRAs double 30ms

minRtrAdvInterval: 0.03 sec for MIPv6 , declared as parameter to facilitate testing without recompiling (Zarrar 15.07.07)

maxIntervalBetweenRAs double 70ms

MaxrtrAdvInterval: 0.07 sec for MIPv6, declared as parameter to facilitate testing without recompiling (Zarrar 15.07.07)

Properties:

Name Value Description
display i=block/network

Gates:

Name Direction Size Description
ipv6In input
ipv6Out output

Signals:

Name Type Unit
startDAD long

Statistics:

Name Title Source Record Unit Interpolation Mode
startDAD DAD started count, vector

Source code:

//
// Implements IPv6 Neighbour Discovery.
//
// An overview of the IPv6 implementation in the INET Framework is
// provided <a href="ipv6overview.html">here</a>.
//
// @see ~IPv6, ~IPv6RoutingTable, ~ICMPv6
//
simple IPv6NeighbourDiscovery
{
    parameters:
        string interfaceTableModule;   // The path to the InterfaceTable module
        string icmpv6Module;
        string xmipv6Module;
        string routingTableModule;
        double minIntervalBetweenRAs @unit(s) = default(30ms); //minRtrAdvInterval:  0.03 sec for MIPv6 , declared as parameter to facilitate testing without recompiling (Zarrar 15.07.07)
        double maxIntervalBetweenRAs @unit(s) = default(70ms);  //MaxrtrAdvInterval: 0.07 sec for MIPv6, declared as parameter to facilitate testing without recompiling (Zarrar 15.07.07)
        @display("i=block/network");
        @signal[startDAD](type=long); // emits value=1
        @statistic[startDAD](title="DAD started"; record=count,vector);
    gates:
        input ipv6In;
        output ipv6Out;
}