|
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, EIGRP, LISP, BABEL, ODR, UNKNOWN, ISIS } |
| 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... | |
| enum | RouteAdminDist { dDirectlyConnected = 0, dStatic = 1, dEIGRPSummary = 5, dBGPExternal = 20, dEIGRPInternal = 90, dIGRP = 100, dOSPF = 110, dISIS = 115, dRIP = 120, dEGP = 140, dODR = 160, dEIGRPExternal = 170, dBGPInternal = 200, dDHCPlearned = 254, dBABEL = 125, dLISP = 210, dUnknown = 255 } |
| Cisco like administrative distances. 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 (NetworkInterface *ie)=0 |
| virtual void | setSource (cObject *source)=0 |
| virtual void | setSourceType (SourceType type)=0 |
| virtual void | setMetric (int metric)=0 |
| virtual void | setAdminDist (unsigned int adminDist)=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 NetworkInterface * | 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.
Specifies where the route comes from.
|
pure virtual |
Destination address prefix to match.
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::expungeRoutes(), inet::aodv::Aodv::handleLinkBreakSendRERR(), inet::aodv::Aodv::handleRERR(), inet::operator<<(), inet::dymo::Dymo::processRerr(), inet::Rip::receiveSignal(), inet::RoutingTableRecorder::recordRouteChange(), inet::RipRoute::RipRoute(), inet::dymo::Dymo::sendRerrForBrokenLink(), inet::Rip::startRIPRouting(), and inet::dymo::Dymo::updateRoutes().
|
pure virtual |
Next hop interface.
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::operator<<(), inet::dymo::Dymo::processRerr(), inet::Rip::receiveSignal(), inet::dymo::Dymo::receiveSignal(), inet::RoutingTableRecorder::recordRouteChange(), inet::RipRoute::RipRoute(), inet::dymo::Dymo::sendRerrForBrokenLink(), and inet::dymo::Dymo::sendRrep().
|
pure virtual |
Cost to reach the destination.
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createGratuitousRREP(), inet::aodv::Aodv::createRREP(), inet::dymo::Dymo::createRrep(), inet::aodv::Aodv::ensureRouteForDatagram(), inet::aodv::Aodv::handleRREP(), inet::aodv::Aodv::handleRREQ(), inet::operator<<(), inet::Rip::processResponse(), inet::aodv::Aodv::sendRREP(), and inet::dymo::Dymo::updateRoutes().
|
pure virtual |
Next hop address.
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createRREP(), inet::aodv::Aodv::datagramForwardHook(), inet::aodv::Aodv::ensureRouteForDatagram(), inet::dymo::Dymo::ensureRouteForDatagram(), inet::aodv::Aodv::handleLinkBreakSendRERR(), inet::aodv::Aodv::handleRERR(), inet::aodv::Aodv::handleRREP(), inet::aodv::Aodv::handleRREQ(), inet::operator<<(), inet::dymo::Dymo::processRerr(), inet::Rip::receiveSignal(), inet::aodv::Aodv::receiveSignal(), inet::dymo::Dymo::receiveSignal(), inet::RoutingTableRecorder::recordRouteChange(), inet::RipRoute::RipRoute(), inet::aodv::Aodv::sendGRREP(), inet::dymo::Dymo::sendRerrForBrokenLink(), inet::dymo::Dymo::sendRrep(), and inet::aodv::Aodv::sendRREP().
|
pure virtual |
Represents length of prefix to match.
Implemented in inet::Ipv4Route, inet::Ipv6Route, and inet::NextHopRoute.
Referenced by inet::Rip::isDefaultRoute(), inet::operator<<(), inet::Rip::receiveSignal(), inet::RoutingTableRecorder::recordRouteChange(), and inet::RipRoute::RipRoute().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createGratuitousRREP(), inet::aodv::Aodv::createRREP(), inet::dymo::Dymo::createRrep(), inet::aodv::Aodv::createRREQ(), inet::aodv::Aodv::datagramForwardHook(), inet::aodv::Aodv::ensureRouteForDatagram(), inet::dymo::Dymo::ensureRouteForDatagram(), inet::aodv::Aodv::expungeRoutes(), inet::dymo::Dymo::expungeRoutes(), inet::dymo::Dymo::getNextExpungeTime(), inet::aodv::Aodv::handleHelloMessage(), inet::aodv::Aodv::handleLinkBreakSendRERR(), inet::aodv::Aodv::handleRERR(), inet::aodv::Aodv::handleRREP(), inet::aodv::Aodv::handleRREPACK(), inet::aodv::Aodv::handleRREQ(), inet::dymo::Dymo::processRerr(), inet::aodv::Aodv::scheduleExpungeRoutes(), inet::aodv::Aodv::sendHelloMessagesIfNeeded(), inet::dymo::Dymo::sendRerrForBrokenLink(), inet::aodv::Aodv::sendRERRWhenNoRouteToForward(), inet::aodv::Aodv::sendRREP(), inet::dymo::Dymo::updateRoute(), inet::dymo::Dymo::updateRoutes(), inet::aodv::Aodv::updateRoutingTable(), and inet::aodv::Aodv::updateValidRouteLifeTime().
|
pure virtual |
The routing table in which this route is inserted, or nullptr.
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::RoutingTableRecorder::recordRouteChange().
|
pure virtual |
Source of route.
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createRREQ(), inet::aodv::Aodv::datagramForwardHook(), inet::aodv::Aodv::expungeRoutes(), inet::dymo::Dymo::expungeRoutes(), inet::dymo::Dymo::getNextExpungeTime(), inet::aodv::Aodv::handleHelloMessage(), inet::aodv::Aodv::handleLinkBreakSendRERR(), inet::aodv::Aodv::handleRREP(), inet::aodv::Aodv::handleRREPACK(), inet::aodv::Aodv::handleRREQ(), inet::Rip::importRoute(), inet::Rip::isLocalInterfaceRoute(), inet::Rip::isLoopbackInterfaceRoute(), inet::dymo::Dymo::processRerr(), inet::Rip::receiveSignal(), inet::aodv::Aodv::receiveSignal(), inet::aodv::Aodv::scheduleExpungeRoutes(), inet::aodv::Aodv::sendHelloMessagesIfNeeded(), inet::dymo::Dymo::sendRerrForBrokenLink(), inet::Rip::startRIPRouting(), inet::dymo::Dymo::updateRoutes(), and inet::aodv::Aodv::updateValidRouteLifeTime().
|
pure virtual |
Source type of the route.
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
|
pure virtual |
Implemented in inet::Ipv6Route, inet::NextHopRoute, and inet::Ipv4Route.
Referenced by inet::Rip::createRoute().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createRoute(), inet::Rip::createRoute(), and inet::dymo::Dymo::updateRoute().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::NextHopRoute, and inet::Ipv4Route.
Referenced by inet::aodv::Aodv::createRoute(), inet::Rip::createRoute(), inet::RipRoute::setInterface(), and inet::dymo::Dymo::updateRoute().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::NextHopRoute, and inet::Ipv4Route.
Referenced by inet::aodv::Aodv::createRoute(), inet::Rip::createRoute(), inet::RipRoute::setMetric(), inet::dymo::Dymo::updateRoute(), and inet::aodv::Aodv::updateRoutingTable().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createRoute(), inet::Rip::createRoute(), inet::RipRoute::setNextHop(), inet::dymo::Dymo::updateRoute(), and inet::aodv::Aodv::updateRoutingTable().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createRoute(), inet::Rip::createRoute(), and inet::dymo::Dymo::updateRoute().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::Ipv4Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createRoute(), and inet::dymo::Dymo::createRoute().
|
pure virtual |
Implemented in inet::Ipv6Route, inet::NextHopRoute, and inet::Ipv4Route.
Referenced by inet::aodv::Aodv::createRoute(), inet::Rip::createRoute(), and inet::dymo::Dymo::createRoute().
|
pure virtual |
Implemented in inet::Ipv6Route, and inet::NextHopRoute.
Referenced by inet::aodv::Aodv::createRoute(), inet::Rip::createRoute(), and inet::dymo::Dymo::createRoute().
|
static |
Referenced by inet::NextHopRoute::str().