|
INET Framework for OMNeT++/OMNEST
|
Contains the Traffic Engineering Database and provides public methods to access it from MPLS signalling protocols (LDP, RSVP-TE). More...
#include <TED.h>
Classes | |
| struct | edge_t |
| Only used internally, during shortest path calculation: edge in the graph we build from links in TELinkStateInfoVector. More... | |
| struct | vertex_t |
| Only used internally, during shortest path calculation: vertex in the graph we build from links in TELinkStateInfoVector. More... | |
Public Member Functions | |
| TED () | |
| virtual | ~TED () |
| virtual bool | handleOperationStage (LifecycleOperation *operation, int stage, IDoneCallback *doneCallback) override |
| Perform one stage of a lifecycle operation. More... | |
| virtual bool | checkLinkValidity (TELinkStateInfo link, TELinkStateInfo *&match) |
| virtual void | updateTimestamp (TELinkStateInfo *link) |
Public interface to the Traffic Engineering Database | |
| virtual IPv4Address | getInterfaceAddrByPeerAddress (IPv4Address peerIP) |
| virtual IPv4Address | peerRemoteInterface (IPv4Address peerIP) |
| virtual IPv4Address | getPeerByLocalAddress (IPv4Address localInf) |
| virtual IPv4Address | primaryAddress (IPv4Address localInf) |
| virtual bool | isLocalPeer (IPv4Address inetAddr) |
| virtual bool | isLocalAddress (IPv4Address addr) |
| virtual unsigned int | linkIndex (IPv4Address localInf) |
| virtual unsigned int | linkIndex (IPv4Address advrouter, IPv4Address linkid) |
| virtual IPAddressVector | getLocalAddress () |
| virtual void | rebuildRoutingTable () |
Public Member Functions inherited from inet::ILifecycle | |
| virtual | ~ILifecycle () |
Public Attributes | |
| TELinkStateInfoVector | ted |
| The link state database. More... | |
Protected Member Functions | |
| virtual void | initialize (int stage) override |
| virtual int | numInitStages () const override |
| virtual void | handleMessage (cMessage *msg) override |
| virtual void | initializeTED () |
| virtual IPAddressVector | calculateShortestPath (IPAddressVector dest, const TELinkStateInfoVector &topology, double req_bandwidth, int priority) |
| virtual int | assignIndex (std::vector< vertex_t > &vertices, IPv4Address nodeAddr) |
| std::vector< vertex_t > | calculateShortestPaths (const TELinkStateInfoVector &topology, double req_bandwidth, int priority) |
Protected Attributes | |
| IIPv4RoutingTable * | rt = nullptr |
| IInterfaceTable * | ift = nullptr |
| IPv4Address | routerId |
| IPAddressVector | interfaceAddrs |
| int | maxMessageId = 0 |
Contains the Traffic Engineering Database and provides public methods to access it from MPLS signalling protocols (LDP, RSVP-TE).
See NED file for more info.
|
protectedvirtual |
Referenced by calculateShortestPaths().
|
protectedvirtual |
|
protected |
Referenced by calculateShortestPath(), and rebuildRoutingTable().
|
virtual |
Referenced by inet::LinkStateRouting::processLINK_STATE_MESSAGE().
|
virtual |
Referenced by rebuildRoutingTable().
|
virtual |
|
virtual |
Referenced by rebuildRoutingTable().
|
overrideprotectedvirtual |
|
overridevirtual |
Perform one stage of a lifecycle operation.
Processing may be done entirely within this method, or may be a longer process that involves nonzero simulation time or several events, and is triggered by this method call.
Return value: true = "done"; false = "not yet done, will invoke doneCallback when done"
Implements inet::ILifecycle.
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by handleOperationStage(), and initialize().
|
virtual |
|
virtual |
Referenced by peerRemoteInterface(), and rebuildRoutingTable().
|
virtual |
Referenced by getPeerByLocalAddress(), inet::LDP::processHelloTimeout(), and inet::LDP::processLDPHello().
|
virtual |
|
inlineoverrideprotectedvirtual |
|
virtual |
|
virtual |
|
virtual |
Referenced by initializeTED(), inet::LDP::processHelloTimeout(), inet::LDP::processLDPHello(), and inet::LinkStateRouting::processLINK_STATE_MESSAGE().
|
virtual |
Referenced by inet::LinkStateRouting::receiveSignal().
|
protected |
Referenced by initialize(), and initializeTED().
|
protected |
Referenced by getLocalAddress(), handleOperationStage(), initializeTED(), isLocalAddress(), and rebuildRoutingTable().
|
protected |
Referenced by initialize(), initializeTED(), and updateTimestamp().
|
protected |
|
protected |
Referenced by initialize(), initializeTED(), and rebuildRoutingTable().
| TELinkStateInfoVector inet::TED::ted |
The link state database.
(TELinkStateInfoVector is defined in TED.msg)
Referenced by checkLinkValidity(), getInterfaceAddrByPeerAddress(), getPeerByLocalAddress(), inet::LinkStateRouting::handleMessage(), handleOperationStage(), initialize(), initializeTED(), isLocalPeer(), linkIndex(), peerRemoteInterface(), primaryAddress(), inet::LDP::processHelloTimeout(), inet::LDP::processLDPHello(), inet::LinkStateRouting::processLINK_STATE_MESSAGE(), rebuildRoutingTable(), inet::LinkStateRouting::receiveSignal(), and inet::LinkStateRouting::sendToPeers().