#include <OSPFRoutingTableEntry.h>
Definition at line 28 of file OSPFRoutingTableEntry.h.
typedef unsigned char OSPF::RoutingTableEntry::RoutingDestinationType |
Definition at line 38 of file OSPFRoutingTableEntry.h.
Definition at line 31 of file OSPFRoutingTableEntry.h.
{ IntraArea = 0, InterArea = 1, Type1External = 2, Type2External = 3 };
OSPF::RoutingTableEntry::RoutingTableEntry | ( | void | ) | [inline] |
Definition at line 93 of file OSPFRoutingTableEntry.h.
: IPRoute(), destinationType(OSPF::RoutingTableEntry::NetworkDestination), area(OSPF::BackboneAreaID), pathType(OSPF::RoutingTableEntry::IntraArea), type2Cost(0), linkStateOrigin(NULL) { netmask = 0xFFFFFFFF; source = IPRoute::OSPF; memset(&optionalCapabilities, 0, sizeof(OSPFOptions)); }
OSPF::RoutingTableEntry::RoutingTableEntry | ( | const RoutingTableEntry & | entry | ) | [inline] |
Definition at line 106 of file OSPFRoutingTableEntry.h.
: destinationType(entry.destinationType), optionalCapabilities(entry.optionalCapabilities), area(entry.area), pathType(entry.pathType), cost(entry.cost), type2Cost(entry.type2Cost), linkStateOrigin(entry.linkStateOrigin), nextHops(entry.nextHops) { host = entry.host; netmask = entry.netmask; gateway = entry.gateway; interfacePtr = entry.interfacePtr; type = entry.type; source = entry.source; metric = entry.metric; }
virtual OSPF::RoutingTableEntry::~RoutingTableEntry | ( | void | ) | [inline, virtual] |
Definition at line 62 of file OSPFRoutingTableEntry.h.
{}
void OSPF::RoutingTableEntry::AddNextHop | ( | OSPF::NextHop | hop | ) | [inline] |
Definition at line 158 of file OSPFRoutingTableEntry.h.
{ if (nextHops.size() == 0) { InterfaceEntry* routingInterface = InterfaceTableAccess().get()->getInterfaceById(hop.ifIndex); interfacePtr = routingInterface; //gateway = ULongFromIPv4Address(hop.hopAddress); // TODO: verify this isn't necessary } nextHops.push_back(hop); }
void OSPF::RoutingTableEntry::ClearNextHops | ( | void | ) | [inline] |
Definition at line 86 of file OSPFRoutingTableEntry.h.
{ nextHops.clear(); }
IPAddress OSPF::RoutingTableEntry::GetAddressMask | ( | void | ) | const [inline] |
Definition at line 72 of file OSPFRoutingTableEntry.h.
Referenced by operator<<(), and OSPF::Area::OriginateSummaryLSA().
{ return netmask; }
AreaID OSPF::RoutingTableEntry::GetArea | ( | void | ) | const [inline] |
Metric OSPF::RoutingTableEntry::GetCost | ( | void | ) | const [inline] |
Definition at line 80 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), and operator<<().
{ return cost; }
IPAddress OSPF::RoutingTableEntry::GetDestinationID | ( | void | ) | const [inline] |
Definition at line 70 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
{ return host; }
RoutingDestinationType OSPF::RoutingTableEntry::GetDestinationType | ( | void | ) | const [inline] |
Definition at line 68 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
{ return destinationType; }
const OSPFLSA* OSPF::RoutingTableEntry::GetLinkStateOrigin | ( | void | ) | const [inline] |
Definition at line 84 of file OSPFRoutingTableEntry.h.
Referenced by operator<<().
{ return linkStateOrigin; }
NextHop OSPF::RoutingTableEntry::GetNextHop | ( | unsigned int | index | ) | const [inline] |
Definition at line 88 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), and operator<<().
{ return nextHops[index]; }
unsigned int OSPF::RoutingTableEntry::GetNextHopCount | ( | void | ) | const [inline] |
Definition at line 87 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), and operator<<().
{ return nextHops.size(); }
OSPFOptions OSPF::RoutingTableEntry::GetOptionalCapabilities | ( | void | ) | const [inline] |
Definition at line 74 of file OSPFRoutingTableEntry.h.
{ return optionalCapabilities; }
RoutingPathType OSPF::RoutingTableEntry::GetPathType | ( | void | ) | const [inline] |
Definition at line 78 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), and operator<<().
{ return pathType; }
Metric OSPF::RoutingTableEntry::GetType2Cost | ( | void | ) | const [inline] |
Definition at line 82 of file OSPFRoutingTableEntry.h.
Referenced by operator<<().
{ return type2Cost; }
bool OSPF::RoutingTableEntry::operator!= | ( | const RoutingTableEntry & | entry | ) | const [inline] |
Definition at line 65 of file OSPFRoutingTableEntry.h.
{ return (!((*this) == entry)); }
bool OSPF::RoutingTableEntry::operator== | ( | const RoutingTableEntry & | entry | ) | const [inline] |
Definition at line 169 of file OSPFRoutingTableEntry.h.
{ unsigned int hopCount = nextHops.size(); unsigned int i = 0; if (hopCount != entry.nextHops.size()) { return false; } for (i = 0; i < hopCount; i++) { if ((nextHops[i] != entry.nextHops[i])) { return false; } } return ((destinationType == entry.destinationType) && (host == entry.host) && (netmask == entry.netmask) && (optionalCapabilities == entry.optionalCapabilities) && (area == entry.area) && (pathType == entry.pathType) && (cost == entry.cost) && (type2Cost == entry.type2Cost) && (linkStateOrigin == entry.linkStateOrigin)); }
void OSPF::RoutingTableEntry::SetAddressMask | ( | IPAddress | destMask | ) | [inline] |
Definition at line 71 of file OSPFRoutingTableEntry.h.
{ netmask = destMask; }
void OSPF::RoutingTableEntry::SetArea | ( | AreaID | source | ) | [inline] |
Definition at line 75 of file OSPFRoutingTableEntry.h.
void OSPF::RoutingTableEntry::SetCost | ( | Metric | pathCost | ) | [inline] |
Definition at line 136 of file OSPFRoutingTableEntry.h.
Referenced by OSPFRouting::LoadExternalRoute().
void OSPF::RoutingTableEntry::SetDestinationID | ( | IPAddress | destID | ) | [inline] |
Definition at line 69 of file OSPFRoutingTableEntry.h.
{ host = destID; }
void OSPF::RoutingTableEntry::SetDestinationType | ( | RoutingDestinationType | type | ) | [inline] |
Definition at line 67 of file OSPFRoutingTableEntry.h.
{ destinationType = type; }
void OSPF::RoutingTableEntry::SetLinkStateOrigin | ( | const OSPFLSA * | lsa | ) | [inline] |
Definition at line 83 of file OSPFRoutingTableEntry.h.
{ linkStateOrigin = lsa; }
void OSPF::RoutingTableEntry::SetOptionalCapabilities | ( | OSPFOptions | options | ) | [inline] |
Definition at line 73 of file OSPFRoutingTableEntry.h.
{ optionalCapabilities = options; }
void OSPF::RoutingTableEntry::SetPathType | ( | RoutingPathType | type | ) | [inline] |
Definition at line 125 of file OSPFRoutingTableEntry.h.
Referenced by OSPFRouting::LoadExternalRoute().
void OSPF::RoutingTableEntry::SetType2Cost | ( | Metric | pathCost | ) | [inline] |
Definition at line 147 of file OSPFRoutingTableEntry.h.
Referenced by OSPFRouting::LoadExternalRoute().
AreaID OSPF::RoutingTableEntry::area [private] |
Definition at line 50 of file OSPFRoutingTableEntry.h.
Referenced by GetArea(), operator==(), and SetArea().
const unsigned char OSPF::RoutingTableEntry::AreaBorderRouterDestination = 1 [static] |
Definition at line 42 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::FindSameOrWorseCostRoute(), OSPF::Router::InstallASExternalLSA(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
const unsigned char OSPF::RoutingTableEntry::ASBoundaryRouterDestination = 2 [static] |
Definition at line 43 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), OSPF::Area::FindSameOrWorseCostRoute(), OSPF::Router::InstallASExternalLSA(), operator<<(), and OSPF::Area::OriginateSummaryLSA().
Metric OSPF::RoutingTableEntry::cost [private] |
Definition at line 52 of file OSPFRoutingTableEntry.h.
Referenced by GetCost(), operator==(), SetCost(), SetPathType(), and SetType2Cost().
Definition at line 46 of file OSPFRoutingTableEntry.h.
Referenced by GetDestinationType(), operator==(), and SetDestinationType().
const OSPFLSA* OSPF::RoutingTableEntry::linkStateOrigin [private] |
Definition at line 54 of file OSPFRoutingTableEntry.h.
Referenced by GetLinkStateOrigin(), operator==(), and SetLinkStateOrigin().
const unsigned char OSPF::RoutingTableEntry::NetworkDestination = 0 [static] |
Definition at line 41 of file OSPFRoutingTableEntry.h.
Referenced by OSPF::Area::CreateRoutingTableEntryFromSummaryLSA(), OSPF::Area::FindSameOrWorseCostRoute(), operator<<(), OSPF::Area::OriginateSummaryLSA(), and OSPF::Router::RebuildRoutingTable().
std::vector<NextHop> OSPF::RoutingTableEntry::nextHops [private] |
Definition at line 55 of file OSPFRoutingTableEntry.h.
Referenced by AddNextHop(), ClearNextHops(), GetNextHop(), GetNextHopCount(), and operator==().
OSPFOptions OSPF::RoutingTableEntry::optionalCapabilities [private] |
Definition at line 49 of file OSPFRoutingTableEntry.h.
Referenced by GetOptionalCapabilities(), operator==(), RoutingTableEntry(), and SetOptionalCapabilities().
Definition at line 51 of file OSPFRoutingTableEntry.h.
Referenced by GetPathType(), operator==(), SetCost(), SetPathType(), and SetType2Cost().
Metric OSPF::RoutingTableEntry::type2Cost [private] |
Definition at line 53 of file OSPFRoutingTableEntry.h.
Referenced by GetType2Cost(), operator==(), SetCost(), SetPathType(), and SetType2Cost().