A Discrete-Event Network Simulator
API
global-router-interface.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright 2007 University of Washington
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Authors: Craig Dowell (craigdo@ee.washington.edu)
19  * Tom Henderson (tomhend@u.washington.edu)
20  */
21 
22 #ifndef GLOBAL_ROUTER_INTERFACE_H
23 #define GLOBAL_ROUTER_INTERFACE_H
24 
25 #include <stdint.h>
26 #include <list>
27 #include "ns3/object.h"
28 #include "ns3/ptr.h"
29 #include "ns3/node.h"
30 #include "ns3/channel.h"
31 #include "ns3/ipv4-address.h"
32 #include "ns3/net-device-container.h"
33 #include "ns3/bridge-net-device.h"
34 #include "ns3/global-route-manager.h"
35 #include "ns3/ipv4-routing-table-entry.h"
36 
37 namespace ns3 {
38 
39 class GlobalRouter;
40 class Ipv4GlobalRouting;
41 
52 {
53 public:
54  friend class GlobalRoutingLSA;
55 
62  enum LinkType {
63  Unknown = 0,
68  };
69 
78 
91  LinkType linkType,
92  Ipv4Address linkId,
93  Ipv4Address linkData,
94  uint16_t metric);
95 
102 
114  Ipv4Address GetLinkId (void) const;
115 
127  void SetLinkId (Ipv4Address addr);
128 
140  Ipv4Address GetLinkData (void) const;
141 
153  void SetLinkData (Ipv4Address addr);
154 
164  LinkType GetLinkType (void) const;
165 
175  void SetLinkType (LinkType linkType);
176 
188  uint16_t GetMetric (void) const;
189 
201  void SetMetric (uint16_t metric);
202 
203 private:
215 
225  Ipv4Address m_linkData; // for links to RouterLSA,
226 
232 
242  uint16_t m_metric;
243 };
244 
254 {
255 public:
260  enum LSType {
261  Unknown = 0,
267  };
273  enum SPFStatus {
277  };
285 
295  GlobalRoutingLSA(SPFStatus status, Ipv4Address linkStateId,
296  Ipv4Address advertisingRtr);
297 
307 
314 
328 
339  void CopyLinkRecords (const GlobalRoutingLSA& lsa);
340 
347  uint32_t AddLinkRecord (GlobalRoutingLinkRecord* lr);
348 
354  uint32_t GetNLinkRecords (void) const;
355 
362  GlobalRoutingLinkRecord* GetLinkRecord (uint32_t n) const;
363 
368  void ClearLinkRecords (void);
369 
376  bool IsEmpty (void) const;
377 
383  void Print (std::ostream &os) const;
384 
389  LSType GetLSType (void) const;
394  void SetLSType (LSType typ);
395 
404  Ipv4Address GetLinkStateId (void) const;
405 
413  void SetLinkStateId (Ipv4Address addr);
414 
423  Ipv4Address GetAdvertisingRouter (void) const;
424 
434 
441 
448  Ipv4Mask GetNetworkLSANetworkMask (void) const;
449 
456  uint32_t AddAttachedRouter (Ipv4Address addr);
457 
463  uint32_t GetNAttachedRouters (void) const;
464 
471  Ipv4Address GetAttachedRouter (uint32_t n) const;
472 
479  SPFStatus GetStatus (void) const;
480 
486  void SetStatus (SPFStatus status);
487 
492  Ptr<Node> GetNode (void) const;
493 
498  void SetNode (Ptr<Node> node);
499 
500 private:
514 
523 
527  typedef std::list<GlobalRoutingLinkRecord*> ListOfLinkRecords_t;
528 
540 
545 
549  typedef std::list<Ipv4Address> ListOfAttachedRouters_t;
550 
560 
568  uint32_t m_node_id;
569 };
570 
578 std::ostream& operator<< (std::ostream& os, GlobalRoutingLSA& lsa);
579 
589 class GlobalRouter : public Object
590 {
591 public:
596  static TypeId GetTypeId (void);
597 
601  GlobalRouter ();
602 
608 
614 
624  Ipv4Address GetRouterId (void) const;
625 
643  uint32_t DiscoverLSAs (void);
644 
658  uint32_t GetNumLSAs (void) const;
659 
680  bool GetLSA (uint32_t n, GlobalRoutingLSA &lsa) const;
681 
689  void InjectRoute (Ipv4Address network, Ipv4Mask networkMask);
690 
696  uint32_t GetNInjectedRoutes (void);
697 
705 
717  void RemoveInjectedRoute (uint32_t i);
718 
728  bool WithdrawRoute (Ipv4Address network, Ipv4Mask networkMask);
729 
730 private:
731  virtual ~GlobalRouter ();
732 
736  void ClearLSAs (void);
737 
748 
763  bool FindInterfaceForDevice (Ptr<Node> node, Ptr<NetDevice> nd, uint32_t &index) const;
764 
777 
788  bool AnotherRouterOnLink (Ptr<NetDevice> nd) const;
789 
798 
807 
816 
824 
832 
848 
856 
857 
858  typedef std::list<GlobalRoutingLSA*> ListOfLSAs_t;
860 
863 
864  typedef std::list<Ipv4RoutingTableEntry *> InjectedRoutes;
865  typedef std::list<Ipv4RoutingTableEntry *>::const_iterator InjectedRoutesCI;
866  typedef std::list<Ipv4RoutingTableEntry *>::iterator InjectedRoutesI;
868 
869  // Declared mutable so that const member functions can clear it
870  // (supporting the logical constness of the search methods of this class)
874  mutable std::vector<Ptr<BridgeNetDevice> > m_bridgesVisited;
878  void ClearBridgesVisited (void) const;
893  void MarkBridgeAsVisited (Ptr<BridgeNetDevice> device) const;
894 
895  // inherited from Object
896  virtual void DoDispose (void);
897 
903 
910 };
911 
912 } // namespace ns3
913 
914 #endif /* GLOBAL_ROUTER_INTERFACE_H */
ns3::NetDeviceContainer
holds a vector of ns3::NetDevice pointers
Definition: net-device-container.h:42
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::GlobalRoutingLSA::LSA_SPF_NOT_EXPLORED
@ LSA_SPF_NOT_EXPLORED
New vertex not yet considered.
Definition: global-router-interface.h:274
ns3::GlobalRoutingLSA::Unknown
@ Unknown
Uninitialized Type.
Definition: global-router-interface.h:261
ns3::GlobalRoutingLSA::IsEmpty
bool IsEmpty(void) const
Check to see if the list of Global Routing Link Records present in the Global Routing Link State Adve...
Definition: global-router-interface.cc:280
ns3::GlobalRouter::GetInjectedRoute
Ipv4RoutingTableEntry * GetInjectedRoute(uint32_t i)
Return the injected route indexed by i.
Definition: global-router-interface.cc:1625
ns3::GlobalRoutingLSA::m_status
SPFStatus m_status
This is a tristate flag used internally in the SPF computation to mark if an SPFVertex (a data struct...
Definition: global-router-interface.h:567
ns3::GlobalRouter::FindDesignatedRouterForLink
Ipv4Address FindDesignatedRouterForLink(Ptr< NetDevice > ndLocal) const
Finds a designated router.
Definition: global-router-interface.cc:1317
ns3::GlobalRoutingLSA::m_attachedRouters
ListOfAttachedRouters_t m_attachedRouters
Each Network LSA contains a list of attached routers.
Definition: global-router-interface.h:559
ns3::GlobalRoutingLSA::AddLinkRecord
uint32_t AddLinkRecord(GlobalRoutingLinkRecord *lr)
Add a given Global Routing Link Record to the LSA.
Definition: global-router-interface.cc:247
ns3::GlobalRouter::BridgeHasAlreadyBeenVisited
bool BridgeHasAlreadyBeenVisited(Ptr< BridgeNetDevice > device) const
When recursively checking for devices on the link, check whether a given device has already been visi...
Definition: global-router-interface.cc:1816
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::GlobalRoutingLSA::ListOfLinkRecords_t
std::list< GlobalRoutingLinkRecord * > ListOfLinkRecords_t
A convenience typedef to avoid too much writers cramp.
Definition: global-router-interface.h:527
ns3::GlobalRoutingLSA
a Link State Advertisement (LSA) for a router, used in global routing.
Definition: global-router-interface.h:254
ns3::GlobalRoutingLSA::GetStatus
SPFStatus GetStatus(void) const
Get the SPF status of the advertisement.
Definition: global-router-interface.cc:343
ns3::GlobalRouter::ProcessBroadcastLink
void ProcessBroadcastLink(Ptr< NetDevice > nd, GlobalRoutingLSA *pLSA, NetDeviceContainer &c)
Process a generic broadcast link.
Definition: global-router-interface.cc:746
ns3::GlobalRouter::ProcessBridgedBroadcastLink
void ProcessBridgedBroadcastLink(Ptr< NetDevice > nd, GlobalRoutingLSA *pLSA, NetDeviceContainer &c)
Process a bridged broadcast link.
Definition: global-router-interface.cc:875
ns3::GlobalRouter::ClearLSAs
void ClearLSAs(void)
Clear list of LSAs.
Definition: global-router-interface.cc:560
ns3::GlobalRouter::ClearBridgesVisited
void ClearBridgesVisited(void) const
Clear the list of bridges visited on the link.
Definition: global-router-interface.cc:1807
ns3::Ipv4Address
Ipv4 addresses are stored in host order in this class.
Definition: ipv4-address.h:41
ns3::GlobalRoutingLSA::Print
void Print(std::ostream &os) const
Print the contents of the Global Routing Link State Advertisement and any Global Routing Link Records...
Definition: global-router-interface.cc:404
ns3::GlobalRoutingLSA::m_networkLSANetworkMask
Ipv4Mask m_networkLSANetworkMask
Each Network LSA contains the network mask of the attached network.
Definition: global-router-interface.h:544
ns3::GlobalRouter::GetRouterId
Ipv4Address GetRouterId(void) const
Get the Router ID associated with this Global Router.
Definition: global-router-interface.cc:580
ns3::GlobalRoutingLSA::SetLinkStateId
void SetLinkStateId(Ipv4Address addr)
Set the Link State ID is defined by the OSPF spec.
Definition: global-router-interface.cc:308
ns3::GlobalRouter
An interface aggregated to a node to provide global routing info.
Definition: global-router-interface.h:590
ns3::Ipv4RoutingTableEntry
A record of an IPv4 routing table entry for Ipv4GlobalRouting and Ipv4StaticRouting.
Definition: ipv4-routing-table-entry.h:37
ns3::GlobalRoutingLSA::GetNode
Ptr< Node > GetNode(void) const
Get the Node pointer of the node that originated this LSA.
Definition: global-router-interface.cc:390
ns3::GlobalRoutingLSA::GetLSType
LSType GetLSType(void) const
Return the LSType field of the LSA.
Definition: global-router-interface.cc:287
ns3::GlobalRoutingLSA::GetNLinkRecords
uint32_t GetNLinkRecords(void) const
Return the number of Global Routing Link Records in the LSA.
Definition: global-router-interface.cc:255
ns3::GlobalRoutingLSA::SummaryLSA_ASBR
@ SummaryLSA_ASBR
Definition: global-router-interface.h:265
ns3::GlobalRouter::~GlobalRouter
virtual ~GlobalRouter()
Definition: global-router-interface.cc:526
ns3::GlobalRoutingLSA::RouterLSA
@ RouterLSA
Definition: global-router-interface.h:262
ns3::GlobalRouter::ProcessSingleBroadcastLink
void ProcessSingleBroadcastLink(Ptr< NetDevice > nd, GlobalRoutingLSA *pLSA, NetDeviceContainer &c)
Process a single broadcast link.
Definition: global-router-interface.cc:761
ns3::Ptr< Node >
ns3::GlobalRouter::GetRoutingProtocol
Ptr< Ipv4GlobalRouting > GetRoutingProtocol(void)
Get the specific Global Routing Protocol used.
Definition: global-router-interface.cc:539
ns3::GlobalRoutingLSA::SetStatus
void SetStatus(SPFStatus status)
Set the SPF status of the advertisement.
Definition: global-router-interface.cc:383
ns3::GlobalRouter::DoDispose
virtual void DoDispose(void)
Destructor implementation.
Definition: global-router-interface.cc:546
ns3::GlobalRoutingLSA::LSType
LSType
corresponds to LS type field of RFC 2328 OSPF LSA header
Definition: global-router-interface.h:260
ns3::Object
A base class which provides memory management and object aggregation.
Definition: object.h:88
ns3::GlobalRouter::m_injectedRoutes
InjectedRoutes m_injectedRoutes
Routes we are exporting.
Definition: global-router-interface.h:867
ns3::GlobalRouter::m_routingProtocol
Ptr< Ipv4GlobalRouting > m_routingProtocol
the Ipv4GlobalRouting in use
Definition: global-router-interface.h:862
ns3::GlobalRouter::GetLSA
bool GetLSA(uint32_t n, GlobalRoutingLSA &lsa) const
Get a Global Routing Link State Advertisements that this router has said that it can export.
Definition: global-router-interface.cc:1585
ns3::GlobalRoutingLSA::NetworkLSA
@ NetworkLSA
Definition: global-router-interface.h:263
ns3::GlobalRouter::m_routerId
Ipv4Address m_routerId
router ID (its IPv4 address)
Definition: global-router-interface.h:861
ns3::GlobalRouter::FindInterfaceForDevice
bool FindInterfaceForDevice(Ptr< Node > node, Ptr< NetDevice > nd, uint32_t &index) const
Given a node and a net device, find an IPV4 interface index that corresponds to that net device.
Definition: global-router-interface.cc:1734
ns3::GlobalRoutingLSA::m_linkStateId
Ipv4Address m_linkStateId
The Link State ID is defined by the OSPF spec.
Definition: global-router-interface.h:513
ns3::GlobalRoutingLSA::ClearLinkRecords
void ClearLinkRecords(void)
Release all of the Global Routing Link Records present in the Global Routing Link State Advertisement...
Definition: global-router-interface.cc:227
ns3::GlobalRoutingLSA::GetAdvertisingRouter
Ipv4Address GetAdvertisingRouter(void) const
Get the Advertising Router as defined by the OSPF spec.
Definition: global-router-interface.cc:315
ns3::GlobalRoutingLSA::SetNetworkLSANetworkMask
void SetNetworkLSANetworkMask(Ipv4Mask mask)
For a Network LSA, set the Network Mask field that precedes the list of attached routers.
Definition: global-router-interface.cc:329
ns3::GlobalRouter::ListOfLSAs_t
std::list< GlobalRoutingLSA * > ListOfLSAs_t
container for the GlobalRoutingLSAs
Definition: global-router-interface.h:858
ns3::GlobalRouter::InjectedRoutesI
std::list< Ipv4RoutingTableEntry * >::iterator InjectedRoutesI
Iterator to container of Ipv4RoutingTableEntry.
Definition: global-router-interface.h:866
ns3::GlobalRoutingLSA::ListOfAttachedRouters_t
std::list< Ipv4Address > ListOfAttachedRouters_t
A convenience typedef to avoid too much writers cramp.
Definition: global-router-interface.h:549
ns3::GlobalRoutingLSA::ASExternalLSAs
@ ASExternalLSAs
Definition: global-router-interface.h:266
ns3::GlobalRouter::BuildNetworkLSAs
void BuildNetworkLSAs(NetDeviceContainer c)
Build one NetworkLSA for each net device talking to a network that we are the designated router for.
Definition: global-router-interface.cc:1161
ns3::GlobalRoutingLSA::GetLinkRecord
GlobalRoutingLinkRecord * GetLinkRecord(uint32_t n) const
Return a pointer to the specified Global Routing Link Record.
Definition: global-router-interface.cc:262
ns3::GlobalRoutingLSA::GetNetworkLSANetworkMask
Ipv4Mask GetNetworkLSANetworkMask(void) const
For a Network LSA, get the Network Mask field that precedes the list of attached routers.
Definition: global-router-interface.cc:336
ns3::GlobalRouter::DiscoverLSAs
uint32_t DiscoverLSAs(void)
Walk the connected channels, discover the adjacent routers and build the associated number of Global ...
Definition: global-router-interface.cc:593
ns3::GlobalRouter::GlobalRouter
GlobalRouter()
Create a Global Router class.
Definition: global-router-interface.cc:519
ns3::GlobalRouter::GetNInjectedRoutes
uint32_t GetNInjectedRoutes(void)
Get the number of injected routes that have been added to the routing table.
Definition: global-router-interface.cc:1648
ns3::GlobalRoutingLSA::GetAttachedRouter
Ipv4Address GetAttachedRouter(uint32_t n) const
Return an Ipv4Address corresponding to the specified attached router.
Definition: global-router-interface.cc:365
ns3::GlobalRouter::m_bridgesVisited
std::vector< Ptr< BridgeNetDevice > > m_bridgesVisited
Container of bridges visited.
Definition: global-router-interface.h:874
ns3::GlobalRoutingLSA::SPFStatus
SPFStatus
Enumeration of the possible values of the status flag in the Routing Link State Advertisements.
Definition: global-router-interface.h:273
ns3::GlobalRouter::ProcessPointToPointLink
void ProcessPointToPointLink(Ptr< NetDevice > ndLocal, GlobalRoutingLSA *pLSA)
Process a point to point link.
Definition: global-router-interface.cc:1040
ns3::GlobalRouter::m_LSAs
ListOfLSAs_t m_LSAs
database of GlobalRoutingLSAs
Definition: global-router-interface.h:859
ns3::GlobalRoutingLSA::SetLSType
void SetLSType(LSType typ)
Set the LS type field of the LSA.
Definition: global-router-interface.cc:294
ns3::GlobalRoutingLSA::LSA_SPF_IN_SPFTREE
@ LSA_SPF_IN_SPFTREE
Vertex is in the SPF tree.
Definition: global-router-interface.h:276
ns3::GlobalRoutingLSA::SetNode
void SetNode(Ptr< Node > node)
Set the Node pointer of the node that originated this LSA.
Definition: global-router-interface.cc:397
ns3::GlobalRouter::GlobalRouter
GlobalRouter(GlobalRouter &sr)
Global Router copy construction is disallowed.
ns3::GlobalRoutingLSA::operator=
GlobalRoutingLSA & operator=(const GlobalRoutingLSA &lsa)
Assignment operator for a Global Routing Link State Advertisement.
Definition: global-router-interface.cc:182
ns3::GlobalRoutingLSA::m_linkRecords
ListOfLinkRecords_t m_linkRecords
Each Link State Advertisement contains a number of Link Records that describe the kinds of links that...
Definition: global-router-interface.h:539
ns3::GlobalRouter::InjectedRoutesCI
std::list< Ipv4RoutingTableEntry * >::const_iterator InjectedRoutesCI
Const Iterator to container of Ipv4RoutingTableEntry.
Definition: global-router-interface.h:865
ns3::GlobalRoutingLSA::CopyLinkRecords
void CopyLinkRecords(const GlobalRoutingLSA &lsa)
Copy any Global Routing Link Records in a given Global Routing Link State Advertisement to the curren...
Definition: global-router-interface.cc:198
ns3::GlobalRoutingLSA::GlobalRoutingLSA
GlobalRoutingLSA()
Create a blank Global Routing Link State Advertisement.
Definition: global-router-interface.cc:137
ns3::GlobalRoutingLSA::LSA_SPF_CANDIDATE
@ LSA_SPF_CANDIDATE
Vertex is in the SPF candidate queue.
Definition: global-router-interface.h:275
ns3::GlobalRouter::InjectRoute
void InjectRoute(Ipv4Address network, Ipv4Mask networkMask)
Inject a route to be circulated to other routers as an external route.
Definition: global-router-interface.cc:1611
ns3::Ipv4Mask
a class to represent an Ipv4 address mask
Definition: ipv4-address.h:256
ns3::GlobalRouter::MarkBridgeAsVisited
void MarkBridgeAsVisited(Ptr< BridgeNetDevice > device) const
When recursively checking for devices on the link, mark a given device as having been visited.
Definition: global-router-interface.cc:1834
ns3::GlobalRoutingLSA::GetNAttachedRouters
uint32_t GetNAttachedRouters(void) const
Return the number of attached routers listed in the NetworkLSA.
Definition: global-router-interface.cc:358
ns3::GlobalRoutingLSA::m_node_id
uint32_t m_node_id
node ID
Definition: global-router-interface.h:568
ns3::GlobalRoutingLSA::m_lsType
LSType m_lsType
The type of the LSA.
Definition: global-router-interface.h:505
ns3::GlobalRouter::GetNumLSAs
uint32_t GetNumLSAs(void) const
Get the Number of Global Routing Link State Advertisements that this router can export.
Definition: global-router-interface.cc:1575
ns3::GlobalRouter::AnotherRouterOnLink
bool AnotherRouterOnLink(Ptr< NetDevice > nd) const
Checks for the presence of another router on the NetDevice.
Definition: global-router-interface.cc:1473
ns3::GlobalRoutingLSA::~GlobalRoutingLSA
~GlobalRoutingLSA()
Destroy an existing Global Routing Link State Advertisement.
Definition: global-router-interface.cc:220
ns3::GlobalRouter::RemoveInjectedRoute
void RemoveInjectedRoute(uint32_t i)
Withdraw a route from the global unicast routing table.
Definition: global-router-interface.cc:1655
ns3::GlobalRoutingLSA::AddAttachedRouter
uint32_t AddAttachedRouter(Ipv4Address addr)
Add an attached router to the list in the NetworkLSA.
Definition: global-router-interface.cc:350
ns3::operator<<
std::ostream & operator<<(std::ostream &os, const Angles &a)
Definition: angles.cc:137
ns3::GlobalRoutingLSA::GetLinkStateId
Ipv4Address GetLinkStateId(void) const
Get the Link State ID as defined by the OSPF spec.
Definition: global-router-interface.cc:301
ns3::GlobalRouter::GetAdjacent
Ptr< NetDevice > GetAdjacent(Ptr< NetDevice > nd, Ptr< Channel > ch) const
Link through the given channel and find the net device that's on the other end.
Definition: global-router-interface.cc:1696
ns3::GlobalRouter::WithdrawRoute
bool WithdrawRoute(Ipv4Address network, Ipv4Mask networkMask)
Withdraw a route from the global unicast routing table.
Definition: global-router-interface.cc:1674
ns3::GlobalRouter::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: global-router-interface.cc:511
ns3::GlobalRouter::FindAllNonBridgedDevicesOnLink
NetDeviceContainer FindAllNonBridgedDevicesOnLink(Ptr< Channel > ch) const
Return a container of all non-bridged NetDevices on a link.
Definition: global-router-interface.cc:1272
ns3::GlobalRoutingLSA::SetAdvertisingRouter
void SetAdvertisingRouter(Ipv4Address rtr)
Set the Advertising Router as defined by the OSPF spec.
Definition: global-router-interface.cc:322
sample-rng-plot.n
n
Definition: sample-rng-plot.py:37
ns3::GlobalRoutingLSA::SummaryLSA
@ SummaryLSA
Definition: global-router-interface.h:264
ns3::GlobalRouter::SetRoutingProtocol
void SetRoutingProtocol(Ptr< Ipv4GlobalRouting > routing)
Set the specific Global Routing Protocol to be used.
Definition: global-router-interface.cc:533
ns3::GlobalRouter::operator=
GlobalRouter & operator=(GlobalRouter &sr)
Global Router assignment operator is disallowed.
ns3::GlobalRouter::InjectedRoutes
std::list< Ipv4RoutingTableEntry * > InjectedRoutes
container of Ipv4RoutingTableEntry
Definition: global-router-interface.h:864
ns3::GlobalRouter::NetDeviceIsBridged
Ptr< BridgeNetDevice > NetDeviceIsBridged(Ptr< NetDevice > nd) const
Decide whether or not a given net device is being bridged by a BridgeNetDevice.
Definition: global-router-interface.cc:1764
ns3::GlobalRoutingLSA::m_advertisingRtr
Ipv4Address m_advertisingRtr
The Advertising Router is defined by the OSPF spec.
Definition: global-router-interface.h:522