A Discrete-Event Network Simulator
API
ns3::GlobalRoutingLSA Class Reference

a Link State Advertisement (LSA) for a router, used in global routing. More...

#include "global-router-interface.h"

+ Collaboration diagram for ns3::GlobalRoutingLSA:

Public Types

enum  LSType {
  Unknown = 0, RouterLSA, NetworkLSA, SummaryLSA,
  SummaryLSA_ASBR, ASExternalLSAs
}
 corresponds to LS type field of RFC 2328 OSPF LSA header More...
 
enum  SPFStatus { LSA_SPF_NOT_EXPLORED = 0, LSA_SPF_CANDIDATE, LSA_SPF_IN_SPFTREE }
 Enumeration of the possible values of the status flag in the Routing Link State Advertisements. More...
 

Public Member Functions

 GlobalRoutingLSA ()
 Create a blank Global Routing Link State Advertisement. More...
 
 GlobalRoutingLSA (SPFStatus status, Ipv4Address linkStateId, Ipv4Address advertisingRtr)
 Create an initialized Global Routing Link State Advertisement. More...
 
 GlobalRoutingLSA (GlobalRoutingLSA &lsa)
 Copy constructor for a Global Routing Link State Advertisement. More...
 
 ~GlobalRoutingLSA ()
 Destroy an existing Global Routing Link State Advertisement. More...
 
uint32_t AddAttachedRouter (Ipv4Address addr)
 Add an attached router to the list in the NetworkLSA. More...
 
uint32_t AddLinkRecord (GlobalRoutingLinkRecord *lr)
 Add a given Global Routing Link Record to the LSA. More...
 
void ClearLinkRecords (void)
 Release all of the Global Routing Link Records present in the Global Routing Link State Advertisement and make the list of link records empty. More...
 
void CopyLinkRecords (const GlobalRoutingLSA &lsa)
 Copy any Global Routing Link Records in a given Global Routing Link State Advertisement to the current LSA. More...
 
Ipv4Address GetAdvertisingRouter (void) const
 Get the Advertising Router as defined by the OSPF spec. More...
 
Ipv4Address GetAttachedRouter (uint32_t n) const
 Return an Ipv4Address corresponding to the specified attached router. More...
 
GlobalRoutingLinkRecordGetLinkRecord (uint32_t n) const
 Return a pointer to the specified Global Routing Link Record. More...
 
Ipv4Address GetLinkStateId (void) const
 Get the Link State ID as defined by the OSPF spec. More...
 
LSType GetLSType (void) const
 Return the LSType field of the LSA. More...
 
uint32_t GetNAttachedRouters (void) const
 Return the number of attached routers listed in the NetworkLSA. More...
 
Ipv4Mask GetNetworkLSANetworkMask (void) const
 For a Network LSA, get the Network Mask field that precedes the list of attached routers. More...
 
uint32_t GetNLinkRecords (void) const
 Return the number of Global Routing Link Records in the LSA. More...
 
Ptr< NodeGetNode (void) const
 Get the Node pointer of the node that originated this LSA. More...
 
SPFStatus GetStatus (void) const
 Get the SPF status of the advertisement. More...
 
bool IsEmpty (void) const
 Check to see if the list of Global Routing Link Records present in the Global Routing Link State Advertisement is empty. More...
 
GlobalRoutingLSAoperator= (const GlobalRoutingLSA &lsa)
 Assignment operator for a Global Routing Link State Advertisement. More...
 
void Print (std::ostream &os) const
 Print the contents of the Global Routing Link State Advertisement and any Global Routing Link Records present in the list. More...
 
void SetAdvertisingRouter (Ipv4Address rtr)
 Set the Advertising Router as defined by the OSPF spec. More...
 
void SetLinkStateId (Ipv4Address addr)
 Set the Link State ID is defined by the OSPF spec. More...
 
void SetLSType (LSType typ)
 Set the LS type field of the LSA. More...
 
void SetNetworkLSANetworkMask (Ipv4Mask mask)
 For a Network LSA, set the Network Mask field that precedes the list of attached routers. More...
 
void SetNode (Ptr< Node > node)
 Set the Node pointer of the node that originated this LSA. More...
 
void SetStatus (SPFStatus status)
 Set the SPF status of the advertisement. More...
 

Private Types

typedef std::list< Ipv4AddressListOfAttachedRouters_t
 A convenience typedef to avoid too much writers cramp. More...
 
typedef std::list< GlobalRoutingLinkRecord * > ListOfLinkRecords_t
 A convenience typedef to avoid too much writers cramp. More...
 

Private Attributes

Ipv4Address m_advertisingRtr
 The Advertising Router is defined by the OSPF spec. More...
 
ListOfAttachedRouters_t m_attachedRouters
 Each Network LSA contains a list of attached routers. More...
 
ListOfLinkRecords_t m_linkRecords
 Each Link State Advertisement contains a number of Link Records that describe the kinds of links that are attached to a given node. More...
 
Ipv4Address m_linkStateId
 The Link State ID is defined by the OSPF spec. More...
 
LSType m_lsType
 The type of the LSA. More...
 
Ipv4Mask m_networkLSANetworkMask
 Each Network LSA contains the network mask of the attached network. More...
 
uint32_t m_node_id
 node ID More...
 
SPFStatus m_status
 This is a tristate flag used internally in the SPF computation to mark if an SPFVertex (a data structure representing a vertex in the SPF tree – a router) is new, is a candidate for a shortest path, or is in its proper position in the tree. More...
 

Detailed Description

a Link State Advertisement (LSA) for a router, used in global routing.

Roughly equivalent to a global incarnation of the OSPF link state header combined with a list of Link Records. Since it's global, there's no need for age or sequence number. See RFC 2328, Appendix A.

Definition at line 253 of file global-router-interface.h.

Member Typedef Documentation

A convenience typedef to avoid too much writers cramp.

Definition at line 549 of file global-router-interface.h.

A convenience typedef to avoid too much writers cramp.

Definition at line 527 of file global-router-interface.h.

Member Enumeration Documentation

corresponds to LS type field of RFC 2328 OSPF LSA header

Enumerator
Unknown 

Uninitialized Type.

RouterLSA 
NetworkLSA 
SummaryLSA 
SummaryLSA_ASBR 
ASExternalLSAs 

Definition at line 260 of file global-router-interface.h.

Enumeration of the possible values of the status flag in the Routing Link State Advertisements.

Enumerator
LSA_SPF_NOT_EXPLORED 

New vertex not yet considered.

LSA_SPF_CANDIDATE 

Vertex is in the SPF candidate queue.

LSA_SPF_IN_SPFTREE 

Vertex is in the SPF tree.

Definition at line 273 of file global-router-interface.h.

Constructor & Destructor Documentation

ns3::GlobalRoutingLSA::GlobalRoutingLSA ( )

Create a blank Global Routing Link State Advertisement.

On completion Ipv4Address variables initialized to 0.0.0.0 and the list of Link State Records is empty.

Definition at line 137 of file global-router-interface.cc.

References NS_LOG_FUNCTION.

ns3::GlobalRoutingLSA::GlobalRoutingLSA ( GlobalRoutingLSA::SPFStatus  status,
Ipv4Address  linkStateId,
Ipv4Address  advertisingRtr 
)

Create an initialized Global Routing Link State Advertisement.

On completion the list of Link State Records is empty.

Parameters
statusThe status to of the new LSA.
linkStateIdThe Ipv4Address for the link state ID field.
advertisingRtrThe Ipv4Address for the advertising router field.

Definition at line 151 of file global-router-interface.cc.

References NS_LOG_FUNCTION.

ns3::GlobalRoutingLSA::GlobalRoutingLSA ( GlobalRoutingLSA lsa)

Copy constructor for a Global Routing Link State Advertisement.

Takes a piece of memory and constructs a semantically identical copy of the given LSA.

Parameters
lsaThe existing LSA to be used as the source.

Definition at line 168 of file global-router-interface.cc.

References CopyLinkRecords(), IsEmpty(), NS_ASSERT_MSG(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

ns3::GlobalRoutingLSA::~GlobalRoutingLSA ( )

Destroy an existing Global Routing Link State Advertisement.

Any Global Routing Link Records present in the list are freed.

Definition at line 220 of file global-router-interface.cc.

References ClearLinkRecords(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

Member Function Documentation

uint32_t ns3::GlobalRoutingLSA::AddAttachedRouter ( Ipv4Address  addr)

Add an attached router to the list in the NetworkLSA.

Parameters
addrThe Ipv4Address of the interface on the network link
Returns
The number of addresses in the list.

Definition at line 350 of file global-router-interface.cc.

References m_attachedRouters, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs().

+ Here is the caller graph for this function:

uint32_t ns3::GlobalRoutingLSA::AddLinkRecord ( GlobalRoutingLinkRecord lr)

Add a given Global Routing Link Record to the LSA.

Parameters
lrThe Global Routing Link Record to be added.
Returns
The number of link records in the list.

Definition at line 247 of file global-router-interface.cc.

References m_linkRecords, and NS_LOG_FUNCTION.

Referenced by GlobalRouteManagerImplTestCase::DoRun(), ns3::if(), ns3::GlobalRouter::ProcessBridgedBroadcastLink(), ns3::GlobalRouter::ProcessPointToPointLink(), and ns3::GlobalRouter::ProcessSingleBroadcastLink().

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::ClearLinkRecords ( void  )

Release all of the Global Routing Link Records present in the Global Routing Link State Advertisement and make the list of link records empty.

Definition at line 227 of file global-router-interface.cc.

References m_linkRecords, NS_LOG_FUNCTION, and NS_LOG_LOGIC().

Referenced by operator=(), and ~GlobalRoutingLSA().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::CopyLinkRecords ( const GlobalRoutingLSA lsa)

Copy any Global Routing Link Records in a given Global Routing Link State Advertisement to the current LSA.

Existing Link Records are not deleted – this is a concatenation of Link Records.

See also
ClearLinkRecords ()
Parameters
lsaThe LSA to copy the Link Records from.

Definition at line 198 of file global-router-interface.cc.

References ns3::GlobalRoutingLinkRecord::GetLinkData(), ns3::GlobalRoutingLinkRecord::GetLinkId(), ns3::GlobalRoutingLinkRecord::GetLinkType(), ns3::GlobalRoutingLinkRecord::GetMetric(), m_attachedRouters, m_linkRecords, NS_LOG_FUNCTION, ns3::GlobalRoutingLinkRecord::SetLinkData(), ns3::GlobalRoutingLinkRecord::SetLinkId(), ns3::GlobalRoutingLinkRecord::SetLinkType(), and ns3::GlobalRoutingLinkRecord::SetMetric().

Referenced by GlobalRoutingLSA(), and operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ipv4Address ns3::GlobalRoutingLSA::GetAdvertisingRouter ( void  ) const

Get the Advertising Router as defined by the OSPF spec.

We always set it to the router ID of the router making the advertisement.

See also
RoutingEnvironment::AllocateRouterId ()
GlobalRouting::GetRouterId ()
Returns
The Ipv4Address stored as the advertising router.

Definition at line 315 of file global-router-interface.cc.

References m_advertisingRtr, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::ProcessASExternals(), and ns3::GlobalRouteManagerImpl::SPFAddASExternal().

+ Here is the caller graph for this function:

Ipv4Address ns3::GlobalRoutingLSA::GetAttachedRouter ( uint32_t  n) const

Return an Ipv4Address corresponding to the specified attached router.

Parameters
nThe attached router number desired (number in the list).
Returns
The Ipv4Address of the requested router

Definition at line 365 of file global-router-interface.cc.

References m_attachedRouters, NS_ASSERT_MSG(), and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::SPFNext().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GlobalRoutingLinkRecord * ns3::GlobalRoutingLSA::GetLinkRecord ( uint32_t  n) const

Return a pointer to the specified Global Routing Link Record.

Parameters
nThe LSA number desired.
Returns
The number of link records in the list.

Definition at line 262 of file global-router-interface.cc.

References m_linkRecords, NS_ASSERT_MSG(), and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::CheckForStubNode(), ns3::GlobalRouteManagerLSDB::GetLSAByLinkData(), ns3::GlobalRouteManagerImpl::SPFGetNextLink(), ns3::GlobalRouteManagerImpl::SPFIntraAddRouter(), ns3::GlobalRouteManagerImpl::SPFNext(), and ns3::GlobalRouteManagerImpl::SPFProcessStubs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ipv4Address ns3::GlobalRoutingLSA::GetLinkStateId ( void  ) const

Get the Link State ID as defined by the OSPF spec.

We always set it to the router ID of the router making the advertisement.

See also
RoutingEnvironment::AllocateRouterId ()
GlobalRouting::GetRouterId ()
Returns
The Ipv4Address stored as the link state ID.

Definition at line 301 of file global-router-interface.cc.

References m_linkStateId, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::BuildGlobalRoutingDatabase(), ns3::GlobalRouteManagerImpl::CheckForStubNode(), GlobalRouteManagerImplTestCase::DoRun(), ns3::GlobalRouteManagerImpl::ProcessASExternals(), ns3::GlobalRouteManagerImpl::SPFAddASExternal(), ns3::GlobalRouteManagerImpl::SPFCalculate(), ns3::GlobalRouteManagerImpl::SPFIntraAddRouter(), ns3::GlobalRouteManagerImpl::SPFIntraAddTransit(), ns3::GlobalRouteManagerImpl::SPFNext(), and ns3::GlobalRouteManagerImpl::SPFProcessStubs().

+ Here is the caller graph for this function:

GlobalRoutingLSA::LSType ns3::GlobalRoutingLSA::GetLSType ( void  ) const

Return the LSType field of the LSA.

Returns
The LS Type.

Definition at line 287 of file global-router-interface.cc.

References m_lsType, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerLSDB::Insert(), ns3::GlobalRouteManagerImpl::SPFNext(), and ns3::SPFVertex::SPFVertex().

+ Here is the caller graph for this function:

uint32_t ns3::GlobalRoutingLSA::GetNAttachedRouters ( void  ) const

Return the number of attached routers listed in the NetworkLSA.

Returns
The number of attached routers.

Definition at line 358 of file global-router-interface.cc.

References m_attachedRouters, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::SPFNext().

+ Here is the caller graph for this function:

Ipv4Mask ns3::GlobalRoutingLSA::GetNetworkLSANetworkMask ( void  ) const

For a Network LSA, get the Network Mask field that precedes the list of attached routers.

Returns
the NetworkLSANetworkMask

Definition at line 336 of file global-router-interface.cc.

References m_networkLSANetworkMask, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::SPFAddASExternal(), and ns3::GlobalRouteManagerImpl::SPFIntraAddTransit().

+ Here is the caller graph for this function:

uint32_t ns3::GlobalRoutingLSA::GetNLinkRecords ( void  ) const

Return the number of Global Routing Link Records in the LSA.

Returns
The number of link records in the list.

Definition at line 255 of file global-router-interface.cc.

References m_linkRecords, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::CheckForStubNode(), ns3::GlobalRouteManagerLSDB::GetLSAByLinkData(), ns3::GlobalRouteManagerImpl::SPFGetNextLink(), ns3::GlobalRouteManagerImpl::SPFIntraAddRouter(), ns3::GlobalRouteManagerImpl::SPFNext(), and ns3::GlobalRouteManagerImpl::SPFProcessStubs().

+ Here is the caller graph for this function:

Ptr< Node > ns3::GlobalRoutingLSA::GetNode ( void  ) const

Get the Node pointer of the node that originated this LSA.

Returns
Node pointer

Definition at line 390 of file global-router-interface.cc.

References ns3::NodeList::GetNode(), m_node_id, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::CheckForStubNode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GlobalRoutingLSA::SPFStatus ns3::GlobalRoutingLSA::GetStatus ( void  ) const

Get the SPF status of the advertisement.

See also
SPFStatus
Returns
The SPFStatus of the LSA.

Definition at line 343 of file global-router-interface.cc.

References m_status, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouteManagerImpl::SPFNext().

+ Here is the caller graph for this function:

bool ns3::GlobalRoutingLSA::IsEmpty ( void  ) const

Check to see if the list of Global Routing Link Records present in the Global Routing Link State Advertisement is empty.

Returns
True if the list is empty, false otherwise.

Definition at line 280 of file global-router-interface.cc.

References m_linkRecords, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs(), and GlobalRoutingLSA().

+ Here is the caller graph for this function:

GlobalRoutingLSA & ns3::GlobalRoutingLSA::operator= ( const GlobalRoutingLSA lsa)

Assignment operator for a Global Routing Link State Advertisement.

Takes an existing Global Routing Link State Advertisement and overwrites it to make a semantically identical copy of a given prototype LSA.

If there are any Global Routing Link Records present in the existing LSA, they are freed before the assignment happens.

Parameters
lsaThe existing LSA to be used as the source.
Returns
Reference to the overwritten LSA.

Definition at line 182 of file global-router-interface.cc.

References ClearLinkRecords(), CopyLinkRecords(), m_advertisingRtr, m_linkStateId, m_lsType, m_networkLSANetworkMask, m_node_id, m_status, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::GlobalRoutingLSA::Print ( std::ostream &  os) const

Print the contents of the Global Routing Link State Advertisement and any Global Routing Link Records present in the list.

Quite verbose.

Parameters
osthe output stream

Definition at line 404 of file global-router-interface.cc.

References ASExternalLSAs, m_advertisingRtr, m_attachedRouters, ns3::GlobalRoutingLinkRecord::m_linkData, ns3::GlobalRoutingLinkRecord::m_linkId, m_linkRecords, m_linkStateId, ns3::GlobalRoutingLinkRecord::m_linkType, m_lsType, ns3::GlobalRoutingLinkRecord::m_metric, m_networkLSANetworkMask, NetworkLSA, NS_ASSERT_MSG(), NS_LOG_FUNCTION, ns3::GlobalRoutingLinkRecord::PointToPoint, RouterLSA, ns3::GlobalRoutingLinkRecord::StubNetwork, and ns3::GlobalRoutingLinkRecord::TransitNetwork.

Referenced by ns3::operator<<().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::SetAdvertisingRouter ( Ipv4Address  rtr)

Set the Advertising Router as defined by the OSPF spec.

We always set it to the router ID of the router making the advertisement.

Parameters
rtrID of the router making advertisement
See also
RoutingEnvironment::AllocateRouterId ()
GlobalRouting::GetRouterId ()

Definition at line 322 of file global-router-interface.cc.

References m_advertisingRtr, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs(), ns3::GlobalRouter::DiscoverLSAs(), and GlobalRouteManagerImplTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::SetLinkStateId ( Ipv4Address  addr)

Set the Link State ID is defined by the OSPF spec.

We always set it to the router ID of the router making the advertisement.

Parameters
addrIPv4 address which will act as ID
See also
RoutingEnvironment::AllocateRouterId ()
GlobalRouting::GetRouterId ()

Definition at line 308 of file global-router-interface.cc.

References m_linkStateId, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs(), ns3::GlobalRouter::DiscoverLSAs(), and GlobalRouteManagerImplTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::SetLSType ( GlobalRoutingLSA::LSType  typ)

Set the LS type field of the LSA.

Parameters
typthe LS Type.

Definition at line 294 of file global-router-interface.cc.

References m_lsType, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs(), ns3::GlobalRouter::DiscoverLSAs(), and GlobalRouteManagerImplTestCase::DoRun().

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::SetNetworkLSANetworkMask ( Ipv4Mask  mask)

For a Network LSA, set the Network Mask field that precedes the list of attached routers.

Parameters
maskthe Network Mask field.

Definition at line 329 of file global-router-interface.cc.

References m_networkLSANetworkMask, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs(), and ns3::GlobalRouter::DiscoverLSAs().

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::SetNode ( Ptr< Node node)

Set the Node pointer of the node that originated this LSA.

Parameters
nodeNode pointer

Definition at line 397 of file global-router-interface.cc.

References ns3::Node::GetId(), m_node_id, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs(), and ns3::GlobalRouter::DiscoverLSAs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::GlobalRoutingLSA::SetStatus ( GlobalRoutingLSA::SPFStatus  status)

Set the SPF status of the advertisement.

Parameters
statusSPF status to set
See also
SPFStatus

Definition at line 383 of file global-router-interface.cc.

References m_status, and NS_LOG_FUNCTION.

Referenced by ns3::GlobalRouter::BuildNetworkLSAs(), ns3::GlobalRouter::DiscoverLSAs(), ns3::GlobalRouteManagerLSDB::Initialize(), and ns3::GlobalRouteManagerImpl::SPFNext().

+ Here is the caller graph for this function:

Member Data Documentation

Ipv4Address ns3::GlobalRoutingLSA::m_advertisingRtr
private

The Advertising Router is defined by the OSPF spec.

We always set it to the router ID of the router making the advertisement.

See also
RoutingEnvironment::AllocateRouterId ()
GlobalRouting::GetRouterId ()

Definition at line 522 of file global-router-interface.h.

Referenced by GetAdvertisingRouter(), operator=(), Print(), and SetAdvertisingRouter().

ListOfAttachedRouters_t ns3::GlobalRoutingLSA::m_attachedRouters
private

Each Network LSA contains a list of attached routers.

m_attachedRouters is an STL list container to hold the addresses that have been discovered and prepared for the advertisement.

See also
GlobalRouting::DiscoverLSAs ()

Definition at line 559 of file global-router-interface.h.

Referenced by AddAttachedRouter(), CopyLinkRecords(), GetAttachedRouter(), GetNAttachedRouters(), and Print().

ListOfLinkRecords_t ns3::GlobalRoutingLSA::m_linkRecords
private

Each Link State Advertisement contains a number of Link Records that describe the kinds of links that are attached to a given node.

We consider PointToPoint and StubNetwork links.

m_linkRecords is an STL list container to hold the Link Records that have been discovered and prepared for the advertisement.

See also
GlobalRouting::DiscoverLSAs ()

Definition at line 539 of file global-router-interface.h.

Referenced by AddLinkRecord(), ClearLinkRecords(), CopyLinkRecords(), GetLinkRecord(), GetNLinkRecords(), IsEmpty(), and Print().

Ipv4Address ns3::GlobalRoutingLSA::m_linkStateId
private

The Link State ID is defined by the OSPF spec.

We always set it to the router ID of the router making the advertisement.

See also
RoutingEnvironment::AllocateRouterId ()
GlobalRouting::GetRouterId ()

Definition at line 513 of file global-router-interface.h.

Referenced by GetLinkStateId(), operator=(), Print(), and SetLinkStateId().

LSType ns3::GlobalRoutingLSA::m_lsType
private

The type of the LSA.

Each LSA type has a separate advertisement format.

Definition at line 505 of file global-router-interface.h.

Referenced by GetLSType(), operator=(), Print(), and SetLSType().

Ipv4Mask ns3::GlobalRoutingLSA::m_networkLSANetworkMask
private

Each Network LSA contains the network mask of the attached network.

Definition at line 544 of file global-router-interface.h.

Referenced by GetNetworkLSANetworkMask(), operator=(), Print(), and SetNetworkLSANetworkMask().

uint32_t ns3::GlobalRoutingLSA::m_node_id
private

node ID

Definition at line 568 of file global-router-interface.h.

Referenced by GetNode(), operator=(), and SetNode().

SPFStatus ns3::GlobalRoutingLSA::m_status
private

This is a tristate flag used internally in the SPF computation to mark if an SPFVertex (a data structure representing a vertex in the SPF tree – a router) is new, is a candidate for a shortest path, or is in its proper position in the tree.

Definition at line 567 of file global-router-interface.h.

Referenced by GetStatus(), operator=(), and SetStatus().


The documentation for this class was generated from the following files: