INET Framework for OMNeT++/OMNEST
|
C++ interface for accessing unicast routing table entries of various protocols (IPv4, IPv6, etc) in a uniform way. More...
#include <IRoute.h>
Public Types | |
enum | SourceType { MANUAL, IFACENETMASK, ROUTER_ADVERTISEMENT, OWN_ADV_PREFIX, ICMP_REDIRECT, RIP, OSPF, BGP, ZEBRA, MANET, MANET2, DYMO, AODV } |
Specifies where the route comes from. More... | |
enum | ChangeCodes { F_DESTINATION, F_PREFIX_LENGTH, F_NEXTHOP, F_IFACE, F_SOURCE, F_TYPE, F_ADMINDIST, F_METRIC, F_EXPIRYTIME, F_LAST } |
Field codes for NB_ROUTE_CHANGED notifications. More... | |
Public Member Functions | |
virtual | ~IRoute () |
virtual IRoutingTable * | getRoutingTableAsGeneric () const =0 |
The routing table in which this route is inserted, or nullptr. More... | |
virtual void | setDestination (const L3Address &dest)=0 |
virtual void | setPrefixLength (int l)=0 |
virtual void | setNextHop (const L3Address &nextHop)=0 |
virtual void | setInterface (InterfaceEntry *ie)=0 |
virtual void | setSource (cObject *source)=0 |
virtual void | setSourceType (SourceType type)=0 |
virtual void | setMetric (int metric)=0 |
virtual L3Address | getDestinationAsGeneric () const =0 |
Destination address prefix to match. More... | |
virtual int | getPrefixLength () const =0 |
Represents length of prefix to match. More... | |
virtual L3Address | getNextHopAsGeneric () const =0 |
Next hop address. More... | |
virtual InterfaceEntry * | getInterface () const =0 |
Next hop interface. More... | |
virtual cObject * | getSource () const =0 |
Source of route. More... | |
virtual SourceType | getSourceType () const =0 |
Source type of the route. More... | |
virtual int | getMetric () const =0 |
Cost to reach the destination. More... | |
virtual cObject * | getProtocolData () const =0 |
virtual void | setProtocolData (cObject *protocolData)=0 |
Static Public Member Functions | |
static const char * | sourceTypeName (SourceType sourceType) |
C++ interface for accessing unicast routing table entries of various protocols (IPv4, IPv6, etc) in a uniform way.
Field codes for NB_ROUTE_CHANGED notifications.
Enumerator | |
---|---|
F_DESTINATION | |
F_PREFIX_LENGTH | |
F_NEXTHOP | |
F_IFACE | |
F_SOURCE | |
F_TYPE | |
F_ADMINDIST | |
F_METRIC | |
F_EXPIRYTIME | |
F_LAST |
Specifies where the route comes from.
Enumerator | |
---|---|
MANUAL |
manually added static route |
IFACENETMASK |
comes from an interface's netmask |
ROUTER_ADVERTISEMENT |
on-link prefix, from Router Advertisement |
OWN_ADV_PREFIX |
on routers: on-link prefix that the router itself advertises on the link |
ICMP_REDIRECT |
ICMP redirect message. |
RIP |
managed by the given routing protocol |
OSPF |
managed by the given routing protocol |
BGP |
managed by the given routing protocol |
ZEBRA |
managed by the Quagga/Zebra based model |
MANET |
managed by manet, search exact address |
MANET2 |
managed by manet, search approximate address |
DYMO |
managed by DYMO routing |
AODV |
managed by AODV routing |
|
pure virtual |
Destination address prefix to match.
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::configureInitialRoutes(), inet::AODVRouting::expungeRoutes(), inet::AODVRouting::handleLinkBreakSendRERR(), inet::AODVRouting::handleRERR(), inet::operator<<(), inet::dymo::DYMO::processRERR(), inet::RIPRouting::receiveSignal(), inet::RoutingTableRecorder::recordRouteChange(), inet::RIPRoute::RIPRoute(), inet::dymo::DYMO::sendRERRForBrokenLink(), and inet::dymo::DYMO::updateRoutes().
|
pure virtual |
Next hop interface.
Implemented in inet::IPv6Route, inet::IPv4Route, and inet::GenericRoute.
Referenced by inet::GenericRoutingTable::getOutputInterfaceForDestination(), inet::operator<<(), inet::dymo::DYMO::processRERR(), inet::RIPRouting::receiveSignal(), inet::dymo::DYMO::receiveSignal(), inet::RIPRoute::RIPRoute(), inet::dymo::DYMO::sendRERRForBrokenLink(), and inet::dymo::DYMO::sendRREP().
|
pure virtual |
Cost to reach the destination.
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::AODVRouting::createGratuitousRREP(), inet::AODVRouting::createRREP(), inet::dymo::DYMO::createRREP(), inet::AODVRouting::ensureRouteForDatagram(), inet::AODVRouting::handleRREP(), inet::AODVRouting::handleRREQ(), inet::operator<<(), inet::AODVRouting::sendRREP(), and inet::dymo::DYMO::updateRoutes().
|
pure virtual |
Next hop address.
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::AODVRouting::createRREP(), inet::AODVRouting::datagramForwardHook(), inet::AODVRouting::ensureRouteForDatagram(), inet::dymo::DYMO::ensureRouteForDatagram(), inet::GenericRoutingTable::getNextHopForDestination(), inet::AODVRouting::handleLinkBreakSendRERR(), inet::AODVRouting::handleRERR(), inet::AODVRouting::handleRREP(), inet::AODVRouting::handleRREQ(), inet::operator<<(), inet::dymo::DYMO::processRERR(), inet::AODVRouting::receiveSignal(), inet::RIPRouting::receiveSignal(), inet::dymo::DYMO::receiveSignal(), inet::RoutingTableRecorder::recordRouteChange(), inet::RIPRoute::RIPRoute(), inet::AODVRouting::sendGRREP(), inet::dymo::DYMO::sendRERRForBrokenLink(), inet::dymo::DYMO::sendRREP(), and inet::AODVRouting::sendRREP().
|
pure virtual |
Represents length of prefix to match.
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::isDefaultRoute(), inet::operator<<(), inet::RIPRouting::receiveSignal(), inet::RoutingTableRecorder::recordRouteChange(), and inet::RIPRoute::RIPRoute().
|
pure virtual |
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::AODVRouting::createGratuitousRREP(), inet::AODVRouting::createRREP(), inet::dymo::DYMO::createRREP(), inet::AODVRouting::createRREQ(), inet::AODVRouting::datagramForwardHook(), inet::AODVRouting::ensureRouteForDatagram(), inet::dymo::DYMO::ensureRouteForDatagram(), inet::AODVRouting::expungeRoutes(), inet::dymo::DYMO::expungeRoutes(), inet::dymo::DYMO::getNextExpungeTime(), inet::AODVRouting::handleHelloMessage(), inet::AODVRouting::handleLinkBreakSendRERR(), inet::AODVRouting::handleRERR(), inet::AODVRouting::handleRREP(), inet::AODVRouting::handleRREPACK(), inet::AODVRouting::handleRREQ(), inet::dymo::DYMO::processRERR(), inet::AODVRouting::scheduleExpungeRoutes(), inet::AODVRouting::sendHelloMessagesIfNeeded(), inet::dymo::DYMO::sendRERRForBrokenLink(), inet::AODVRouting::sendRERRWhenNoRouteToForward(), inet::AODVRouting::sendRREP(), inet::dymo::DYMO::updateRoute(), inet::dymo::DYMO::updateRoutes(), inet::AODVRouting::updateRoutingTable(), and inet::AODVRouting::updateValidRouteLifeTime().
|
pure virtual |
The routing table in which this route is inserted, or nullptr.
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RoutingTableRecorder::recordRouteChange().
|
pure virtual |
Source of route.
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::configureInitialRoutes(), inet::AODVRouting::createRREQ(), inet::AODVRouting::datagramForwardHook(), inet::AODVRouting::expungeRoutes(), inet::dymo::DYMO::expungeRoutes(), inet::dymo::DYMO::getNextExpungeTime(), inet::AODVRouting::handleHelloMessage(), inet::AODVRouting::handleLinkBreakSendRERR(), inet::AODVRouting::handleRREP(), inet::AODVRouting::handleRREPACK(), inet::AODVRouting::handleRREQ(), inet::RIPRouting::importRoute(), inet::RIPRouting::isLocalInterfaceRoute(), inet::RIPRouting::isLoopbackInterfaceRoute(), inet::dymo::DYMO::processRERR(), inet::AODVRouting::receiveSignal(), inet::RIPRouting::receiveSignal(), inet::AODVRouting::scheduleExpungeRoutes(), inet::AODVRouting::sendHelloMessagesIfNeeded(), inet::dymo::DYMO::sendRERRForBrokenLink(), inet::dymo::DYMO::updateRoutes(), and inet::AODVRouting::updateValidRouteLifeTime().
|
pure virtual |
Source type of the route.
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
|
pure virtual |
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::addRoute(), inet::AODVRouting::createRoute(), and inet::dymo::DYMO::updateRoute().
|
pure virtual |
Implemented in inet::IPv6Route, inet::IPv4Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::addRoute(), inet::AODVRouting::createRoute(), inet::RIPRoute::setInterface(), and inet::dymo::DYMO::updateRoute().
|
pure virtual |
Implemented in inet::IPv6Route, inet::IPv4Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::addRoute(), inet::AODVRouting::createRoute(), inet::RIPRoute::setMetric(), inet::dymo::DYMO::updateRoute(), and inet::AODVRouting::updateRoutingTable().
|
pure virtual |
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::addRoute(), inet::AODVRouting::createRoute(), inet::RIPRoute::setNextHop(), inet::dymo::DYMO::updateRoute(), and inet::AODVRouting::updateRoutingTable().
|
pure virtual |
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::addRoute(), inet::AODVRouting::createRoute(), and inet::dymo::DYMO::updateRoute().
|
pure virtual |
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::AODVRouting::createRoute(), and inet::dymo::DYMO::createRoute().
|
pure virtual |
Implemented in inet::IPv4Route, inet::IPv6Route, and inet::GenericRoute.
Referenced by inet::RIPRouting::addRoute(), inet::AODVRouting::createRoute(), and inet::dymo::DYMO::createRoute().
|
pure virtual |
Implemented in inet::GenericRoute.
Referenced by inet::RIPRouting::addRoute(), inet::AODVRouting::createRoute(), and inet::dymo::DYMO::createRoute().
|
static |
Referenced by inet::GenericRoute::info(), inet::IPv4Route::info(), and inet::IPv6Route::info().