A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
ipv6-address-generator.h
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2008 University of Washington
4
* Copyright (c) 2011 Atishay Jain
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation;
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
*/
19
20
#ifndef IPV6_ADDRESS_GENERATOR_H
21
#define IPV6_ADDRESS_GENERATOR_H
22
23
#include "ns3/ipv6-address.h"
24
25
namespace
ns3
{
26
61
class
Ipv6AddressGenerator
62
{
63
public
:
74
static
void
Init
(
const
Ipv6Address
net,
const
Ipv6Prefix
prefix,
75
const
Ipv6Address
interfaceId =
"::1"
);
76
89
static
Ipv6Address
NextNetwork
(
const
Ipv6Prefix
prefix);
90
100
static
Ipv6Address
GetNetwork
(
const
Ipv6Prefix
prefix);
101
108
static
void
InitAddress
(
const
Ipv6Address
interfaceId,
const
Ipv6Prefix
prefix);
109
119
static
Ipv6Address
NextAddress
(
const
Ipv6Prefix
prefix);
120
130
static
Ipv6Address
GetAddress
(
const
Ipv6Prefix
prefix);
131
135
static
void
Reset
(
void
);
136
147
static
bool
AddAllocated
(
const
Ipv6Address
addr);
148
155
static
bool
IsAddressAllocated
(
const
Ipv6Address
addr);
156
164
static
bool
IsNetworkAllocated
(
const
Ipv6Address
addr,
const
Ipv6Prefix
prefix);
165
169
static
void
TestMode
(
void
);
170
};
171
172
};
// namespace ns3
173
174
#endif
/* IPV6_ADDRESS_GENERATOR_H */
ns3::Ipv6AddressGenerator
This generator assigns addresses sequentially from a provided network address; used in topology code.
Definition:
ipv6-address-generator.h:62
ns3::Ipv6AddressGenerator::Init
static void Init(const Ipv6Address net, const Ipv6Prefix prefix, const Ipv6Address interfaceId="::1")
Initialise the base network and interfaceId for the generator.
Definition:
ipv6-address-generator.cc:675
ns3::Ipv6AddressGenerator::NextAddress
static Ipv6Address NextAddress(const Ipv6Prefix prefix)
Allocate the next Ipv6Address for the configured network and prefix.
Definition:
ipv6-address-generator.cc:725
ns3::Ipv6AddressGenerator::GetNetwork
static Ipv6Address GetNetwork(const Ipv6Prefix prefix)
Get the current network of the given Ipv6Prefix.
Definition:
ipv6-address-generator.cc:696
ns3::Ipv6AddressGenerator::InitAddress
static void InitAddress(const Ipv6Address interfaceId, const Ipv6Prefix prefix)
Set the interfaceId for the given Ipv6Prefix.
Definition:
ipv6-address-generator.cc:705
ns3::Ipv6AddressGenerator::IsNetworkAllocated
static bool IsNetworkAllocated(const Ipv6Address addr, const Ipv6Prefix prefix)
Check if a network has already allocated addresses.
Definition:
ipv6-address-generator.cc:761
ns3::Ipv6AddressGenerator::TestMode
static void TestMode(void)
Used to turn off fatal errors and assertions, for testing.
Definition:
ipv6-address-generator.cc:770
ns3::Ipv6AddressGenerator::AddAllocated
static bool AddAllocated(const Ipv6Address addr)
Add the Ipv6Address to the list of IPv6 entries.
Definition:
ipv6-address-generator.cc:743
ns3::Ipv6AddressGenerator::Reset
static void Reset(void)
Reset the networks and Ipv6Address to zero.
Definition:
ipv6-address-generator.cc:734
ns3::Ipv6AddressGenerator::GetAddress
static Ipv6Address GetAddress(const Ipv6Prefix prefix)
Get the Ipv6Address that will be allocated upon NextAddress ()
Definition:
ipv6-address-generator.cc:716
ns3::Ipv6AddressGenerator::NextNetwork
static Ipv6Address NextNetwork(const Ipv6Prefix prefix)
Get the next network according to the given Ipv6Prefix.
Definition:
ipv6-address-generator.cc:687
ns3::Ipv6AddressGenerator::IsAddressAllocated
static bool IsAddressAllocated(const Ipv6Address addr)
Check the Ipv6Address allocation in the list of IPv6 entries.
Definition:
ipv6-address-generator.cc:752
ns3::Ipv6Address
Describes an IPv6 address.
Definition:
ipv6-address.h:50
ns3::Ipv6Prefix
Describes an IPv6 prefix.
Definition:
ipv6-address.h:456
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
internet
model
ipv6-address-generator.h
Generated on Tue Feb 6 2024 19:21:19 for ns-3 by
1.9.1