A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
aodv-packet.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009 IITP RAS
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Based on
18
* NS-2 AODV model developed by the CMU/MONARCH group and optimized and
19
* tuned by Samir Das and Mahesh Marina, University of Cincinnati;
20
*
21
* AODV-UU implementation by Erik Nordström of Uppsala University
22
* https://web.archive.org/web/20100527072022/http://core.it.uu.se/core/index.php/AODV-UU
23
*
24
* Authors: Elena Buchatskaia <borovkovaes@iitp.ru>
25
* Pavel Boyko <boyko@iitp.ru>
26
*/
27
#ifndef AODVPACKET_H
28
#define AODVPACKET_H
29
30
#include "ns3/enum.h"
31
#include "ns3/header.h"
32
#include "ns3/ipv4-address.h"
33
#include "ns3/nstime.h"
34
35
#include <iostream>
36
#include <map>
37
38
namespace
ns3
39
{
40
namespace
aodv
41
{
42
47
enum
MessageType
48
{
49
AODVTYPE_RREQ
= 1,
50
AODVTYPE_RREP
= 2,
51
AODVTYPE_RERR
= 3,
52
AODVTYPE_RREP_ACK
= 4
53
};
54
59
class
TypeHeader
:
public
Header
60
{
61
public
:
66
TypeHeader
(
MessageType
t =
AODVTYPE_RREQ
);
67
72
static
TypeId
GetTypeId
();
73
TypeId
GetInstanceTypeId
()
const override
;
74
uint32_t
GetSerializedSize
()
const override
;
75
void
Serialize
(
Buffer::Iterator
start
)
const override
;
76
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
77
void
Print
(std::ostream& os)
const override
;
78
82
MessageType
Get
()
const
83
{
84
return
m_type
;
85
}
86
91
bool
IsValid
()
const
92
{
93
return
m_valid
;
94
}
95
101
bool
operator==
(
const
TypeHeader
& o)
const
;
102
103
private
:
104
MessageType
m_type
;
105
bool
m_valid
;
106
};
107
114
std::ostream&
operator<<
(std::ostream& os,
const
TypeHeader
& h);
115
137
class
RreqHeader
:
public
Header
138
{
139
public
:
152
RreqHeader
(uint8_t flags = 0,
153
uint8_t reserved = 0,
154
uint8_t hopCount = 0,
155
uint32_t requestID = 0,
156
Ipv4Address
dst =
Ipv4Address
(),
157
uint32_t dstSeqNo = 0,
158
Ipv4Address
origin =
Ipv4Address
(),
159
uint32_t originSeqNo = 0);
160
165
static
TypeId
GetTypeId
();
166
TypeId
GetInstanceTypeId
()
const override
;
167
uint32_t
GetSerializedSize
()
const override
;
168
void
Serialize
(
Buffer::Iterator
start
)
const override
;
169
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
170
void
Print
(std::ostream& os)
const override
;
171
172
// Fields
177
void
SetHopCount
(uint8_t count)
178
{
179
m_hopCount
= count;
180
}
181
186
uint8_t
GetHopCount
()
const
187
{
188
return
m_hopCount
;
189
}
190
195
void
SetId
(uint32_t
id
)
196
{
197
m_requestID
= id;
198
}
199
204
uint32_t
GetId
()
const
205
{
206
return
m_requestID
;
207
}
208
213
void
SetDst
(
Ipv4Address
a)
214
{
215
m_dst
= a;
216
}
217
222
Ipv4Address
GetDst
()
const
223
{
224
return
m_dst
;
225
}
226
231
void
SetDstSeqno
(uint32_t s)
232
{
233
m_dstSeqNo
= s;
234
}
235
240
uint32_t
GetDstSeqno
()
const
241
{
242
return
m_dstSeqNo
;
243
}
244
249
void
SetOrigin
(
Ipv4Address
a)
250
{
251
m_origin
= a;
252
}
253
258
Ipv4Address
GetOrigin
()
const
259
{
260
return
m_origin
;
261
}
262
267
void
SetOriginSeqno
(uint32_t s)
268
{
269
m_originSeqNo
= s;
270
}
271
276
uint32_t
GetOriginSeqno
()
const
277
{
278
return
m_originSeqNo
;
279
}
280
281
// Flags
286
void
SetGratuitousRrep
(
bool
f
);
291
bool
GetGratuitousRrep
()
const
;
296
void
SetDestinationOnly
(
bool
f
);
301
bool
GetDestinationOnly
()
const
;
306
void
SetUnknownSeqno
(
bool
f
);
311
bool
GetUnknownSeqno
()
const
;
312
318
bool
operator==
(
const
RreqHeader
& o)
const
;
319
320
private
:
321
uint8_t
m_flags
;
322
uint8_t
m_reserved
;
323
uint8_t
m_hopCount
;
324
uint32_t
m_requestID
;
325
Ipv4Address
m_dst
;
326
uint32_t
m_dstSeqNo
;
327
Ipv4Address
m_origin
;
328
uint32_t
m_originSeqNo
;
329
};
330
336
std::ostream&
operator<<
(std::ostream& os,
const
RreqHeader
&);
337
357
class
RrepHeader
:
public
Header
358
{
359
public
:
370
RrepHeader
(uint8_t prefixSize = 0,
371
uint8_t hopCount = 0,
372
Ipv4Address
dst =
Ipv4Address
(),
373
uint32_t dstSeqNo = 0,
374
Ipv4Address
origin =
Ipv4Address
(),
375
Time
lifetime =
MilliSeconds
(0));
380
static
TypeId
GetTypeId
();
381
TypeId
GetInstanceTypeId
()
const override
;
382
uint32_t
GetSerializedSize
()
const override
;
383
void
Serialize
(
Buffer::Iterator
start
)
const override
;
384
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
385
void
Print
(std::ostream& os)
const override
;
386
387
// Fields
392
void
SetHopCount
(uint8_t count)
393
{
394
m_hopCount
= count;
395
}
396
401
uint8_t
GetHopCount
()
const
402
{
403
return
m_hopCount
;
404
}
405
410
void
SetDst
(
Ipv4Address
a)
411
{
412
m_dst
= a;
413
}
414
419
Ipv4Address
GetDst
()
const
420
{
421
return
m_dst
;
422
}
423
428
void
SetDstSeqno
(uint32_t s)
429
{
430
m_dstSeqNo
= s;
431
}
432
437
uint32_t
GetDstSeqno
()
const
438
{
439
return
m_dstSeqNo
;
440
}
441
446
void
SetOrigin
(
Ipv4Address
a)
447
{
448
m_origin
= a;
449
}
450
455
Ipv4Address
GetOrigin
()
const
456
{
457
return
m_origin
;
458
}
459
464
void
SetLifeTime
(
Time
t);
469
Time
GetLifeTime
()
const
;
470
471
// Flags
476
void
SetAckRequired
(
bool
f
);
481
bool
GetAckRequired
()
const
;
486
void
SetPrefixSize
(uint8_t sz);
491
uint8_t
GetPrefixSize
()
const
;
492
500
void
SetHello
(
Ipv4Address
src, uint32_t srcSeqNo,
Time
lifetime);
501
507
bool
operator==
(
const
RrepHeader
& o)
const
;
508
509
private
:
510
uint8_t
m_flags
;
511
uint8_t
m_prefixSize
;
512
uint8_t
m_hopCount
;
513
Ipv4Address
m_dst
;
514
uint32_t
m_dstSeqNo
;
515
Ipv4Address
m_origin
;
516
uint32_t
m_lifeTime
;
517
};
518
524
std::ostream&
operator<<
(std::ostream& os,
const
RrepHeader
&);
525
537
class
RrepAckHeader
:
public
Header
538
{
539
public
:
541
RrepAckHeader
();
542
547
static
TypeId
GetTypeId
();
548
TypeId
GetInstanceTypeId
()
const override
;
549
uint32_t
GetSerializedSize
()
const override
;
550
void
Serialize
(
Buffer::Iterator
start
)
const override
;
551
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
552
void
Print
(std::ostream& os)
const override
;
553
559
bool
operator==
(
const
RrepAckHeader
& o)
const
;
560
561
private
:
562
uint8_t
m_reserved
;
563
};
564
570
std::ostream&
operator<<
(std::ostream& os,
const
RrepAckHeader
&);
571
591
class
RerrHeader
:
public
Header
592
{
593
public
:
595
RerrHeader
();
596
601
static
TypeId
GetTypeId
();
602
TypeId
GetInstanceTypeId
()
const override
;
603
uint32_t
GetSerializedSize
()
const override
;
604
void
Serialize
(
Buffer::Iterator
i)
const override
;
605
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
606
void
Print
(std::ostream& os)
const override
;
607
608
// No delete flag
613
void
SetNoDelete
(
bool
f
);
618
bool
GetNoDelete
()
const
;
619
626
bool
AddUnDestination
(
Ipv4Address
dst, uint32_t seqNo);
633
bool
RemoveUnDestination
(std::pair<Ipv4Address, uint32_t>& un);
635
void
Clear
();
636
640
uint8_t
GetDestCount
()
const
641
{
642
return
(uint8_t)
m_unreachableDstSeqNo
.size();
643
}
644
650
bool
operator==
(
const
RerrHeader
& o)
const
;
651
652
private
:
653
uint8_t
m_flag
;
654
uint8_t
m_reserved
;
655
657
std::map<Ipv4Address, uint32_t>
m_unreachableDstSeqNo
;
658
};
659
665
std::ostream&
operator<<
(std::ostream& os,
const
RerrHeader
&);
666
667
}
// namespace aodv
668
}
// namespace ns3
669
670
#endif
/* AODVPACKET_H */
f
double f(double x, void *params)
Definition:
80211b.c:70
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:44
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::Ipv4Address
Ipv4 addresses are stored in host order in this class.
Definition:
ipv4-address.h:42
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:105
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::aodv::RerrHeader
Route Error (RERR) Message Format.
Definition:
aodv-packet.h:592
ns3::aodv::RerrHeader::GetDestCount
uint8_t GetDestCount() const
Definition:
aodv-packet.h:640
ns3::aodv::RerrHeader::Clear
void Clear()
Clear header.
Definition:
aodv-packet.cc:643
ns3::aodv::RerrHeader::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
aodv-packet.cc:530
ns3::aodv::RerrHeader::m_reserved
uint8_t m_reserved
Not used (must be 0)
Definition:
aodv-packet.h:654
ns3::aodv::RerrHeader::GetNoDelete
bool GetNoDelete() const
Get the no delete flag.
Definition:
aodv-packet.cc:611
ns3::aodv::RerrHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
aodv-packet.cc:546
ns3::aodv::RerrHeader::RerrHeader
RerrHeader()
constructor
Definition:
aodv-packet.cc:521
ns3::aodv::RerrHeader::m_flag
uint8_t m_flag
No delete flag.
Definition:
aodv-packet.h:653
ns3::aodv::RerrHeader::operator==
bool operator==(const RerrHeader &o) const
Comparison operator.
Definition:
aodv-packet.cc:651
ns3::aodv::RerrHeader::Serialize
void Serialize(Buffer::Iterator i) const override
Definition:
aodv-packet.cc:552
ns3::aodv::RerrHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
aodv-packet.cc:540
ns3::aodv::RerrHeader::SetNoDelete
void SetNoDelete(bool f)
Set the no delete flag.
Definition:
aodv-packet.cc:598
ns3::aodv::RerrHeader::AddUnDestination
bool AddUnDestination(Ipv4Address dst, uint32_t seqNo)
Add unreachable node address and its sequence number in RERR header.
Definition:
aodv-packet.cc:617
ns3::aodv::RerrHeader::m_unreachableDstSeqNo
std::map< Ipv4Address, uint32_t > m_unreachableDstSeqNo
List of Unreachable destination: IP addresses and sequence numbers.
Definition:
aodv-packet.h:657
ns3::aodv::RerrHeader::Print
void Print(std::ostream &os) const override
Definition:
aodv-packet.cc:587
ns3::aodv::RerrHeader::RemoveUnDestination
bool RemoveUnDestination(std::pair< Ipv4Address, uint32_t > &un)
Delete pair (address + sequence number) from REER header, if the number of unreachable destinations >...
Definition:
aodv-packet.cc:630
ns3::aodv::RrepAckHeader
Route Reply Acknowledgment (RREP-ACK) Message Format.
Definition:
aodv-packet.h:538
ns3::aodv::RrepAckHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
aodv-packet.cc:473
ns3::aodv::RrepAckHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
aodv-packet.cc:485
ns3::aodv::RrepAckHeader::Print
void Print(std::ostream &os) const override
Definition:
aodv-packet.cc:501
ns3::aodv::RrepAckHeader::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
aodv-packet.cc:463
ns3::aodv::RrepAckHeader::operator==
bool operator==(const RrepAckHeader &o) const
Comparison operator.
Definition:
aodv-packet.cc:506
ns3::aodv::RrepAckHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
aodv-packet.cc:479
ns3::aodv::RrepAckHeader::RrepAckHeader
RrepAckHeader()
constructor
Definition:
aodv-packet.cc:455
ns3::aodv::RrepAckHeader::m_reserved
uint8_t m_reserved
Not used (must be 0)
Definition:
aodv-packet.h:562
ns3::aodv::RrepHeader
Route Reply (RREP) Message Format.
Definition:
aodv-packet.h:358
ns3::aodv::RrepHeader::GetAckRequired
bool GetAckRequired() const
get the ack required flag
Definition:
aodv-packet.cc:407
ns3::aodv::RrepHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
aodv-packet.cc:327
ns3::aodv::RrepHeader::GetPrefixSize
uint8_t GetPrefixSize() const
Set the prefix size.
Definition:
aodv-packet.cc:419
ns3::aodv::RrepHeader::Print
void Print(std::ostream &os) const override
Definition:
aodv-packet.cc:369
ns3::aodv::RrepHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
aodv-packet.cc:339
ns3::aodv::RrepHeader::SetDstSeqno
void SetDstSeqno(uint32_t s)
Set the destination sequence number.
Definition:
aodv-packet.h:428
ns3::aodv::RrepHeader::GetOrigin
Ipv4Address GetOrigin() const
Get the origin address.
Definition:
aodv-packet.h:455
ns3::aodv::RrepHeader::SetHello
void SetHello(Ipv4Address src, uint32_t srcSeqNo, Time lifetime)
Configure RREP to be a Hello message.
Definition:
aodv-packet.cc:433
ns3::aodv::RrepHeader::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
aodv-packet.cc:317
ns3::aodv::RrepHeader::GetHopCount
uint8_t GetHopCount() const
Get the hop count.
Definition:
aodv-packet.h:401
ns3::aodv::RrepHeader::SetOrigin
void SetOrigin(Ipv4Address a)
Set the origin address.
Definition:
aodv-packet.h:446
ns3::aodv::RrepHeader::SetHopCount
void SetHopCount(uint8_t count)
Set the hop count.
Definition:
aodv-packet.h:392
ns3::aodv::RrepHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
aodv-packet.cc:333
ns3::aodv::RrepHeader::m_dstSeqNo
uint32_t m_dstSeqNo
Destination Sequence Number.
Definition:
aodv-packet.h:514
ns3::aodv::RrepHeader::SetLifeTime
void SetLifeTime(Time t)
Set the lifetime.
Definition:
aodv-packet.cc:381
ns3::aodv::RrepHeader::SetAckRequired
void SetAckRequired(bool f)
Set the ack required flag.
Definition:
aodv-packet.cc:394
ns3::aodv::RrepHeader::SetPrefixSize
void SetPrefixSize(uint8_t sz)
Set the prefix size.
Definition:
aodv-packet.cc:413
ns3::aodv::RrepHeader::RrepHeader
RrepHeader(uint8_t prefixSize=0, uint8_t hopCount=0, Ipv4Address dst=Ipv4Address(), uint32_t dstSeqNo=0, Ipv4Address origin=Ipv4Address(), Time lifetime=MilliSeconds(0))
constructor
Definition:
aodv-packet.cc:298
ns3::aodv::RrepHeader::GetLifeTime
Time GetLifeTime() const
Get the lifetime.
Definition:
aodv-packet.cc:387
ns3::aodv::RrepHeader::SetDst
void SetDst(Ipv4Address a)
Set the destination address.
Definition:
aodv-packet.h:410
ns3::aodv::RrepHeader::m_dst
Ipv4Address m_dst
Destination IP Address.
Definition:
aodv-packet.h:513
ns3::aodv::RrepHeader::GetDstSeqno
uint32_t GetDstSeqno() const
Get the destination sequence number.
Definition:
aodv-packet.h:437
ns3::aodv::RrepHeader::m_flags
uint8_t m_flags
A - acknowledgment required flag.
Definition:
aodv-packet.h:510
ns3::aodv::RrepHeader::GetDst
Ipv4Address GetDst() const
Get the destination address.
Definition:
aodv-packet.h:419
ns3::aodv::RrepHeader::m_hopCount
uint8_t m_hopCount
Hop Count.
Definition:
aodv-packet.h:512
ns3::aodv::RrepHeader::m_prefixSize
uint8_t m_prefixSize
Prefix Size.
Definition:
aodv-packet.h:511
ns3::aodv::RrepHeader::operator==
bool operator==(const RrepHeader &o) const
Comparison operator.
Definition:
aodv-packet.cc:425
ns3::aodv::RrepHeader::m_origin
Ipv4Address m_origin
Source IP Address.
Definition:
aodv-packet.h:515
ns3::aodv::RrepHeader::m_lifeTime
uint32_t m_lifeTime
Lifetime (in milliseconds)
Definition:
aodv-packet.h:516
ns3::aodv::RreqHeader
Route Request (RREQ) Message Format.
Definition:
aodv-packet.h:138
ns3::aodv::RreqHeader::GetId
uint32_t GetId() const
Get the request ID.
Definition:
aodv-packet.h:204
ns3::aodv::RreqHeader::SetDst
void SetDst(Ipv4Address a)
Set the destination address.
Definition:
aodv-packet.h:213
ns3::aodv::RreqHeader::GetHopCount
uint8_t GetHopCount() const
Get the hop count.
Definition:
aodv-packet.h:186
ns3::aodv::RreqHeader::GetUnknownSeqno
bool GetUnknownSeqno() const
Get the unknown sequence number flag.
Definition:
aodv-packet.cc:281
ns3::aodv::RreqHeader::m_originSeqNo
uint32_t m_originSeqNo
Source Sequence Number.
Definition:
aodv-packet.h:328
ns3::aodv::RreqHeader::SetId
void SetId(uint32_t id)
Set the request ID.
Definition:
aodv-packet.h:195
ns3::aodv::RreqHeader::GetOriginSeqno
uint32_t GetOriginSeqno() const
Get the origin sequence number.
Definition:
aodv-packet.h:276
ns3::aodv::RreqHeader::RreqHeader
RreqHeader(uint8_t flags=0, uint8_t reserved=0, uint8_t hopCount=0, uint32_t requestID=0, Ipv4Address dst=Ipv4Address(), uint32_t dstSeqNo=0, Ipv4Address origin=Ipv4Address(), uint32_t originSeqNo=0)
constructor
Definition:
aodv-packet.cc:138
ns3::aodv::RreqHeader::m_hopCount
uint8_t m_hopCount
Hop Count.
Definition:
aodv-packet.h:323
ns3::aodv::RreqHeader::SetUnknownSeqno
void SetUnknownSeqno(bool f)
Set the unknown sequence number flag.
Definition:
aodv-packet.cc:268
ns3::aodv::RreqHeader::GetOrigin
Ipv4Address GetOrigin() const
Get the origin address.
Definition:
aodv-packet.h:258
ns3::aodv::RreqHeader::SetGratuitousRrep
void SetGratuitousRrep(bool f)
Set the gratuitous RREP flag.
Definition:
aodv-packet.cc:230
ns3::aodv::RreqHeader::SetDestinationOnly
void SetDestinationOnly(bool f)
Set the Destination only flag.
Definition:
aodv-packet.cc:249
ns3::aodv::RreqHeader::m_origin
Ipv4Address m_origin
Originator IP Address.
Definition:
aodv-packet.h:327
ns3::aodv::RreqHeader::GetDestinationOnly
bool GetDestinationOnly() const
Get the Destination only flag.
Definition:
aodv-packet.cc:262
ns3::aodv::RreqHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
aodv-packet.cc:176
ns3::aodv::RreqHeader::m_dst
Ipv4Address m_dst
Destination IP Address.
Definition:
aodv-packet.h:325
ns3::aodv::RreqHeader::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
aodv-packet.cc:160
ns3::aodv::RreqHeader::m_requestID
uint32_t m_requestID
RREQ ID.
Definition:
aodv-packet.h:324
ns3::aodv::RreqHeader::SetHopCount
void SetHopCount(uint8_t count)
Set the hop count.
Definition:
aodv-packet.h:177
ns3::aodv::RreqHeader::SetDstSeqno
void SetDstSeqno(uint32_t s)
Set the destination sequence number.
Definition:
aodv-packet.h:231
ns3::aodv::RreqHeader::Print
void Print(std::ostream &os) const override
Definition:
aodv-packet.cc:213
ns3::aodv::RreqHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
aodv-packet.cc:170
ns3::aodv::RreqHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
aodv-packet.cc:182
ns3::aodv::RreqHeader::m_reserved
uint8_t m_reserved
Not used (must be 0)
Definition:
aodv-packet.h:322
ns3::aodv::RreqHeader::GetDstSeqno
uint32_t GetDstSeqno() const
Get the destination sequence number.
Definition:
aodv-packet.h:240
ns3::aodv::RreqHeader::GetDst
Ipv4Address GetDst() const
Get the destination address.
Definition:
aodv-packet.h:222
ns3::aodv::RreqHeader::SetOriginSeqno
void SetOriginSeqno(uint32_t s)
Set the origin sequence number.
Definition:
aodv-packet.h:267
ns3::aodv::RreqHeader::GetGratuitousRrep
bool GetGratuitousRrep() const
Get the gratuitous RREP flag.
Definition:
aodv-packet.cc:243
ns3::aodv::RreqHeader::m_dstSeqNo
uint32_t m_dstSeqNo
Destination Sequence Number.
Definition:
aodv-packet.h:326
ns3::aodv::RreqHeader::operator==
bool operator==(const RreqHeader &o) const
Comparison operator.
Definition:
aodv-packet.cc:287
ns3::aodv::RreqHeader::m_flags
uint8_t m_flags
|J|R|G|D|U| bit flags, see RFC
Definition:
aodv-packet.h:321
ns3::aodv::RreqHeader::SetOrigin
void SetOrigin(Ipv4Address a)
Set the origin address.
Definition:
aodv-packet.h:249
ns3::aodv::TypeHeader
AODV types.
Definition:
aodv-packet.h:60
ns3::aodv::TypeHeader::TypeHeader
TypeHeader(MessageType t=AODVTYPE_RREQ)
constructor
Definition:
aodv-packet.cc:39
ns3::aodv::TypeHeader::operator==
bool operator==(const TypeHeader &o) const
Comparison operator.
Definition:
aodv-packet.cc:123
ns3::aodv::TypeHeader::Print
void Print(std::ostream &os) const override
Definition:
aodv-packet.cc:97
ns3::aodv::TypeHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
aodv-packet.cc:56
ns3::aodv::TypeHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
aodv-packet.cc:68
ns3::aodv::TypeHeader::m_type
MessageType m_type
type of the message
Definition:
aodv-packet.h:104
ns3::aodv::TypeHeader::m_valid
bool m_valid
Indicates if the message is valid.
Definition:
aodv-packet.h:105
ns3::aodv::TypeHeader::IsValid
bool IsValid() const
Check that type if valid.
Definition:
aodv-packet.h:91
ns3::aodv::TypeHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
aodv-packet.cc:62
ns3::aodv::TypeHeader::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
aodv-packet.cc:46
ns3::aodv::TypeHeader::Get
MessageType Get() const
Definition:
aodv-packet.h:82
ns3::aodv::MessageType
MessageType
MessageType enumeration.
Definition:
aodv-packet.h:48
ns3::aodv::AODVTYPE_RREP
@ AODVTYPE_RREP
AODVTYPE_RREP.
Definition:
aodv-packet.h:50
ns3::aodv::AODVTYPE_RREP_ACK
@ AODVTYPE_RREP_ACK
AODVTYPE_RREP_ACK.
Definition:
aodv-packet.h:52
ns3::aodv::AODVTYPE_RERR
@ AODVTYPE_RERR
AODVTYPE_RERR.
Definition:
aodv-packet.h:51
ns3::aodv::AODVTYPE_RREQ
@ AODVTYPE_RREQ
AODVTYPE_RREQ.
Definition:
aodv-packet.h:49
ns3::MilliSeconds
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
Definition:
nstime.h:1338
ns3::aodv::operator<<
std::ostream & operator<<(std::ostream &os, const TypeHeader &h)
Stream output operator.
Definition:
aodv-packet.cc:129
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
two-ray-to-three-gpp-ch-calibration.start
start
Definition:
two-ray-to-three-gpp-ch-calibration.py:520
src
aodv
model
aodv-packet.h
Generated on Sun Mar 3 2024 17:10:53 for ns-3 by
1.9.1