25 #include "ns3/point-to-point-star.h" 26 #include "ns3/constant-position-mobility-model.h" 28 #include "ns3/node-list.h" 29 #include "ns3/point-to-point-net-device.h" 30 #include "ns3/vector.h" 31 #include "ns3/ipv6-address-generator.h" 125 addressHelper.
SetBase (v6network, prefix);
138 double lrx,
double lry)
164 hubLoc = CreateObject<ConstantPositionMobilityModel> ();
167 Vector hubVec (ulx + xDist/2.0, uly + yDist/2.0, 0);
168 hubLoc->SetPosition (hubVec);
173 spokeDist = yDist/4.0;
177 spokeDist = xDist/4.0;
187 spokeLoc = CreateObject<ConstantPositionMobilityModel> ();
190 Vector spokeVec (hubVec.x + std::cos (theta*i) * spokeDist,
191 hubVec.y + std::sin (theta*i) * spokeDist,
193 spokeLoc->SetPosition (spokeVec);
void AssignIpv4Addresses(Ipv4AddressHelper address)
Ptr< Node > GetHub() const
Ptr< NetDevice > Get(uint32_t i) const
Get the Ptr<NetDevice> stored in this container at a given index.
Ptr< Node > GetSpokeNode(uint32_t i) const
Keep track of a set of IPv6 interfaces.
NetDeviceContainer Install(NodeContainer c)
void AssignIpv6Addresses(Ipv6Address network, Ipv6Prefix prefix)
void Add(const Ipv4InterfaceContainer &other)
Concatenate the entries in the other container with ours.
void Add(Ptr< Ipv6 > ipv6, uint32_t interface)
Add a couple IPv6/interface.
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
Ipv6Address GetHubIpv6Address(uint32_t i) const
Mobility model for which the current position does not change once it has been set and until it is se...
NetDeviceContainer m_spokeDevices
Spoke nodes NetDevices.
Ipv4Address GetHubIpv4Address(uint32_t i) const
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
aggregate IP/TCP/UDP functionality to existing Nodes.
void SetBase(Ipv6Address network, Ipv6Prefix prefix, Ipv6Address base=Ipv6Address("::1"))
Set the base network number, network prefix, and base interface ID.
Ipv4Address GetSpokeIpv4Address(uint32_t i) const
Build a set of PointToPointNetDevice objects.
PointToPointStarHelper(uint32_t numSpokes, PointToPointHelper p2pHelper)
Create a PointToPointStarHelper in order to easily create star topologies using p2p links...
Ipv6InterfaceContainer Assign(const NetDeviceContainer &c)
Allocate an Ipv6InterfaceContainer with auto-assigned addresses.
Ipv6InterfaceContainer m_hubInterfaces6
IPv6 hub interfaces.
~PointToPointStarHelper()
Ipv4Address GetAddress(uint32_t i, uint32_t j=0) const
void Add(NetDeviceContainer other)
Append the contents of another NetDeviceContainer to the end of this container.
holds a vector of ns3::NetDevice pointers
Ipv4InterfaceContainer m_spokeInterfaces
IPv4 spoke nodes interfaces.
uint32_t GetN(void) const
Get the number of Ptr<Node> stored in this container.
Ptr< T > GetObject(void) const
Get a pointer to the requested aggregated Object.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
NodeContainer m_spokes
Spoke nodes.
Ipv6InterfaceContainer m_spokeInterfaces6
IPv6 spoke nodes interfaces.
Ipv6Address GetAddress(uint32_t i, uint32_t j) const
Get the address for the specified index.
Helper class to auto-assign global IPv6 unicast addresses.
static Ipv6Address NextNetwork(const Ipv6Prefix prefix)
Get the next network according to the given Ipv6Prefix.
static void Init(const Ipv6Address net, const Ipv6Prefix prefix, const Ipv6Address interfaceId="::1")
Initialise the base network and interfaceId for the generator.
Describes an IPv6 address.
Ipv4 addresses are stored in host order in this class.
Ptr< Node > Get(uint32_t i) const
Get the Ptr<Node> stored in this container at a given index.
Describes an IPv6 prefix.
Ipv6Address GetSpokeIpv6Address(uint32_t i) const
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
void BoundingBox(double ulx, double uly, double lrx, double lry)
Sets up the node canvas locations for every node in the star.
NetDeviceContainer m_hubDevices
Hub node NetDevices.
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
NodeContainer m_hub
Hub node.
static Ipv6Address GetNetwork(const Ipv6Prefix prefix)
Get the current network of the given Ipv6Prefix.
void InstallStack(InternetStackHelper stack)
uint32_t SpokeCount() const
Ipv4InterfaceContainer m_hubInterfaces
IPv4 hub interfaces.