|
INET Framework for OMNeT++/OMNEST
|
#include <Ospfv2RoutingTableEntry.h>
|
| enum | RoutingPathType { INTRAAREA = 0,
INTERAREA = 1,
TYPE1_EXTERNAL = 2,
TYPE2_EXTERNAL = 3
} |
| |
| typedef unsigned char | RoutingDestinationType |
| |
| 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...
|
| |
◆ RoutingDestinationType
◆ RoutingPathType
| Enumerator |
|---|
| INTRAAREA | |
| INTERAREA | |
| TYPE1_EXTERNAL | |
| TYPE2_EXTERNAL | |
◆ Ospfv2RoutingTableEntry() [1/2]
| inet::ospfv2::Ospfv2RoutingTableEntry::Ospfv2RoutingTableEntry |
( |
IInterfaceTable * |
ift | ) |
|
◆ Ospfv2RoutingTableEntry() [2/2]
◆ ~Ospfv2RoutingTableEntry()
| virtual inet::ospfv2::Ospfv2RoutingTableEntry::~Ospfv2RoutingTableEntry |
( |
| ) |
|
|
inlinevirtual |
◆ addNextHop()
| void inet::ospfv2::Ospfv2RoutingTableEntry::addNextHop |
( |
NextHop |
hop | ) |
|
◆ clearNextHops()
| void inet::ospfv2::Ospfv2RoutingTableEntry::clearNextHops |
( |
| ) |
|
|
inline |
◆ getArea()
| AreaId inet::ospfv2::Ospfv2RoutingTableEntry::getArea |
( |
| ) |
const |
|
inline |
◆ getCost()
| Metric inet::ospfv2::Ospfv2RoutingTableEntry::getCost |
( |
| ) |
const |
|
inline |
◆ getDestinationType()
◆ getDestinationTypeString()
| const char * inet::ospfv2::Ospfv2RoutingTableEntry::getDestinationTypeString |
( |
RoutingDestinationType |
destType | ) |
|
|
static |
159 return "AreaBorderRouter";
161 return "ASBoundaryRouter";
163 return "AreaBorderRouter+ASBoundaryRouter";
Referenced by inet::ospfv2::operator<<(), and str().
◆ getLinkStateOrigin()
| const Ospfv2Lsa* inet::ospfv2::Ospfv2RoutingTableEntry::getLinkStateOrigin |
( |
| ) |
const |
|
inline |
◆ getNextHop()
| NextHop inet::ospfv2::Ospfv2RoutingTableEntry::getNextHop |
( |
unsigned int |
index | ) |
const |
|
inline |
◆ getNextHopCount()
| unsigned int inet::ospfv2::Ospfv2RoutingTableEntry::getNextHopCount |
( |
| ) |
const |
|
inline |
◆ getOptionalCapabilities()
| Ospfv2Options inet::ospfv2::Ospfv2RoutingTableEntry::getOptionalCapabilities |
( |
| ) |
const |
|
inline |
◆ getPathType()
| RoutingPathType inet::ospfv2::Ospfv2RoutingTableEntry::getPathType |
( |
| ) |
const |
|
inline |
◆ getPathTypeString()
| const char * inet::ospfv2::Ospfv2RoutingTableEntry::getPathTypeString |
( |
RoutingPathType |
pathType | ) |
|
|
static |
◆ getType2Cost()
| Metric inet::ospfv2::Ospfv2RoutingTableEntry::getType2Cost |
( |
| ) |
const |
|
inline |
◆ operator!=()
58 {
return !((*this) == entry); }
◆ operator==()
64 unsigned int hopCount =
nextHops.size();
67 if (hopCount != entry.nextHops.size()) {
70 for (i = 0; i < hopCount; i++) {
71 if ((
nextHops[i] != entry.nextHops[i])) {
80 (
area == entry.area) &&
82 (
cost == entry.cost) &&
◆ setArea()
| void inet::ospfv2::Ospfv2RoutingTableEntry::setArea |
( |
AreaId |
source | ) |
|
|
inline |
◆ setCost()
| void inet::ospfv2::Ospfv2RoutingTableEntry::setCost |
( |
Metric |
cost | ) |
|
|
inline |
◆ setDestinationType()
◆ setLinkStateOrigin()
| void inet::ospfv2::Ospfv2RoutingTableEntry::setLinkStateOrigin |
( |
const Ospfv2Lsa * |
lsa | ) |
|
|
inline |
◆ setOptionalCapabilities()
| void inet::ospfv2::Ospfv2RoutingTableEntry::setOptionalCapabilities |
( |
Ospfv2Options |
options | ) |
|
|
inline |
◆ setPathType()
| void inet::ospfv2::Ospfv2RoutingTableEntry::setPathType |
( |
RoutingPathType |
type | ) |
|
|
inline |
◆ setType2Cost()
| void inet::ospfv2::Ospfv2RoutingTableEntry::setType2Cost |
( |
Metric |
type2Cost | ) |
|
|
inline |
◆ str()
| std::string inet::ospfv2::Ospfv2RoutingTableEntry::str |
( |
| ) |
const |
|
virtual |
◆ area
| AreaId inet::ospfv2::Ospfv2RoutingTableEntry::area |
|
private |
◆ AREA_BORDER_ROUTER_DESTINATION
| const unsigned char inet::ospfv2::Ospfv2RoutingTableEntry::AREA_BORDER_ROUTER_DESTINATION = 1 |
|
static |
◆ AS_BOUNDARY_ROUTER_DESTINATION
| const unsigned char inet::ospfv2::Ospfv2RoutingTableEntry::AS_BOUNDARY_ROUTER_DESTINATION = 2 |
|
static |
◆ cost
| Metric inet::ospfv2::Ospfv2RoutingTableEntry::cost = 0 |
|
private |
◆ destinationType
◆ ift
◆ linkStateOrigin
| const Ospfv2Lsa* inet::ospfv2::Ospfv2RoutingTableEntry::linkStateOrigin = nullptr |
|
private |
◆ NETWORK_DESTINATION
| const unsigned char inet::ospfv2::Ospfv2RoutingTableEntry::NETWORK_DESTINATION = 0 |
|
static |
Referenced by inet::ospfv2::Router::calculateASExternalRoutes(), inet::ospfv2::Ospfv2Area::calculateInterAreaRoutes(), inet::ospfv2::Ospfv2Area::calculateShortestPathTree(), inet::ospfv2::Ospfv2Area::createRoutingTableEntryFromSummaryLSA(), inet::ospfv2::Ospfv2Area::findSameOrWorseCostRoute(), getDestinationTypeString(), inet::ospfv2::Router::lookup(), inet::ospfv2::Router::notifyAboutRoutingTableChanges(), inet::ospfv2::Ospfv2Area::originateSummaryLSA(), inet::ospfv2::Router::rebuildRoutingTable(), and inet::ospfv2::Ospfv2Area::recheckSummaryLSAs().
◆ nextHops
| std::vector<NextHop> inet::ospfv2::Ospfv2RoutingTableEntry::nextHops |
|
private |
◆ optionalCapabilities
| Ospfv2Options inet::ospfv2::Ospfv2RoutingTableEntry::optionalCapabilities |
|
private |
◆ pathType
◆ type2Cost
| Metric inet::ospfv2::Ospfv2RoutingTableEntry::type2Cost = 0 |
|
private |
The documentation for this class was generated from the following files:
const Ipv4Address & getGateway() const
Next hop address.
Definition: Ipv4Route.h:80
const char * getSourceTypeAbbreviation() const
Definition: Ipv4Route.cc:29
Metric cost
Definition: Ospfv2RoutingTableEntry.h:45
virtual void setMetric(int _metric) override
Definition: Ipv4Route.h:71
int getMetric() const override
"Cost" to reach the destination
Definition: Ipv4Route.h:95
int getNetmaskLength() const
Counts 1 bits in a netmask.
Definition: Ipv4Address.cc:234
@ TYPE1_EXTERNAL
Definition: Ospfv2RoutingTableEntry.h:28
RoutingDestinationType destinationType
Definition: Ospfv2RoutingTableEntry.h:41
static const char * getDestinationTypeString(RoutingDestinationType destType)
Definition: Ospfv2RoutingTableEntry.cc:153
const char * getInterfaceName() const
Convenience method.
Definition: Ipv4Route.cc:100
static const unsigned char AREA_BORDER_ROUTER_DESTINATION
Definition: Ospfv2RoutingTableEntry.h:36
@ dOSPF
Definition: IRoute.h:67
virtual NetworkInterface * getInterfaceById(int id) const =0
Returns an interface by its Id.
static const unsigned char NETWORK_DESTINATION
Definition: Ospfv2RoutingTableEntry.h:35
virtual void setNetmask(Ipv4Address _netmask)
Definition: Ipv4Route.h:65
const Ipv4Address & getDestination() const
Destination address prefix to match.
Definition: Ipv4Route.h:74
static const Ipv4Address ALLONES_ADDRESS
255.255.255.255
Definition: Ipv4Address.h:94
IIpv4RoutingTable * getRoutingTable() const
Definition: Ipv4Route.h:59
virtual void setGateway(Ipv4Address _gateway)
Definition: Ipv4Route.h:66
const AreaId BACKBONE_AREAID(0, 0, 0, 0)
@ OSPF
managed by the given routing protocol
Definition: IRoute.h:35
@ INTERAREA
Definition: Ospfv2RoutingTableEntry.h:27
removed type
Definition: IUdp-gates.txt:7
std::vector< NextHop > nextHops
Definition: Ospfv2RoutingTableEntry.h:48
const Ospfv2Lsa * linkStateOrigin
Definition: Ospfv2RoutingTableEntry.h:47
NetworkInterface * getInterface() const override
Next hop interface.
Definition: Ipv4Route.h:83
cObject * source
Object identifying the source.
Definition: Ipv4Route.h:35
std::string str(bool printUnspec=true) const
Returns the string representation of the address (e.g.
Definition: Ipv4Address.cc:98
static const unsigned char AS_BOUNDARY_ROUTER_DESTINATION
Definition: Ospfv2RoutingTableEntry.h:37
virtual void setAdminDist(unsigned int _adminDist) override
Definition: Ipv4Route.h:70
IInterfaceTable * ift
Definition: Ospfv2RoutingTableEntry.h:40
const Ipv4Address & getNetmask() const
Represents length of prefix to match.
Definition: Ipv4Route.h:77
Metric type2Cost
Definition: Ospfv2RoutingTableEntry.h:46
virtual void setInterface(NetworkInterface *_interfacePtr) override
Definition: Ipv4Route.h:67
AreaId area
Definition: Ospfv2RoutingTableEntry.h:43
unsigned int getAdminDist() const
Route source specific preference value.
Definition: Ipv4Route.h:92
virtual void setDestination(Ipv4Address _dest)
Definition: Ipv4Route.h:64
static const char * getPathTypeString(RoutingPathType pathType)
Definition: Ospfv2RoutingTableEntry.cc:169
Ospfv2Options optionalCapabilities
Definition: Ospfv2RoutingTableEntry.h:42
@ INTRAAREA
Definition: Ospfv2RoutingTableEntry.h:26
@ TYPE2_EXTERNAL
Definition: Ospfv2RoutingTableEntry.h:29
RoutingPathType pathType
Definition: Ospfv2RoutingTableEntry.h:44
virtual void setSourceType(SourceType _source) override
Definition: Ipv4Route.h:68