INET Framework for OMNeT++/OMNEST
|
IPv4 unicast route in IIPv4RoutingTable. More...
#include <IPv4Route.h>
Public Types | |
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, dUnknown = 255 } |
Cisco like administrative distances. More... | |
Public Types inherited from inet::IRoute | |
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 | |
IPv4Route () | |
virtual | ~IPv4Route () |
virtual std::string | info () const override |
virtual std::string | detailedInfo () const override |
bool | operator== (const IPv4Route &route) const |
bool | operator!= (const IPv4Route &route) const |
bool | equals (const IPv4Route &route) const |
virtual void | setRoutingTable (IIPv4RoutingTable *rt) |
To be called by the routing table when this route is added or removed from it. More... | |
IIPv4RoutingTable * | getRoutingTable () const |
virtual bool | isValid () const |
test validity of route entry, e.g. More... | |
virtual void | setDestination (IPv4Address _dest) |
virtual void | setNetmask (IPv4Address _netmask) |
virtual void | setGateway (IPv4Address _gateway) |
virtual void | setInterface (InterfaceEntry *_interfacePtr) override |
virtual void | setSourceType (SourceType _source) override |
virtual void | setAdminDist (unsigned int _adminDist) |
virtual void | setMetric (int _metric) override |
IPv4Address | getDestination () const |
Destination address prefix to match. More... | |
IPv4Address | getNetmask () const |
Represents length of prefix to match. More... | |
IPv4Address | getGateway () const |
Next hop address. More... | |
InterfaceEntry * | getInterface () const override |
Next hop interface. More... | |
const char * | getInterfaceName () const |
Convenience method. More... | |
SourceType | getSourceType () const override |
Source of route. More... | |
unsigned int | getAdminDist () const |
Route source specific preference value. More... | |
int | getMetric () const override |
"Cost" to reach the destination More... | |
void | setSource (cObject *_source) override |
cObject * | getSource () const override |
Source of route. More... | |
cObject * | getProtocolData () const override |
void | setProtocolData (cObject *protocolData) override |
virtual IRoutingTable * | getRoutingTableAsGeneric () const override |
The routing table in which this route is inserted, or nullptr. More... | |
virtual void | setDestination (const L3Address &dest) override |
virtual void | setPrefixLength (int len) override |
virtual void | setNextHop (const L3Address &nextHop) override |
virtual L3Address | getDestinationAsGeneric () const override |
Destination address prefix to match. More... | |
virtual int | getPrefixLength () const override |
Represents length of prefix to match. More... | |
virtual L3Address | getNextHopAsGeneric () const override |
Next hop address. More... | |
Public Member Functions inherited from inet::IRoute | |
virtual | ~IRoute () |
virtual void | setSourceType (SourceType type)=0 |
Protected Member Functions | |
void | changed (int fieldCode) |
Private Member Functions | |
IPv4Route (const IPv4Route &obj) | |
IPv4Route & | operator= (const IPv4Route &obj) |
Private Attributes | |
IIPv4RoutingTable * | rt |
the routing table in which this route is inserted, or nullptr More... | |
IPv4Address | dest |
Destination. More... | |
IPv4Address | netmask |
Route mask. More... | |
IPv4Address | gateway |
Next hop. More... | |
InterfaceEntry * | interfacePtr |
interface More... | |
SourceType | sourceType |
manual, routing prot, etc. More... | |
unsigned int | adminDist |
Cisco like administrative distance. More... | |
int | metric |
Metric ("cost" to reach the destination) More... | |
cObject * | source |
Object identifying the source. More... | |
cObject * | protocolData |
Routing Protocol specific data. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from inet::IRoute | |
static const char * | sourceTypeName (SourceType sourceType) |
IPv4 unicast route in IIPv4RoutingTable.
Cisco like administrative distances.
Enumerator | |
---|---|
dDirectlyConnected | |
dStatic | |
dEIGRPSummary | |
dBGPExternal | |
dEIGRPInternal | |
dIGRP | |
dOSPF | |
dISIS | |
dRIP | |
dEGP | |
dODR | |
dEIGRPExternal | |
dBGPInternal | |
dDHCPlearned | |
dUnknown |
|
private |
|
inline |
|
virtual |
|
protected |
Referenced by inet::IPv4MulticastRoute::addOutInterface(), inet::IPv4MulticastRoute::clearOutInterfaces(), inet::IPv4MulticastRoute::removeOutInterface(), and inet::IPv4MulticastRoute::setInInterface().
|
overridevirtual |
bool inet::IPv4Route::equals | ( | const IPv4Route & | route | ) | const |
|
inline |
Route source specific preference value.
Referenced by inet::PIMSM::addNewRouteG(), inet::PIMSM::addNewRouteSG(), inet::IPv4RoutingTable::routeLessThan(), and inet::PIMDM::unroutableMulticastPacketArrived().
|
inline |
Destination address prefix to match.
Referenced by inet::ospf::Router::addExternalRouteInIPTable(), inet::ospf::Area::calculateInterAreaRoutes(), inet::ospf::Area::calculateShortestPathTree(), inet::bgp::BGPRouting::checkExternalRoute(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::bgp::BGPRouting::deleteBGPRoutingEntry(), inet::IPv4NetworkConfigurator::dumpConfig(), inet::NetworkInfo::dumpRoutingInfo(), inet::LDP::findPeerAddrFromInterface(), inet::ospf::Area::findSameOrWorseCostRoute(), inet::DHCPClient::finish(), inet::ospf::Router::getRoutesToASBoundaryRouter(), inet::ospf::Router::hasRouteToASBoundaryRouter(), inet::IPv4RoutingTable::internalAddRoute(), inet::bgp::BGPRouting::isInRoutingTable(), inet::bgp::BGPRouting::isInTable(), inet::ospf::Router::lookup(), inet::bgp::operator<<(), inet::ospf::operator<<(), inet::ospf::RoutingTableEntry::operator==(), inet::ospf::Area::originateSummaryLSA(), inet::IPv4RoutingTable::printRoutingTable(), inet::LDP::rebuildFecList(), inet::TED::rebuildRoutingTable(), inet::PIMDM::receiveSignal(), inet::ospf::Area::recheckSummaryLSAs(), inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::resolveDirective(), inet::IPv4RoutingTable::routeLessThan(), inet::bgp::RoutingTableEntry::RoutingTableEntry(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::ospf::Router::updateExternalRoute(), and inet::bgp::BGPRouting::updateSendProcess().
|
inlineoverridevirtual |
Destination address prefix to match.
Implements inet::IRoute.
|
inline |
Next hop address.
Referenced by inet::PIMSM::addNewRouteG(), inet::PIMSM::addNewRouteSG(), inet::visualizer::RoutingTableVisualizerBase::addRouteVisualizations(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::IPv4NetworkConfigurator::dumpConfig(), inet::NetworkInfo::dumpRoutingInfo(), inet::DHCPClient::finish(), inet::bgp::operator<<(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::IPv4RoutingTable::printRoutingTable(), inet::LDP::rebuildFecList(), inet::TED::rebuildRoutingTable(), inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::resolveDirective(), inet::IPv4NetworkConfigurator::routesHaveSameColor(), inet::IPv4::routeUnicastPacket(), inet::bgp::RoutingTableEntry::RoutingTableEntry(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::PIMDM::unroutableMulticastPacketArrived(), and inet::PIMSM::unroutableMulticastPacketArrived().
|
inlineoverridevirtual |
Next hop interface.
Implements inet::IRoute.
Referenced by inet::PIMSM::addNewRouteG(), inet::PIMSM::addNewRouteSG(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::IPv4RoutingTable::deleteInterfaceRoutes(), inet::IPv4::determineOutgoingInterfaceForMulticastDatagram(), inet::NetworkInfo::dumpRoutingInfo(), inet::LDP::findPeerAddrFromInterface(), inet::IPv4RoutingTable::internalAddRoute(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::IPv4RoutingTable::printRoutingTable(), inet::PIMDM::receiveSignal(), inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::resolveDirective(), inet::IPv4NetworkConfigurator::routesHaveSameColor(), inet::IPv4::routeUnicastPacket(), inet::bgp::RoutingTableEntry::RoutingTableEntry(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::PIMDM::rpfInterfaceHasChanged(), inet::PIMDM::unroutableMulticastPacketArrived(), and inet::PIMSM::unroutableMulticastPacketArrived().
const char * inet::IPv4Route::getInterfaceName | ( | ) | const |
Convenience method.
Referenced by inet::IPv4NetworkConfigurator::dumpConfig(), inet::NetworkInfo::dumpRoutingInfo(), inet::DHCPClient::finish(), inet::ospf::operator<<(), and inet::TED::rebuildRoutingTable().
|
inlineoverridevirtual |
"Cost" to reach the destination
Implements inet::IRoute.
Referenced by inet::PIMSM::addNewRouteG(), inet::PIMSM::addNewRouteSG(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::IPv4NetworkConfigurator::dumpConfig(), inet::NetworkInfo::dumpRoutingInfo(), inet::DHCPClient::finish(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::IPv4RoutingTable::printRoutingTable(), inet::IPv4RoutingTable::routeLessThan(), inet::IPv4NetworkConfigurator::routesHaveSameColor(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), and inet::PIMDM::unroutableMulticastPacketArrived().
|
inline |
Represents length of prefix to match.
Referenced by inet::ospf::Router::addExternalRouteInIPTable(), inet::ospf::Area::calculateInterAreaRoutes(), inet::ospf::Area::calculateShortestPathTree(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::bgp::BGPRouting::deleteBGPRoutingEntry(), inet::IPv4NetworkConfigurator::dumpConfig(), inet::NetworkInfo::dumpRoutingInfo(), inet::ospf::Area::findSameOrWorseCostRoute(), inet::DHCPClient::finish(), inet::IPv4RoutingTable::internalAddRoute(), inet::bgp::BGPRouting::isInRoutingTable(), inet::bgp::BGPRouting::isInTable(), inet::ospf::Router::lookup(), inet::bgp::operator<<(), inet::ospf::operator<<(), inet::ospf::RoutingTableEntry::operator==(), inet::ospf::Area::originateSummaryLSA(), inet::IPv4RoutingTable::printRoutingTable(), inet::LDP::rebuildFecList(), inet::PIMDM::receiveSignal(), inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::resolveDirective(), inet::IPv4RoutingTable::routeLessThan(), inet::bgp::RoutingTableEntry::RoutingTableEntry(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::ospf::Router::updateExternalRoute(), and inet::bgp::BGPRouting::updateSendProcess().
|
inlineoverridevirtual |
Next hop address.
Implements inet::IRoute.
|
inlineoverridevirtual |
Represents length of prefix to match.
Implements inet::IRoute.
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inline |
Referenced by inet::IPv4RoutingTable::deleteInterfaceRoutes(), inet::IPv4RoutingTable::deleteRoute(), getRoutingTableAsGeneric(), inet::IPv4MulticastRoute::getRoutingTableAsGeneric(), inet::IPv4RoutingTable::purge(), inet::IPv4RoutingTable::removeRoute(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
overridevirtual |
The routing table in which this route is inserted, or nullptr.
Implements inet::IRoute.
|
inlineoverridevirtual |
Source of route.
Implements inet::IRoute.
Referenced by inet::IPv4NetworkConfigurator::configureRoutingTable().
|
inlineoverridevirtual |
Source of route.
MANUAL (read from file), from routing protocol, etc
Implements inet::IRoute.
Referenced by inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::NetworkInfo::dumpRoutingInfo(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::bgp::BGPRouting::ospfExist(), inet::IPv4NetworkConfigurator::routesHaveSameColor(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::PIMDM::rpfInterfaceHasChanged(), and inet::PIMDM::unroutableMulticastPacketArrived().
|
overridevirtual |
Referenced by inet::IPv4RoutingTable::addRoute(), inet::IPv4NetworkConfigurator::addStaticRoutes(), inet::IPv4RoutingTable::deleteRoute(), inet::IPv4MulticastRoute::detailedInfo(), inet::operator<<(), inet::IPv4RoutingTable::removeRoute(), and inet::visualizer::RoutingTableVisualizerBase::DirectiveResolver::resolveDirective().
|
inlinevirtual |
|
inline |
|
inline |
|
inlinevirtual |
Referenced by inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlinevirtual |
Referenced by inet::FlatNetworkConfigurator::addDefaultRoutes(), inet::ospf::Router::addExternalRouteInIPTable(), inet::IPv4NetworkConfigurator::addStaticRoutes(), inet::DHCPClient::bindLease(), inet::ospf::Router::calculateASExternalRoutes(), inet::ospf::Area::calculateShortestPathTree(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::ospf::Area::createRoutingTableEntryFromSummaryLSA(), inet::bgp::BGPRouting::decisionProcess(), inet::FlatNetworkConfigurator::fillRoutingTables(), inet::bgp::BGPRouting::loadASConfig(), inet::ospf::Router::lookup(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::RoutingTableParser::parseRouting(), inet::bgp::BGPRouting::processMessage(), inet::IPv4NetworkConfigurator::readManualRouteConfiguration(), inet::TED::rebuildRoutingTable(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::ospf::Router::updateExternalRoute(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlineoverridevirtual |
Implements inet::IRoute.
Referenced by setDestination().
|
inlinevirtual |
Referenced by inet::ospf::RoutingTableEntry::addNextHop(), inet::IPv4NetworkConfigurator::addStaticRoutes(), inet::DHCPClient::bindLease(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::RoutingTableParser::parseRouting(), inet::IPv4NetworkConfigurator::readManualRouteConfiguration(), inet::TED::rebuildRoutingTable(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlineoverridevirtual |
Implements inet::IRoute.
Referenced by inet::FlatNetworkConfigurator::addDefaultRoutes(), inet::ospf::Router::addExternalRouteInIPTable(), inet::ospf::RoutingTableEntry::addNextHop(), inet::IPv4NetworkConfigurator::addStaticRoutes(), inet::DHCPClient::bindLease(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::FlatNetworkConfigurator::fillRoutingTables(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::RoutingTableParser::parseRouting(), inet::IPv4NetworkConfigurator::readManualRouteConfiguration(), inet::TED::rebuildRoutingTable(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::ospf::Router::updateExternalRoute(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlineoverridevirtual |
Implements inet::IRoute.
Referenced by inet::ospf::Router::addExternalRouteInIPTable(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::RoutingTableParser::parseRouting(), inet::IPv4NetworkConfigurator::readManualRouteConfiguration(), inet::TED::rebuildRoutingTable(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::ospf::RoutingTableEntry::setCost(), inet::ospf::RoutingTableEntry::setPathType(), inet::ospf::RoutingTableEntry::setType2Cost(), inet::ospf::Router::updateExternalRoute(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlinevirtual |
Referenced by inet::FlatNetworkConfigurator::addDefaultRoutes(), inet::ospf::Router::addExternalRouteInIPTable(), inet::IPv4NetworkConfigurator::addStaticRoutes(), inet::DHCPClient::bindLease(), inet::ospf::Router::calculateASExternalRoutes(), inet::ospf::Area::calculateShortestPathTree(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::ospf::Area::createRoutingTableEntryFromSummaryLSA(), inet::bgp::BGPRouting::decisionProcess(), inet::FlatNetworkConfigurator::fillRoutingTables(), inet::bgp::BGPRouting::loadASConfig(), inet::ospf::Router::lookup(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::RoutingTableParser::parseRouting(), inet::bgp::BGPRouting::processMessage(), inet::IPv4NetworkConfigurator::readManualRouteConfiguration(), inet::TED::rebuildRoutingTable(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::ospf::Router::updateExternalRoute(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inlineoverridevirtual |
Implements inet::IRoute.
|
inlinevirtual |
To be called by the routing table when this route is added or removed from it.
Referenced by inet::IPv4RoutingTable::internalAddRoute(), inet::IPv4RoutingTable::removeRoute(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlineoverridevirtual |
Implements inet::IRoute.
Referenced by inet::IPv4NetworkConfigurator::configureRoutingTable(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inlineoverridevirtual |
Referenced by inet::FlatNetworkConfigurator::addDefaultRoutes(), inet::ospf::Router::addExternalRouteInIPTable(), inet::IPv4NetworkConfigurator::addStaticRoutes(), inet::DHCPClient::bindLease(), inet::IPv4NetworkConfigurator::configureRoutingTable(), inet::bgp::BGPRouting::decisionProcess(), inet::FlatNetworkConfigurator::fillRoutingTables(), inet::IPv4NetworkConfigurator::optimizeRoutes(), inet::RoutingTableParser::parseRouting(), inet::IPv4NetworkConfigurator::readManualRouteConfiguration(), inet::TED::rebuildRoutingTable(), inet::ospf::RoutingTableEntry::RoutingTableEntry(), inet::ospf::Router::updateExternalRoute(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
private |
Cisco like administrative distance.
|
private |
|
private |
|
private |
interface
Referenced by equals(), getInterfaceName(), and info().
|
private |
Metric ("cost" to reach the destination)
Referenced by equals(), info(), and inet::IPv4MulticastRoute::info().
|
private |
|
private |
Routing Protocol specific data.
Referenced by info(), and ~IPv4Route().
|
private |
the routing table in which this route is inserted, or nullptr
Referenced by changed(), inet::IPv4MulticastRoute::changed(), and equals().
|
private |
Object identifying the source.
|
private |
manual, routing prot, etc.
Referenced by equals(), info(), and inet::IPv4MulticastRoute::info().