Package: inet.routing.pim
Pim
compound module(no description)
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.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| interfaceTableModule | string | ||
| routingTableModule | string | ||
| crcMode | string | "declared" |
Properties
| Name | Value | Description |
|---|---|---|
| class | Pim | |
| display | i=block/network2 |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| networkLayerIn | input | ||
| networkLayerOut | output |
Direct method calls (observed)
| call to | function | info |
|---|---|---|
| MessageDispatcher | inet::MessageDispatcher::handleRegisterProtocol | handleRegisterProtocol |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| pimSplitter.interfaceTableModule | string | ||
| pimSplitter.pimInterfaceTableModule | string | ||
| pimDM.interfaceTableModule | string | ||
| pimDM.routingTableModule | string | ||
| pimDM.pimInterfaceTableModule | string | ||
| pimDM.pimNeighborTableModule | string | ||
| pimDM.holdTime | double | 3.5 * helloPeriod | |
| pimSM.interfaceTableModule | string | ||
| pimSM.routingTableModule | string | ||
| pimSM.pimInterfaceTableModule | string | ||
| pimSM.pimNeighborTableModule | string | ||
| pimSM.RP | string | "" | |
| pimSM.designatedRouterPriority | int | -1 | |
| pimSM.holdTime | double | 3.5 * helloPeriod | |
| pimSM.joinPrunePeriod | double | 60s |
period between Join/Prune messages (called t_periodic in the RFC) |
| pimInterfaceTable.interfaceTableModule | string | ||
| pimInterfaceTable.pimConfig | xml | xml(" |
Source code
module Pim like IPim { parameters: @class(Pim); @display("i=block/network2"); string interfaceTableModule; string routingTableModule; string crcMode @enum("declared","computed") = default("declared"); *.interfaceTableModule = default(absPath(this.interfaceTableModule)); *.routingTableModule = default(absPath(this.routingTableModule)); *.pimInterfaceTableModule = default("^.pimInterfaceTable"); *.pimNeighborTableModule = default("^.pimNeighborTable"); gates: input networkLayerIn; output networkLayerOut; submodules: pimSplitter: PimSplitter { parameters: @display("p=250,150"); } pimDM: PimDm { parameters: @display("p=400,200"); } pimSM: PimSm { parameters: @display("p=400,100"); } pimInterfaceTable: PimInterfaceTable { parameters: @display("p=100,100;is=s"); } pimNeighborTable: PimNeighborTable { parameters: @display("p=100,200;is=s"); } connections: // pimDM pimSplitter.pimDMOut --> pimDM.ipIn; pimSplitter.pimDMIn <-- pimDM.ipOut; // pimSM pimSplitter.pimSMOut --> pimSM.ipIn; pimSplitter.pimSMIn <-- pimSM.ipOut; // splitter out pimSplitter.ipOut --> { @display("m=s"); } --> networkLayerOut; pimSplitter.ipIn <-- { @display("m=s"); } <-- networkLayerIn; }File: src/inet/routing/pim/Pim.ned