A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
olsr-header-test-suite.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2007 INESC Porto
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
* Author: Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
18
*/
19
20
#include "ns3/olsr-header.h"
21
#include "ns3/packet.h"
22
#include "ns3/test.h"
23
24
using namespace
ns3
;
25
32
class
OlsrEmfTestCase
:
public
TestCase
33
{
34
public
:
35
OlsrEmfTestCase
();
36
void
DoRun
()
override
;
37
};
38
39
OlsrEmfTestCase::OlsrEmfTestCase
()
40
:
TestCase
(
"Check Emf olsr time conversion"
)
41
{
42
}
43
44
void
45
OlsrEmfTestCase::DoRun
()
46
{
47
for
(
int
time = 1; time <= 30; time++)
48
{
49
uint8_t emf = olsr::SecondsToEmf(time);
50
double
seconds = olsr::EmfToSeconds(emf);
51
NS_TEST_ASSERT_MSG_EQ
((seconds < 0 || std::fabs(seconds - time) > 0.1),
false
,
"100"
);
52
}
53
}
54
61
class
OlsrMidTestCase
:
public
TestCase
62
{
63
public
:
64
OlsrMidTestCase
();
65
void
DoRun
()
override
;
66
};
67
68
OlsrMidTestCase::OlsrMidTestCase
()
69
:
TestCase
(
"Check Mid olsr messages"
)
70
{
71
}
72
73
void
74
OlsrMidTestCase::DoRun
()
75
{
76
Packet
packet;
77
78
{
79
olsr::PacketHeader
hdr;
80
olsr::MessageHeader
msg1;
81
olsr::MessageHeader::Mid
& mid1 = msg1.
GetMid
();
82
olsr::MessageHeader
msg2;
83
olsr::MessageHeader::Mid
& mid2 = msg2.
GetMid
();
84
85
// MID message #1
86
{
87
std::vector<Ipv4Address>& addresses = mid1.
interfaceAddresses
;
88
addresses.clear();
89
addresses.emplace_back(
"1.2.3.4"
);
90
addresses.emplace_back(
"1.2.3.5"
);
91
}
92
93
msg1.
SetTimeToLive
(255);
94
msg1.
SetOriginatorAddress
(
Ipv4Address
(
"11.22.33.44"
));
95
msg1.
SetVTime
(
Seconds
(9));
96
msg1.
SetMessageSequenceNumber
(7);
97
98
// MID message #2
99
{
100
std::vector<Ipv4Address>& addresses = mid2.
interfaceAddresses
;
101
addresses.clear();
102
addresses.emplace_back(
"2.2.3.4"
);
103
addresses.emplace_back(
"2.2.3.5"
);
104
}
105
106
msg2.
SetTimeToLive
(254);
107
msg2.
SetOriginatorAddress
(
Ipv4Address
(
"12.22.33.44"
));
108
msg2.
SetVTime
(
Seconds
(10));
109
msg2.
SetMessageType
(
olsr::MessageHeader::MID_MESSAGE
);
110
msg2.
SetMessageSequenceNumber
(7);
111
112
// Build an OLSR packet header
113
hdr.
SetPacketLength
(hdr.
GetSerializedSize
() + msg1.
GetSerializedSize
() +
114
msg2.
GetSerializedSize
());
115
hdr.
SetPacketSequenceNumber
(123);
116
117
// Now add all the headers in the correct order
118
packet.
AddHeader
(msg2);
119
packet.
AddHeader
(msg1);
120
packet.
AddHeader
(hdr);
121
}
122
123
{
124
olsr::PacketHeader
hdr;
125
packet.
RemoveHeader
(hdr);
126
NS_TEST_ASSERT_MSG_EQ
(hdr.
GetPacketSequenceNumber
(), 123,
"200"
);
127
uint32_t
sizeLeft = hdr.
GetPacketLength
() - hdr.
GetSerializedSize
();
128
{
129
olsr::MessageHeader
msg1;
130
131
packet.
RemoveHeader
(msg1);
132
133
NS_TEST_ASSERT_MSG_EQ
(msg1.
GetTimeToLive
(), 255,
"201"
);
134
NS_TEST_ASSERT_MSG_EQ
(msg1.
GetOriginatorAddress
(),
Ipv4Address
(
"11.22.33.44"
),
"202"
);
135
NS_TEST_ASSERT_MSG_EQ
(msg1.
GetVTime
(),
Seconds
(9),
"203"
);
136
NS_TEST_ASSERT_MSG_EQ
(msg1.
GetMessageType
(),
olsr::MessageHeader::MID_MESSAGE
,
"204"
);
137
NS_TEST_ASSERT_MSG_EQ
(msg1.
GetMessageSequenceNumber
(), 7,
"205"
);
138
139
olsr::MessageHeader::Mid
& mid1 = msg1.
GetMid
();
140
NS_TEST_ASSERT_MSG_EQ
(mid1.
interfaceAddresses
.size(), 2,
"206"
);
141
NS_TEST_ASSERT_MSG_EQ
(*mid1.
interfaceAddresses
.begin(),
Ipv4Address
(
"1.2.3.4"
),
"207"
);
142
143
sizeLeft -= msg1.
GetSerializedSize
();
144
NS_TEST_ASSERT_MSG_EQ
((sizeLeft > 0),
true
,
"208"
);
145
}
146
{
147
// now read the second message
148
olsr::MessageHeader
msg2;
149
150
packet.
RemoveHeader
(msg2);
151
152
NS_TEST_ASSERT_MSG_EQ
(msg2.
GetTimeToLive
(), 254,
"209"
);
153
NS_TEST_ASSERT_MSG_EQ
(msg2.
GetOriginatorAddress
(),
Ipv4Address
(
"12.22.33.44"
),
"210"
);
154
NS_TEST_ASSERT_MSG_EQ
(msg2.
GetVTime
(),
Seconds
(10),
"211"
);
155
NS_TEST_ASSERT_MSG_EQ
(msg2.
GetMessageType
(),
olsr::MessageHeader::MID_MESSAGE
,
"212"
);
156
NS_TEST_ASSERT_MSG_EQ
(msg2.
GetMessageSequenceNumber
(), 7,
"213"
);
157
158
olsr::MessageHeader::Mid
mid2 = msg2.
GetMid
();
159
NS_TEST_ASSERT_MSG_EQ
(mid2.
interfaceAddresses
.size(), 2,
"214"
);
160
NS_TEST_ASSERT_MSG_EQ
(*mid2.
interfaceAddresses
.begin(),
Ipv4Address
(
"2.2.3.4"
),
"215"
);
161
162
sizeLeft -= msg2.
GetSerializedSize
();
163
NS_TEST_ASSERT_MSG_EQ
(sizeLeft, 0,
"216"
);
164
}
165
}
166
}
167
174
class
OlsrHelloTestCase
:
public
TestCase
175
{
176
public
:
177
OlsrHelloTestCase
();
178
void
DoRun
()
override
;
179
};
180
181
OlsrHelloTestCase::OlsrHelloTestCase
()
182
:
TestCase
(
"Check Hello olsr messages"
)
183
{
184
}
185
186
void
187
OlsrHelloTestCase::DoRun
()
188
{
189
Packet
packet;
190
olsr::MessageHeader
msgIn;
191
olsr::MessageHeader::Hello
& helloIn = msgIn.
GetHello
();
192
193
helloIn.
SetHTime
(
Seconds
(7));
194
helloIn.
willingness
= 66;
195
196
{
197
olsr::MessageHeader::Hello::LinkMessage
lm1;
198
lm1.
linkCode
= 2;
199
lm1.
neighborInterfaceAddresses
.emplace_back(
"1.2.3.4"
);
200
lm1.
neighborInterfaceAddresses
.emplace_back(
"1.2.3.5"
);
201
helloIn.
linkMessages
.push_back(lm1);
202
203
olsr::MessageHeader::Hello::LinkMessage
lm2;
204
lm2.
linkCode
= 3;
205
lm2.
neighborInterfaceAddresses
.emplace_back(
"2.2.3.4"
);
206
lm2.
neighborInterfaceAddresses
.emplace_back(
"2.2.3.5"
);
207
helloIn.
linkMessages
.push_back(lm2);
208
}
209
210
packet.
AddHeader
(msgIn);
211
212
olsr::MessageHeader
msgOut;
213
packet.
RemoveHeader
(msgOut);
214
olsr::MessageHeader::Hello
& helloOut = msgOut.
GetHello
();
215
216
NS_TEST_ASSERT_MSG_EQ
(helloOut.
GetHTime
(),
Seconds
(7),
"300"
);
217
NS_TEST_ASSERT_MSG_EQ
(helloOut.
willingness
, 66,
"301"
);
218
NS_TEST_ASSERT_MSG_EQ
(helloOut.
linkMessages
.size(), 2,
"302"
);
219
220
NS_TEST_ASSERT_MSG_EQ
(helloOut.
linkMessages
[0].linkCode, 2,
"303"
);
221
NS_TEST_ASSERT_MSG_EQ
(helloOut.
linkMessages
[0].neighborInterfaceAddresses[0],
222
Ipv4Address
(
"1.2.3.4"
),
223
"304"
);
224
NS_TEST_ASSERT_MSG_EQ
(helloOut.
linkMessages
[0].neighborInterfaceAddresses[1],
225
Ipv4Address
(
"1.2.3.5"
),
226
"305"
);
227
228
NS_TEST_ASSERT_MSG_EQ
(helloOut.
linkMessages
[1].linkCode, 3,
"306"
);
229
NS_TEST_ASSERT_MSG_EQ
(helloOut.
linkMessages
[1].neighborInterfaceAddresses[0],
230
Ipv4Address
(
"2.2.3.4"
),
231
"307"
);
232
NS_TEST_ASSERT_MSG_EQ
(helloOut.
linkMessages
[1].neighborInterfaceAddresses[1],
233
Ipv4Address
(
"2.2.3.5"
),
234
"308"
);
235
236
NS_TEST_ASSERT_MSG_EQ
(packet.
GetSize
(), 0,
"All bytes in packet were not read"
);
237
}
238
245
class
OlsrTcTestCase
:
public
TestCase
246
{
247
public
:
248
OlsrTcTestCase
();
249
void
DoRun
()
override
;
250
};
251
252
OlsrTcTestCase::OlsrTcTestCase
()
253
:
TestCase
(
"Check Tc olsr messages"
)
254
{
255
}
256
257
void
258
OlsrTcTestCase::DoRun
()
259
{
260
Packet
packet;
261
olsr::MessageHeader
msgIn;
262
olsr::MessageHeader::Tc
& tcIn = msgIn.
GetTc
();
263
264
tcIn.
ansn
= 0x1234;
265
tcIn.
neighborAddresses
.emplace_back(
"1.2.3.4"
);
266
tcIn.
neighborAddresses
.emplace_back(
"1.2.3.5"
);
267
packet.
AddHeader
(msgIn);
268
269
olsr::MessageHeader
msgOut;
270
packet.
RemoveHeader
(msgOut);
271
olsr::MessageHeader::Tc
& tcOut = msgOut.
GetTc
();
272
273
NS_TEST_ASSERT_MSG_EQ
(tcOut.
ansn
, 0x1234,
"400"
);
274
NS_TEST_ASSERT_MSG_EQ
(tcOut.
neighborAddresses
.size(), 2,
"401"
);
275
276
NS_TEST_ASSERT_MSG_EQ
(tcOut.
neighborAddresses
[0],
Ipv4Address
(
"1.2.3.4"
),
"402"
);
277
NS_TEST_ASSERT_MSG_EQ
(tcOut.
neighborAddresses
[1],
Ipv4Address
(
"1.2.3.5"
),
"403"
);
278
279
NS_TEST_ASSERT_MSG_EQ
(packet.
GetSize
(), 0,
"404"
);
280
}
281
288
class
OlsrHnaTestCase
:
public
TestCase
289
{
290
public
:
291
OlsrHnaTestCase
();
292
void
DoRun
()
override
;
293
};
294
295
OlsrHnaTestCase::OlsrHnaTestCase
()
296
:
TestCase
(
"Check Hna olsr messages"
)
297
{
298
}
299
300
void
301
OlsrHnaTestCase::DoRun
()
302
{
303
Packet
packet;
304
olsr::MessageHeader
msgIn;
305
olsr::MessageHeader::Hna
& hnaIn = msgIn.
GetHna
();
306
307
hnaIn.
associations
.push_back(
308
(
olsr::MessageHeader::Hna::Association
){
Ipv4Address
(
"1.2.3.4"
),
Ipv4Mask
(
"255.255.255.0"
)});
309
hnaIn.
associations
.push_back(
310
(
olsr::MessageHeader::Hna::Association
){
Ipv4Address
(
"1.2.3.5"
),
Ipv4Mask
(
"255.255.0.0"
)});
311
packet.
AddHeader
(msgIn);
312
313
olsr::MessageHeader
msgOut;
314
packet.
RemoveHeader
(msgOut);
315
olsr::MessageHeader::Hna
& hnaOut = msgOut.
GetHna
();
316
317
NS_TEST_ASSERT_MSG_EQ
(hnaOut.
associations
.size(), 2,
"500"
);
318
319
NS_TEST_ASSERT_MSG_EQ
(hnaOut.
associations
[0].address,
Ipv4Address
(
"1.2.3.4"
),
"501"
);
320
NS_TEST_ASSERT_MSG_EQ
(hnaOut.
associations
[0].mask,
Ipv4Mask
(
"255.255.255.0"
),
"502"
);
321
322
NS_TEST_ASSERT_MSG_EQ
(hnaOut.
associations
[1].address,
Ipv4Address
(
"1.2.3.5"
),
"503"
);
323
NS_TEST_ASSERT_MSG_EQ
(hnaOut.
associations
[1].mask,
Ipv4Mask
(
"255.255.0.0"
),
"504"
);
324
325
NS_TEST_ASSERT_MSG_EQ
(packet.
GetSize
(), 0,
"All bytes in packet were not read"
);
326
}
327
334
class
OlsrTestSuite
:
public
TestSuite
335
{
336
public
:
337
OlsrTestSuite
();
338
};
339
340
OlsrTestSuite::OlsrTestSuite
()
341
:
TestSuite
(
"routing-olsr-header"
, UNIT)
342
{
343
AddTestCase
(
new
OlsrHnaTestCase
(),
TestCase::QUICK
);
344
AddTestCase
(
new
OlsrTcTestCase
(),
TestCase::QUICK
);
345
AddTestCase
(
new
OlsrHelloTestCase
(),
TestCase::QUICK
);
346
AddTestCase
(
new
OlsrMidTestCase
(),
TestCase::QUICK
);
347
AddTestCase
(
new
OlsrEmfTestCase
(),
TestCase::QUICK
);
348
}
349
350
static
OlsrTestSuite
g_olsrTestSuite
;
OlsrEmfTestCase
Check Emf olsr time conversion.
Definition:
olsr-header-test-suite.cc:33
OlsrEmfTestCase::OlsrEmfTestCase
OlsrEmfTestCase()
Definition:
olsr-header-test-suite.cc:39
OlsrEmfTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition:
olsr-header-test-suite.cc:45
OlsrHelloTestCase
Check Hello olsr messages.
Definition:
olsr-header-test-suite.cc:175
OlsrHelloTestCase::OlsrHelloTestCase
OlsrHelloTestCase()
Definition:
olsr-header-test-suite.cc:181
OlsrHelloTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition:
olsr-header-test-suite.cc:187
OlsrHnaTestCase
Check Hna olsr messages.
Definition:
olsr-header-test-suite.cc:289
OlsrHnaTestCase::OlsrHnaTestCase
OlsrHnaTestCase()
Definition:
olsr-header-test-suite.cc:295
OlsrHnaTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition:
olsr-header-test-suite.cc:301
OlsrMidTestCase
Check Mid olsr messages.
Definition:
olsr-header-test-suite.cc:62
OlsrMidTestCase::OlsrMidTestCase
OlsrMidTestCase()
Definition:
olsr-header-test-suite.cc:68
OlsrMidTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition:
olsr-header-test-suite.cc:74
OlsrTcTestCase
Check Tc olsr messages.
Definition:
olsr-header-test-suite.cc:246
OlsrTcTestCase::OlsrTcTestCase
OlsrTcTestCase()
Definition:
olsr-header-test-suite.cc:252
OlsrTcTestCase::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition:
olsr-header-test-suite.cc:258
OlsrTestSuite
Check olsr header messages.
Definition:
olsr-header-test-suite.cc:335
OlsrTestSuite::OlsrTestSuite
OlsrTestSuite()
Definition:
olsr-header-test-suite.cc:340
ns3::Ipv4Address
Ipv4 addresses are stored in host order in this class.
Definition:
ipv4-address.h:43
ns3::Ipv4Mask
a class to represent an Ipv4 address mask
Definition:
ipv4-address.h:258
ns3::Packet
network packets
Definition:
packet.h:241
ns3::Packet::RemoveHeader
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
Definition:
packet.cc:294
ns3::Packet::AddHeader
void AddHeader(const Header &header)
Add header to this packet.
Definition:
packet.cc:268
ns3::Packet::GetSize
uint32_t GetSize() const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
Definition:
packet.h:863
ns3::TestCase
encapsulates test code
Definition:
test.h:1060
ns3::TestCase::QUICK
@ QUICK
Fast test.
Definition:
test.h:1065
ns3::TestCase::AddTestCase
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
Definition:
test.cc:305
ns3::TestSuite
A suite of tests to run.
Definition:
test.h:1256
ns3::olsr::MessageHeader
This header can store HELP, TC, MID and HNA messages.
Definition:
olsr-header.h:159
ns3::olsr::MessageHeader::SetOriginatorAddress
void SetOriginatorAddress(Ipv4Address originatorAddress)
Set the originator address.
Definition:
olsr-header.h:215
ns3::olsr::MessageHeader::GetOriginatorAddress
Ipv4Address GetOriginatorAddress() const
Get the originator address.
Definition:
olsr-header.h:224
ns3::olsr::MessageHeader::GetMid
Mid & GetMid()
Set the message type to MID and return the message content.
Definition:
olsr-header.h:582
ns3::olsr::MessageHeader::GetTc
Tc & GetTc()
Set the message type to TC and return the message content.
Definition:
olsr-header.h:616
ns3::olsr::MessageHeader::GetHello
Hello & GetHello()
Set the message type to HELLO and return the message content.
Definition:
olsr-header.h:599
ns3::olsr::MessageHeader::GetTimeToLive
uint8_t GetTimeToLive() const
Get the time to live.
Definition:
olsr-header.h:242
ns3::olsr::MessageHeader::SetMessageSequenceNumber
void SetMessageSequenceNumber(uint16_t messageSequenceNumber)
Set the message sequence number.
Definition:
olsr-header.h:269
ns3::olsr::MessageHeader::SetMessageType
void SetMessageType(MessageType messageType)
Set the message type.
Definition:
olsr-header.h:179
ns3::olsr::MessageHeader::GetMessageType
MessageType GetMessageType() const
Get the message type.
Definition:
olsr-header.h:188
ns3::olsr::MessageHeader::GetHna
Hna & GetHna()
Set the message type to HNA and return the message content.
Definition:
olsr-header.h:633
ns3::olsr::MessageHeader::GetVTime
Time GetVTime() const
Get the validity time.
Definition:
olsr-header.h:206
ns3::olsr::MessageHeader::SetTimeToLive
void SetTimeToLive(uint8_t timeToLive)
Set the time to live.
Definition:
olsr-header.h:233
ns3::olsr::MessageHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
olsr-header.cc:187
ns3::olsr::MessageHeader::GetMessageSequenceNumber
uint16_t GetMessageSequenceNumber() const
Get the message sequence number.
Definition:
olsr-header.h:278
ns3::olsr::MessageHeader::SetVTime
void SetVTime(Time time)
Set the validity time.
Definition:
olsr-header.h:197
ns3::olsr::MessageHeader::MID_MESSAGE
@ MID_MESSAGE
Definition:
olsr-header.h:168
ns3::olsr::PacketHeader
The basic layout of any packet in OLSR is as follows (omitting IP and UDP headers):
Definition:
olsr-header.h:77
ns3::olsr::PacketHeader::SetPacketSequenceNumber
void SetPacketSequenceNumber(uint16_t seqnum)
Set the packet sequence number.
Definition:
olsr-header.h:104
ns3::olsr::PacketHeader::SetPacketLength
void SetPacketLength(uint16_t length)
Set the packet total length.
Definition:
olsr-header.h:86
ns3::olsr::PacketHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
olsr-header.cc:129
ns3::olsr::PacketHeader::GetPacketLength
uint16_t GetPacketLength() const
Get the packet total length.
Definition:
olsr-header.h:95
ns3::olsr::PacketHeader::GetPacketSequenceNumber
uint16_t GetPacketSequenceNumber() const
Get the packet sequence number.
Definition:
olsr-header.h:113
uint32_t
NS_TEST_ASSERT_MSG_EQ
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
Definition:
test.h:144
ns3::Seconds
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition:
nstime.h:1336
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
g_olsrTestSuite
static OlsrTestSuite g_olsrTestSuite
Static variable for test initialization.
Definition:
olsr-header-test-suite.cc:350
ns3::olsr::MessageHeader::Hello::LinkMessage
Link message item.
Definition:
olsr-header.h:389
ns3::olsr::MessageHeader::Hello::LinkMessage::linkCode
uint8_t linkCode
Link code.
Definition:
olsr-header.h:390
ns3::olsr::MessageHeader::Hello::LinkMessage::neighborInterfaceAddresses
std::vector< Ipv4Address > neighborInterfaceAddresses
Neighbor interface address container.
Definition:
olsr-header.h:392
ns3::olsr::MessageHeader::Hello
HELLO Message Format.
Definition:
olsr-header.h:384
ns3::olsr::MessageHeader::Hello::SetHTime
void SetHTime(Time time)
Set the HELLO emission interval.
Definition:
olsr-header.h:401
ns3::olsr::MessageHeader::Hello::willingness
uint8_t willingness
The willingness of a node to carry and forward traffic for other nodes.
Definition:
olsr-header.h:415
ns3::olsr::MessageHeader::Hello::linkMessages
std::vector< LinkMessage > linkMessages
Link messages container.
Definition:
olsr-header.h:417
ns3::olsr::MessageHeader::Hello::GetHTime
Time GetHTime() const
Get the HELLO emission interval.
Definition:
olsr-header.h:410
ns3::olsr::MessageHeader::Hna::Association
Association item structure.
Definition:
olsr-header.h:528
ns3::olsr::MessageHeader::Hna
HNA (Host Network Association) Message Format.
Definition:
olsr-header.h:523
ns3::olsr::MessageHeader::Hna::associations
std::vector< Association > associations
Association container.
Definition:
olsr-header.h:533
ns3::olsr::MessageHeader::Mid
MID Message Format.
Definition:
olsr-header.h:321
ns3::olsr::MessageHeader::Mid::interfaceAddresses
std::vector< Ipv4Address > interfaceAddresses
Interface Address container.
Definition:
olsr-header.h:322
ns3::olsr::MessageHeader::Tc
TC Message Format.
Definition:
olsr-header.h:468
ns3::olsr::MessageHeader::Tc::ansn
uint16_t ansn
Advertised Neighbor Sequence Number.
Definition:
olsr-header.h:470
ns3::olsr::MessageHeader::Tc::neighborAddresses
std::vector< Ipv4Address > neighborAddresses
Neighbor address container.
Definition:
olsr-header.h:469
src
olsr
test
olsr-header-test-suite.cc
Generated on Fri Apr 21 2023 11:10:13 for ns-3 by
1.9.6