#include "IRoutingTable.h"#include "InterfaceTableAccess.h"#include "OSPFcommon.h"#include <memory.h>Go to the source code of this file.
Classes | |
| class | OSPF::RoutingTableEntry |
Namespaces | |
| namespace | OSPF |
Functions | |
| std::ostream & | operator<< (std::ostream &out, const OSPF::RoutingTableEntry &entry) |
| std::ostream& operator<< | ( | std::ostream & | out, | |
| const OSPF::RoutingTableEntry & | entry | |||
| ) | [inline] |
Definition at line 195 of file OSPFRoutingTableEntry.h.
{
out << "Destination: "
<< entry.GetDestinationID().str()
<< "/"
<< entry.GetAddressMask().str()
<< " (";
if (entry.GetDestinationType() == OSPF::RoutingTableEntry::NetworkDestination) {
out << "Network";
} else {
if ((entry.GetDestinationType() & OSPF::RoutingTableEntry::AreaBorderRouterDestination) != 0) {
out << "AreaBorderRouter";
}
if ((entry.GetDestinationType() & (OSPF::RoutingTableEntry::ASBoundaryRouterDestination | OSPF::RoutingTableEntry::AreaBorderRouterDestination)) != 0) {
out << "+";
}
if ((entry.GetDestinationType() & OSPF::RoutingTableEntry::ASBoundaryRouterDestination) != 0) {
out << "ASBoundaryRouter";
}
}
out << "), Area: "
<< entry.GetArea()
<< ", PathType: ";
switch (entry.GetPathType()) {
case OSPF::RoutingTableEntry::IntraArea: out << "IntraArea"; break;
case OSPF::RoutingTableEntry::InterArea: out << "InterArea"; break;
case OSPF::RoutingTableEntry::Type1External: out << "Type1External"; break;
case OSPF::RoutingTableEntry::Type2External: out << "Type2External"; break;
default: out << "Unknown"; break;
}
out << ", Cost: "
<< entry.GetCost()
<< ", Type2Cost: "
<< entry.GetType2Cost()
<< ", Origin: [";
PrintLSAHeader(entry.GetLinkStateOrigin()->getHeader(), out);
out << "], NextHops: ";
unsigned int hopCount = entry.GetNextHopCount();
for (unsigned int i = 0; i < hopCount; i++) {
char addressString[16];
out << AddressStringFromIPv4Address(addressString, sizeof(addressString), entry.GetNextHop(i).hopAddress)
<< " ";
}
return out;
}
1.7.1