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
:
39
typedef
std::list<Ptr<RadvdPrefix> >
RadvdPrefixList
;
40
typedef
std::list<Ptr<RadvdPrefix> >::iterator
RadvdPrefixListI
;
41
typedef
std::list<Ptr<RadvdPrefix> >::const_iterator
RadvdPrefixListCI
;
42
47
RadvdInterface
(uint32_t interface);
48
55
RadvdInterface
(uint32_t interface, uint32_t maxRtrAdvInterval, uint32_t minRtrAdvInterval);
56
60
~RadvdInterface
();
61
66
uint32_t
GetInterface
()
const
;
67
72
RadvdPrefixList
GetPrefixes
()
const
;
73
78
void
AddPrefix
(
Ptr<RadvdPrefix>
routerPrefix);
79
84
bool
IsSendAdvert
()
const
;
85
90
void
SetSendAdvert
(
bool
sendAdvert);
91
96
uint32_t
GetMaxRtrAdvInterval
()
const
;
97
102
void
SetMaxRtrAdvInterval
(uint32_t maxRtrAdvInterval);
103
108
uint32_t
GetMinRtrAdvInterval
()
const
;
109
114
void
SetMinRtrAdvInterval
(uint32_t minRtrAdvInterval);
115
120
uint32_t
GetMinDelayBetweenRAs
()
const
;
121
126
void
SetMinDelayBetweenRAs
(uint32_t minDelayBetweenRAs);
127
132
bool
IsManagedFlag
()
const
;
133
138
void
SetManagedFlag
(
bool
managedFlag);
139
144
bool
IsOtherConfigFlag
()
const
;
145
150
void
SetOtherConfigFlag
(
bool
otherConfigFlag);
151
156
uint32_t
GetLinkMtu
()
const
;
157
162
void
SetLinkMtu
(uint32_t linkMtu);
163
168
uint32_t
GetReachableTime
()
const
;
169
174
void
SetReachableTime
(uint32_t reachableTime);
175
180
uint32_t
GetDefaultLifeTime
()
const
;
181
186
void
SetDefaultLifeTime
(uint32_t defaultLifeTime);
187
192
uint32_t
GetRetransTimer
()
const
;
193
198
void
SetRetransTimer
(uint32_t retransTimer);
199
204
uint8_t
GetCurHopLimit
()
const
;
205
210
void
SetCurHopLimit
(uint8_t curHopLimit);
211
216
uint8_t
GetDefaultPreference
()
const
;
217
222
void
SetDefaultPreference
(uint8_t defaultPreference);
223
228
bool
IsSourceLLAddress
()
const
;
229
234
void
SetSourceLLAddress
(
bool
sourceLLAddress);
235
240
bool
IsHomeAgentFlag
()
const
;
241
246
void
SetHomeAgentFlag
(
bool
homeAgentFlag);
247
252
bool
IsHomeAgentInfo
()
const
;
253
258
void
SetHomeAgentInfo
(
bool
homeAgentFlag);
259
264
uint32_t
GetHomeAgentLifeTime
()
const
;
265
270
void
SetHomeAgentLifeTime
(uint32_t homeAgentLifeTime);
271
276
uint32_t
GetHomeAgentPreference
()
const
;
277
282
void
SetHomeAgentPreference
(uint32_t homeAgentPreference);
283
288
bool
IsMobRtrSupportFlag
()
const
;
289
294
void
SetMobRtrSupportFlag
(
bool
mobRtrSupportFlag);
295
300
bool
IsIntervalOpt
()
const
;
301
306
void
SetIntervalOpt
(
bool
intervalOpt);
307
308
private
:
309
313
uint32_t
m_interface
;
314
318
RadvdPrefixList
m_prefixes
;
319
323
bool
m_sendAdvert
;
324
328
uint32_t
m_maxRtrAdvInterval
;
329
333
uint32_t
m_minRtrAdvInterval
;
334
338
uint32_t
m_minDelayBetweenRAs
;
339
343
bool
m_managedFlag
;
344
348
bool
m_otherConfigFlag
;
349
353
uint32_t
m_linkMtu
;
354
358
uint32_t
m_reachableTime
;
359
363
uint32_t
m_retransTimer
;
364
368
uint32_t
m_curHopLimit
;
369
373
uint32_t
m_defaultLifeTime
;
374
381
uint8_t
m_defaultPreference
;
382
386
bool
m_sourceLLAddress
;
387
391
bool
m_homeAgentFlag
;
392
397
bool
m_homeAgentInfo
;
398
402
uint32_t
m_homeAgentLifeTime
;
403
407
uint32_t
m_homeAgentPreference
;
408
412
bool
m_mobRtrSupportFlag
;
413
417
bool
m_intervalOpt
;
418
};
419
420
}
/* namespace ns3 */
421
422
#endif
/* RADVD_INTERFACE_H */
423
src
applications
model
radvd-interface.h
Generated on Fri Aug 30 2013 01:42:45 for ns-3 by
1.8.1.2