Package: inet.networklayer.ted
LinkStateRouting
simple moduleThis module implements a very minimalistic link state routing protocol. Apart from the basic topology information, the current link usage is distributed to all participants in the network (by means of flooding).
Collaborations
The link state database is kept in the Ted module.
Used in compound modules
Name | Type | Description |
---|---|---|
LdpMplsRouter | compound module |
An LDP-capable router. |
RsvpMplsRouter | compound module |
An RSVP-TE capable router. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string |
The path to the InterfaceTable module |
|
routingTableModule | string | ||
tedModule | string | ||
peers | string |
Properties
Name | Value | Description |
---|---|---|
display | i=block/network2 |
Gates
Name | Direction | Size | Description |
---|---|---|---|
ipIn | input | ||
ipOut | output |
Scheduled messages (observed)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
omnetpp::cMessage | 0 | announce |
Direct method calls (observed)
call to | function | info |
---|---|---|
MessageDispatcher | inet::MessageDispatcher::arrived | arrived |
MessageDispatcher | inet::MessageDispatcher::handleRegisterProtocol | handleRegisterProtocol |
InterfaceTable | inet::InterfaceTable::findInterfaceByName | findInterfaceByName |
Ipv4RoutingTable | inet::Ipv4RoutingTable::addRoute | addRoute(...) |
Ipv4RoutingTable | inet::Ipv4RoutingTable::deleteRoute | deleteRoute(...) |
Ipv4RoutingTable | inet::Ipv4RoutingTable::getInterfaceByAddress | getInterfaceByAddress(%u.%u.%u.%u) |
Called methods (observed)
function | info | call from |
---|---|---|
inet::LinkStateRouting::receiveSignal | tedChanged | RsvpTe |
Incoming messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
ipIn | Packet | 0 | Ipv4 | DispatchProtocolReq, DscpInd, EcnInd, HopLimitInd, InterfaceInd, L3AddressInd, NetworkProtocolInd, PacketProtocolTag, TosInd |
Outgoing messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
ipOut | Packet | 0 | Ipv4 | DispatchProtocolInd, DispatchProtocolReq, L3AddressReq, PacketProtocolTag |
Packet operations (observed)
chunkType | packetAction |
---|---|
LinkStateMsg | insertAtBack, peekAtFront |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
DispatchProtocolInd | addTagIfAbsent |
DispatchProtocolReq | addTagIfAbsent |
L3AddressInd | getTag |
L3AddressReq | addTagIfAbsent |
PacketProtocolTag | addTagIfAbsent |
Tagging operations (observed)
tagType | tagAction |
---|---|
inet::Ipv4InterfaceData | getTag |
Source code
// // This module implements a very minimalistic link state routing protocol. // Apart from the basic topology information, the current link usage // is distributed to all participants in the network (by means of flooding). // // Collaborations // // The link state database is kept in the ~Ted module. // simple LinkStateRouting { parameters: string interfaceTableModule; // The path to the InterfaceTable module string routingTableModule; string tedModule; string peers; @display("i=block/network2"); gates: input ipIn @labels(Ipv4ControlInfo/up); output ipOut @labels(Ipv4ControlInfo/down); }File: src/inet/networklayer/ted/LinkStateRouting.ned