16#include "ns3/node-list.h" 
   54    return ipv6->GetAddress(interface, j).GetAddress();
 
 
  100                  "No link-local address found on router, aborting");
 
  113                "Default router setup failed because no Ipv6StaticRouting was found on the node.");
 
 
  130            if (addr == routerAddress)
 
  142    NS_ASSERT_MSG(found != 
true, 
"No such address in the interfaces. Aborting.");
 
  146        if (other != routerIndex)
 
  155                "Default router setup failed because no Ipv6StaticRouting was found on the node.");
 
 
  165                  "A node shouldn't set itself as the default router, isn't it? Aborting.");
 
  171                  "No link-local address found on router, aborting");
 
  179        "Default router setup failed because no Ipv6StaticRouting was found on the node.");
 
 
  194            if (addr == routerAddr)
 
  206    NS_ASSERT_MSG(found != 
true, 
"No such address in the interfaces. Aborting.");
 
  209                  "A node shouldn't set itself as the default router, isn't it? Aborting.");
 
  219        "Default router setup failed because no Ipv6StaticRouting was found on the node.");
 
 
  242    if (address.IsLinkLocal())
 
  267    NS_ASSERT_MSG(found != 
true, 
"No such address in the interfaces. Aborting.");
 
 
Describes an IPv6 address.
static Ipv6Address GetAny()
Get the "any" (::) Ipv6Address.
IPv6 address associated with an interface.
Ipv6Address GetAddress() const
Get the IPv6 address.
Ipv6InterfaceAddress::Scope_e GetScope() const
Get address scope.
@ LINKLOCAL
Link-local address (fe80::/64)
Keep track of a set of IPv6 interfaces.
void SetForwarding(uint32_t i, bool state)
Set the state of the stack (act as a router or as an host) for the specified index.
uint32_t GetInterfaceIndex(uint32_t i) const
Get the interface index for the specified node index.
Ipv6InterfaceContainer()
Constructor.
void SetDefaultRouteInAllNodes(uint32_t router)
Set the default route for all the devices (except the router itself).
void SetDefaultRoute(uint32_t i, uint32_t router)
Set the default route for the specified index.
InterfaceVector m_interfaces
List of IPv6 stack and interfaces index.
std::vector< std::pair< Ptr< Ipv6 >, uint32_t > >::const_iterator Iterator
Container Const Iterator for pairs of Ipv6 smart pointer / Interface Index.
Ipv6Address GetAddress(uint32_t i, uint32_t j) const
Get the address for the specified index.
Ipv6Address GetLinkLocalAddress(uint32_t i)
Get the link-local address for the specified index.
Iterator End() const
Get an iterator which indicates past-the-last Node in the container.
void Add(Ptr< Ipv6 > ipv6, uint32_t interface)
Add a couple IPv6/interface.
std::pair< Ptr< Ipv6 >, uint32_t > Get(uint32_t i) const
Get the std::pair of an Ptr<Ipv6> and interface stored at the location specified by the index.
Iterator Begin() const
Get an iterator which refers to the first pair in the container.
Helper class that adds ns3::Ipv6StaticRouting objects.
Ptr< Ipv6StaticRouting > GetStaticRouting(Ptr< Ipv6 > ipv6) const
Get Ipv6StaticRouting pointer from IPv6 stack.
static Ptr< T > Find(std::string path)
Given a name path string, look to see if there's an object in the system with that associated to it.
Smart pointer class similar to boost::intrusive_ptr.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
Every class exported by the ns3 library is enclosed in the ns3 namespace.