Ipv6NeighbourDiscovery

Package: inet.networklayer.icmpv6

Ipv6NeighbourDiscovery

simple module

Implements Ipv6 Neighbour Discovery.

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

See also: Ipv6, Ipv6RoutingTable, Icmpv6

Ipv6NeighbourDiscovery

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

crcMode string "declared"
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 crcMode @enum("declared","computed") = default("declared");
        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;
}

File: src/inet/networklayer/icmpv6/Ipv6NeighbourDiscovery.ned