Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSPFRoutingTableEntry.h File Reference

#include "RoutingTable.h"
#include "InterfaceTableAccess.h"
#include "OSPFcommon.h"
#include <memory.h>

Namespaces

namespace  OSPF

Functions

std::ostream & operator<< (std::ostream &out, const OSPF::RoutingTableEntry &entry)


Function Documentation

std::ostream& operator<< std::ostream &  out,
const OSPF::RoutingTableEntry entry
[inline]
 

00181 {
00182     out << "Destination: "
00183         << entry.GetDestinationID ().str ()
00184         << "/"
00185         << entry.GetAddressMask ().str ()
00186         << " (";
00187     if (entry.GetDestinationType () == OSPF::RoutingTableEntry::NetworkDestination) {
00188         out << "Network";
00189     } else {
00190         if ((entry.GetDestinationType () & OSPF::RoutingTableEntry::AreaBorderRouterDestination) != 0) {
00191             out << "AreaBorderRouter";
00192         }
00193         if ((entry.GetDestinationType () & (OSPF::RoutingTableEntry::ASBoundaryRouterDestination | OSPF::RoutingTableEntry::AreaBorderRouterDestination)) != 0) {
00194             out << "+";
00195         }
00196         if ((entry.GetDestinationType () & OSPF::RoutingTableEntry::ASBoundaryRouterDestination) != 0) {
00197             out << "ASBoundaryRouter";
00198         }
00199     }
00200     out << "), Area: "
00201         << entry.GetArea ()
00202         << ", PathType: ";
00203     switch (entry.GetPathType ()) {
00204         case OSPF::RoutingTableEntry::IntraArea:     out << "IntraArea";     break;
00205         case OSPF::RoutingTableEntry::InterArea:     out << "InterArea";     break;
00206         case OSPF::RoutingTableEntry::Type1External: out << "Type1External"; break;
00207         case OSPF::RoutingTableEntry::Type2External: out << "Type2External"; break;
00208         default:            out << "Unknown";       break;
00209     }
00210     out << ", Cost: "
00211         << entry.GetCost ()
00212         << ", Type2Cost: "
00213         << entry.GetType2Cost ()
00214         << ", Origin: [";
00215     PrintLSAHeader (entry.GetLinkStateOrigin ()->getHeader (), &out);
00216     out << "], NextHops: ";
00217 
00218     unsigned int hopCount = entry.GetNextHopCount ();
00219     for (unsigned int i = 0; i < hopCount; i++) {
00220         char addressString[16];
00221         out << AddressStringFromIPv4Address (addressString, sizeof (addressString), entry.GetNextHop (i).hopAddress)
00222             << " ";
00223     }
00224 
00225     return out;
00226 }


Generated on Thu Oct 19 18:22:19 2006 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.0