A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
radvd-interface.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2009 Strasbourg University
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
* Author: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
19
*/
20
21
#ifndef RADVD_INTERFACE_H
22
#define RADVD_INTERFACE_H
23
24
#include <list>
25
#include "ns3/simple-ref-count.h"
26
#include "
radvd-prefix.h
"
27
28
namespace
ns3
29
{
30
36
class
RadvdInterface
:
public
SimpleRefCount
<RadvdInterface>
37
{
38
public
:
43
RadvdInterface
(uint32_t interface);
44
51
RadvdInterface
(uint32_t interface, uint32_t maxRtrAdvInterval, uint32_t minRtrAdvInterval);
52
56
~RadvdInterface
();
57
62
uint32_t
GetInterface
()
const
;
63
68
std::list <Ptr<RadvdPrefix> >
GetPrefixes
()
const
;
69
74
void
AddPrefix
(
Ptr<RadvdPrefix>
routerPrefix);
75
80
bool
IsSendAdvert
()
const
;
81
86
void
SetSendAdvert
(
bool
sendAdvert);
87
92
uint32_t
GetMaxRtrAdvInterval
()
const
;
93
98
void
SetMaxRtrAdvInterval
(uint32_t maxRtrAdvInterval);
99
104
uint32_t
GetMinRtrAdvInterval
()
const
;
105
110
void
SetMinRtrAdvInterval
(uint32_t minRtrAdvInterval);
111
116
uint32_t
GetMinDelayBetweenRAs
()
const
;
117
122
void
SetMinDelayBetweenRAs
(uint32_t minDelayBetweenRAs);
123
128
bool
IsManagedFlag
()
const
;
129
134
void
SetManagedFlag
(
bool
managedFlag);
135
140
bool
IsOtherConfigFlag
()
const
;
141
146
void
SetOtherConfigFlag
(
bool
otherConfigFlag);
147
152
uint32_t
GetLinkMtu
()
const
;
153
158
void
SetLinkMtu
(uint32_t linkMtu);
159
164
uint32_t
GetReachableTime
()
const
;
165
170
void
SetReachableTime
(uint32_t reachableTime);
171
176
uint32_t
GetDefaultLifeTime
()
const
;
177
182
void
SetDefaultLifeTime
(uint32_t defaultLifeTime);
183
188
uint32_t
GetRetransTimer
()
const
;
189
194
void
SetRetransTimer
(uint32_t retransTimer);
195
200
uint8_t
GetCurHopLimit
()
const
;
201
206
void
SetCurHopLimit
(uint8_t curHopLimit);
207
212
uint8_t
GetDefaultPreference
()
const
;
213
218
void
SetDefaultPreference
(uint8_t defaultPreference);
219
224
bool
IsSourceLLAddress
()
const
;
225
230
void
SetSourceLLAddress
(
bool
sourceLLAddress);
231
236
bool
IsHomeAgentFlag
()
const
;
237
242
void
SetHomeAgentFlag
(
bool
homeAgentFlag);
243
248
bool
IsHomeAgentInfo
()
const
;
249
254
void
SetHomeAgentInfo
(
bool
homeAgentFlag);
255
260
uint32_t
GetHomeAgentLifeTime
()
const
;
261
266
void
SetHomeAgentLifeTime
(uint32_t homeAgentLifeTime);
267
272
uint32_t
GetHomeAgentPreference
()
const
;
273
278
void
SetHomeAgentPreference
(uint32_t homeAgentPreference);
279
284
bool
IsMobRtrSupportFlag
()
const
;
285
290
void
SetMobRtrSupportFlag
(
bool
mobRtrSupportFlag);
291
296
bool
IsIntervalOpt
()
const
;
297
302
void
SetIntervalOpt
(
bool
intervalOpt);
303
304
private
:
305
typedef
std::list<Ptr<RadvdPrefix> >
RadvdPrefixList
;
306
typedef
std::list<Ptr<RadvdPrefix> >::iterator
RadvdPrefixListI
;
307
311
uint32_t
m_interface
;
312
316
RadvdPrefixList
m_prefixes
;
317
321
bool
m_sendAdvert
;
322
326
uint32_t
m_maxRtrAdvInterval
;
327
331
uint32_t
m_minRtrAdvInterval
;
332
336
uint32_t
m_minDelayBetweenRAs
;
337
341
bool
m_managedFlag
;
342
346
bool
m_otherConfigFlag
;
347
351
uint32_t
m_linkMtu
;
352
356
uint32_t
m_reachableTime
;
357
361
uint32_t
m_retransTimer
;
362
366
uint32_t
m_curHopLimit
;
367
371
uint32_t
m_defaultLifeTime
;
372
379
uint8_t
m_defaultPreference
;
380
384
bool
m_sourceLLAddress
;
385
389
bool
m_homeAgentFlag
;
390
395
bool
m_homeAgentInfo
;
396
400
uint32_t
m_homeAgentLifeTime
;
401
405
uint32_t
m_homeAgentPreference
;
406
410
bool
m_mobRtrSupportFlag
;
411
415
bool
m_intervalOpt
;
416
};
417
418
}
/* namespace ns3 */
419
420
#endif
/* RADVD_INTERFACE_H */
421
src
applications
model
radvd-interface.h
Generated on Tue Oct 9 2012 16:45:33 for ns-3 by
1.8.1.2