View | Details | Raw Unified | Return to bug 1941
Collapse All | Expand All

(-)a/src/aodv/test/aodv-id-cache-test-suite.cc (-2 / +5 lines)
 Lines 37-47    Link Here 
37
// Tests
37
// Tests
38
//-----------------------------------------------------------------------------
38
//-----------------------------------------------------------------------------
39
/// Unit test for id cache
39
/// Unit test for id cache
40
struct IdCacheTest : public TestCase
40
class IdCacheTest : public TestCase
41
{
41
{
42
public:
42
  IdCacheTest () : TestCase ("Id Cache"), cache (Seconds (10))
43
  IdCacheTest () : TestCase ("Id Cache"), cache (Seconds (10))
43
  {}
44
  {}
44
  virtual void DoRun ();
45
  virtual void DoRun ();
46
47
private:
45
  void CheckTimeout1 ();
48
  void CheckTimeout1 ();
46
  void CheckTimeout2 ();
49
  void CheckTimeout2 ();
47
  void CheckTimeout3 ();
50
  void CheckTimeout3 ();
 Lines 93-99    Link Here 
93
class IdCacheTestSuite : public TestSuite
96
class IdCacheTestSuite : public TestSuite
94
{
97
{
95
public:
98
public:
96
  IdCacheTestSuite () : TestSuite ("routing-id-cache", UNIT)
99
  IdCacheTestSuite () : TestSuite ("aodv-routing-id-cache", UNIT)
97
  {
100
  {
98
    AddTestCase (new IdCacheTest, TestCase::QUICK);
101
    AddTestCase (new IdCacheTest, TestCase::QUICK);
99
  }
102
  }
(-)a/src/aodv/test/aodv-regression.cc (-18 / +45 lines)
 Lines 20-26    Link Here 
20
20
21
#include "aodv-regression.h"
21
#include "aodv-regression.h"
22
#include "bug-772.h"
22
#include "bug-772.h"
23
#include "loopback.h"
24
23
25
#include "ns3/simulator.h"
24
#include "ns3/simulator.h"
26
#include "ns3/mobility-helper.h"
25
#include "ns3/mobility-helper.h"
 Lines 32-50    Link Here 
32
#include "ns3/internet-stack-helper.h"
31
#include "ns3/internet-stack-helper.h"
33
#include "ns3/ipv4-address-helper.h"
32
#include "ns3/ipv4-address-helper.h"
34
#include "ns3/abort.h"
33
#include "ns3/abort.h"
35
#include "ns3/udp-echo-helper.h"
36
#include "ns3/mobility-model.h"
34
#include "ns3/mobility-model.h"
37
#include "ns3/pcap-file.h"
35
#include "ns3/pcap-file.h"
38
#include "ns3/aodv-helper.h"
36
#include "ns3/aodv-helper.h"
39
#include "ns3/v4ping-helper.h"
40
#include "ns3/nqos-wifi-mac-helper.h"
37
#include "ns3/nqos-wifi-mac-helper.h"
41
#include "ns3/config.h"
38
#include "ns3/config.h"
42
#include "ns3/pcap-test.h"
39
#include "ns3/pcap-test.h"
43
#include "ns3/rng-seed-manager.h"
40
#include "ns3/rng-seed-manager.h"
41
#include "ns3/icmpv4.h"
44
#include <sstream>
42
#include <sstream>
45
43
46
using namespace ns3;
44
using namespace ns3;
47
using namespace aodv;
45
// using namespace aodv;
48
//-----------------------------------------------------------------------------
46
//-----------------------------------------------------------------------------
49
// Test suite
47
// Test suite
50
//-----------------------------------------------------------------------------
48
//-----------------------------------------------------------------------------
 Lines 56-72    Link Here 
56
    SetDataDir (NS_TEST_SOURCEDIR);
54
    SetDataDir (NS_TEST_SOURCEDIR);
57
    // General RREQ-RREP-RRER test case
55
    // General RREQ-RREP-RRER test case
58
    AddTestCase (new ChainRegressionTest ("aodv-chain-regression-test"), TestCase::QUICK);
56
    AddTestCase (new ChainRegressionTest ("aodv-chain-regression-test"), TestCase::QUICK);
59
    /// \internal
57
    // \bugid{606} test case, should crash if bug is not fixed
60
    /// \bugid{606} test case, should crash if bug is not fixed
61
    AddTestCase (new ChainRegressionTest ("bug-606-test", Seconds (10), 3, Seconds (1)), TestCase::QUICK);
58
    AddTestCase (new ChainRegressionTest ("bug-606-test", Seconds (10), 3, Seconds (1)), TestCase::QUICK);
62
    /// \internal
59
    // \bugid{772} UDP test case
63
    /// \bugid{772} UDP test case
64
    AddTestCase (new Bug772ChainTest ("udp-chain-test", "ns3::UdpSocketFactory", Seconds (3), 10), TestCase::QUICK);
60
    AddTestCase (new Bug772ChainTest ("udp-chain-test", "ns3::UdpSocketFactory", Seconds (3), 10), TestCase::QUICK);
65
    /// \internal
61
    // \bugid{772} TCP test case
66
    /// \bugid{772} TCP test case
67
    AddTestCase (new Bug772ChainTest ("tcp-chain-test", "ns3::TcpSocketFactory", Seconds (3), 10), TestCase::QUICK);
62
    AddTestCase (new Bug772ChainTest ("tcp-chain-test", "ns3::TcpSocketFactory", Seconds (3), 10), TestCase::QUICK);
68
    // Ping loopback test case
69
    AddTestCase (new LoopbackTestCase (), TestCase::QUICK);
70
  }
63
  }
71
} g_aodvRegressionTestSuite;
64
} g_aodvRegressionTestSuite;
72
 
65
 
 Lines 81-87    Link Here 
81
  m_time (t),
74
  m_time (t),
82
  m_size (size),
75
  m_size (size),
83
  m_step (120),
76
  m_step (120),
84
  m_arpAliveTimeout (arpAliveTimeout)
77
  m_arpAliveTimeout (arpAliveTimeout),
78
  m_seq (0)
85
{
79
{
86
}
80
}
87
81
 Lines 91-96    Link Here 
91
}
85
}
92
86
93
void
87
void
88
ChainRegressionTest::SendPing ()
89
{
90
  if (Simulator::Now () >= m_time)
91
    {
92
      return;
93
    }
94
95
  Ptr<Packet> p = Create<Packet> ();
96
  Icmpv4Echo echo;
97
  echo.SetSequenceNumber (m_seq);
98
  m_seq++;
99
  echo.SetIdentifier (0);
100
101
  Ptr<Packet> dataPacket = Create<Packet> (56);
102
  echo.SetData (dataPacket);
103
  p->AddHeader (echo);
104
  Icmpv4Header header;
105
  header.SetType (Icmpv4Header::ECHO);
106
  header.SetCode (0);
107
  if (Node::ChecksumEnabled ())
108
    {
109
      header.EnableChecksum ();
110
    }
111
  p->AddHeader (header);
112
  m_socket->Send (p, 0);
113
  Simulator::Schedule (Seconds (1), &ChainRegressionTest::SendPing, this);
114
}
115
116
void
94
ChainRegressionTest::DoRun ()
117
ChainRegressionTest::DoRun ()
95
{
118
{
96
  RngSeedManager::SetSeed (12345);
119
  RngSeedManager::SetSeed (12345);
 Lines 173-183    Link Here 
173
  Ipv4InterfaceContainer interfaces = address.Assign (devices);
196
  Ipv4InterfaceContainer interfaces = address.Assign (devices);
174
197
175
  // 3. Setup ping
198
  // 3. Setup ping
176
  V4PingHelper ping (interfaces.GetAddress (m_size - 1));
199
  m_socket = Socket::CreateSocket (m_nodes->Get (0), TypeId::LookupByName ("ns3::Ipv4RawSocketFactory"));
177
  ping.SetAttribute ("Verbose", BooleanValue (false)); // don't need verbose ping in regression test
200
  m_socket->SetAttribute ("Protocol", UintegerValue (1)); // icmp
178
  ApplicationContainer p = ping.Install (m_nodes->Get (0));
201
  // m_socket->SetRecvCallback (MakeCallback (&V4Ping::Receive, this));
179
  p.Start (Seconds (0));
202
  InetSocketAddress src = InetSocketAddress (Ipv4Address::GetAny (), 0);
180
  p.Stop (m_time);
203
  m_socket->Bind (src);
204
  InetSocketAddress dst = InetSocketAddress (interfaces.GetAddress (m_size - 1), 0);
205
  m_socket->Connect (dst);
206
207
  SendPing ();
181
208
182
  // 4. write PCAP
209
  // 4. write PCAP
183
  wifiPhy.EnablePcapAll (CreateTempDirFilename (m_prefix));
210
  wifiPhy.EnablePcapAll (CreateTempDirFilename (m_prefix));
(-)a/src/aodv/test/aodv-regression.h (+7 lines)
 Lines 23-28    Link Here 
23
23
24
#include "ns3/test.h"
24
#include "ns3/test.h"
25
#include "ns3/nstime.h"
25
#include "ns3/nstime.h"
26
#include "ns3/socket.h"
26
#include "ns3/node-container.h"
27
#include "ns3/node-container.h"
27
28
28
using namespace ns3;
29
using namespace ns3;
 Lines 177-182    Link Here 
177
  const double m_step;
178
  const double m_step;
178
  /// ARP alive timeout
179
  /// ARP alive timeout
179
  const Time m_arpAliveTimeout;
180
  const Time m_arpAliveTimeout;
181
  /// Socket
182
  Ptr<Socket> m_socket;
183
  /// Sequence number
184
  uint16_t m_seq;
180
185
181
  /// Create test topology
186
  /// Create test topology
182
  void CreateNodes ();
187
  void CreateNodes ();
 Lines 186-191    Link Here 
186
  void CheckResults ();
191
  void CheckResults ();
187
  /// Go
192
  /// Go
188
  void DoRun ();
193
  void DoRun ();
194
  /// Send one ping
195
  void SendPing ();
189
};
196
};
190
197
191
#endif /* AODV_REGRESSION_H */
198
#endif /* AODV_REGRESSION_H */
(-)a/src/aodv/test/bug-772.cc (-14 / +33 lines)
 Lines 33-39    Link Here 
33
#include "ns3/internet-stack-helper.h"
33
#include "ns3/internet-stack-helper.h"
34
#include "ns3/ipv4-address-helper.h"
34
#include "ns3/ipv4-address-helper.h"
35
#include "ns3/abort.h"
35
#include "ns3/abort.h"
36
#include "ns3/udp-echo-helper.h"
37
#include "ns3/mobility-model.h"
36
#include "ns3/mobility-model.h"
38
#include "ns3/pcap-file.h"
37
#include "ns3/pcap-file.h"
39
#include "ns3/aodv-helper.h"
38
#include "ns3/aodv-helper.h"
 Lines 43-49    Link Here 
43
#include "ns3/on-off-helper.h"
42
#include "ns3/on-off-helper.h"
44
#include "ns3/inet-socket-address.h"
43
#include "ns3/inet-socket-address.h"
45
#include "ns3/data-rate.h"
44
#include "ns3/data-rate.h"
46
#include "ns3/packet-sink-helper.h"
47
#include "ns3/pcap-test.h"
45
#include "ns3/pcap-test.h"
48
#include <sstream>
46
#include <sstream>
49
47
 Lines 59-66    Link Here 
59
  m_proto (proto),
57
  m_proto (proto),
60
  m_time (t),
58
  m_time (t),
61
  m_size (size),
59
  m_size (size),
62
  m_step (120)
60
  m_step (120),
63
{
61
  m_port (9){
64
}
62
}
65
63
66
Bug772ChainTest::~Bug772ChainTest ()
64
Bug772ChainTest::~Bug772ChainTest ()
 Lines 69-74    Link Here 
69
}
67
}
70
68
71
void
69
void
70
Bug772ChainTest::SendData (Ptr<Socket> socket)
71
{
72
  if (Simulator::Now () < m_time)
73
    {
74
      socket->Send (Create<Packet> (1000));
75
      Simulator::ScheduleWithContext (socket->GetNode ()->GetId (), Seconds (0.125),
76
                                      &Bug772ChainTest::SendData, this, socket);
77
    }
78
}
79
80
void
72
Bug772ChainTest::DoRun ()
81
Bug772ChainTest::DoRun ()
73
{
82
{
74
  RngSeedManager::SetSeed (12345);
83
  RngSeedManager::SetSeed (12345);
 Lines 144-159    Link Here 
144
  Ipv4InterfaceContainer interfaces = address.Assign (devices);
153
  Ipv4InterfaceContainer interfaces = address.Assign (devices);
145
154
146
  // 3. Setup UDP source and sink
155
  // 3. Setup UDP source and sink
147
  uint16_t port = 9; // Discard port (RFC 863)
156
  m_sendSocket = Socket::CreateSocket (m_nodes->Get (0), TypeId::LookupByName (m_proto));
148
  OnOffHelper onoff (m_proto, Address (InetSocketAddress (interfaces.GetAddress (m_size-1), port)));
157
  m_sendSocket->Bind ();
149
  onoff.SetConstantRate (DataRate (64000));
158
  m_sendSocket->Connect (InetSocketAddress (interfaces.GetAddress (m_size-1), m_port));
150
  onoff.SetAttribute ("PacketSize", UintegerValue (1000));
159
  m_sendSocket->SetAllowBroadcast (true);
151
  ApplicationContainer app = onoff.Install (m_nodes->Get (0));
160
  Simulator::ScheduleWithContext (m_sendSocket->GetNode ()->GetId (), Seconds (1.0),
152
  app.Start (Seconds (1.0));
161
                                  &Bug772ChainTest::SendData, this, m_sendSocket);
153
  app.Stop (m_time);
162
154
  PacketSinkHelper sink (m_proto, Address (InetSocketAddress (Ipv4Address::GetAny (), port)));
163
//
155
  app = sink.Install (m_nodes->Get (m_size - 1));
164
//  OnOffHelper onoff (m_proto, Address (InetSocketAddress (interfaces.GetAddress (m_size-1), m_port)));
156
  app.Start (Seconds (0.0));
165
//  onoff.SetConstantRate (DataRate (64000));
166
//  // 1000 * 8 / 64000 = 0.125 s
167
//  onoff.SetAttribute ("PacketSize", UintegerValue (1000));
168
//  ApplicationContainer app = onoff.Install (m_nodes->Get (0));
169
//  app.Start (Seconds (1.0));
170
//  app.Stop (m_time);
171
172
  m_recvSocket = Socket::CreateSocket (m_nodes->Get (m_size - 1), TypeId::LookupByName (m_proto));
173
  m_recvSocket->Bind (InetSocketAddress (Ipv4Address::GetAny (), m_port));
174
  m_recvSocket->Listen ();
175
  m_recvSocket->ShutdownSend ();
157
176
158
  // 4. write PCAP on the first and last nodes only
177
  // 4. write PCAP on the first and last nodes only
159
  wifiPhy.EnablePcap (CreateTempDirFilename (m_prefix), devices.Get (0));
178
  wifiPhy.EnablePcap (CreateTempDirFilename (m_prefix), devices.Get (0));
(-)a/src/aodv/test/bug-772.h (+14 lines)
 Lines 24-29    Link Here 
24
#include "ns3/test.h"
24
#include "ns3/test.h"
25
#include "ns3/nstime.h"
25
#include "ns3/nstime.h"
26
#include "ns3/node-container.h"
26
#include "ns3/node-container.h"
27
#include "ns3/socket.h"
27
28
28
using namespace ns3;
29
using namespace ns3;
29
30
 Lines 62-67    Link Here 
62
  const uint32_t m_size;
63
  const uint32_t m_size;
63
  /// Chain step, meters
64
  /// Chain step, meters
64
  const double m_step;
65
  const double m_step;
66
  /// port number
67
  const uint16_t m_port;
65
68
66
  /// Create test topology
69
  /// Create test topology
67
  void CreateNodes ();
70
  void CreateNodes ();
 Lines 71-76    Link Here 
71
  void CheckResults ();
74
  void CheckResults ();
72
  /// Go
75
  /// Go
73
  void DoRun ();
76
  void DoRun ();
77
78
  /// Receiving socket
79
  Ptr<Socket> m_recvSocket;
80
  /// Transmitting socket
81
  Ptr<Socket> m_sendSocket;
82
83
  /**
84
   * Send data
85
   * \param socket the sending socket
86
   */
87
  void SendData (Ptr<Socket> socket);
74
};
88
};
75
89
76
#endif /* BUG_772_H */
90
#endif /* BUG_772_H */
(-)a/src/aodv/test/loopback.cc (-14 / +96 lines)
 Lines 18-25    Link Here 
18
 * Authors: Pavel Boyko <boyko@iitp.ru>
18
 * Authors: Pavel Boyko <boyko@iitp.ru>
19
 */
19
 */
20
20
21
#include "loopback.h"
21
#include "ns3/test.h"
22
#include "ns3/simulator.h"
22
#include "ns3/simulator.h"
23
#include "ns3/socket-factory.h"
24
#include "ns3/udp-socket-factory.h"
23
#include "ns3/mobility-helper.h"
25
#include "ns3/mobility-helper.h"
24
#include "ns3/double.h"
26
#include "ns3/double.h"
25
#include "ns3/uinteger.h"
27
#include "ns3/uinteger.h"
 Lines 45-56    Link Here 
45
namespace aodv
47
namespace aodv
46
{
48
{
47
49
48
static uint32_t g_count (0);
50
/**
51
 * \ingroup aodv
52
 *
53
 * \brief AODV loopback UDP echo test case
54
 */
55
class LoopbackTestCase : public TestCase
56
{
57
  uint32_t m_count; //!< number of packet received;
58
  Ptr<Socket> m_txSocket;
59
  Ptr<Socket> m_echoSocket;
60
  Ptr<Socket> m_rxSocket;
61
  uint16_t m_echoSendPort;
62
  uint16_t m_echoReplyPort;
49
63
50
static void 
64
  void SendData (Ptr<Socket> socket);
51
PingRtt (std::string context, Time rtt)
65
  void ReceivePkt (Ptr<Socket> socket);
66
  void EchoData (Ptr<Socket> socket);
67
68
public:
69
  LoopbackTestCase ();
70
  void DoRun ();
71
};
72
73
LoopbackTestCase::LoopbackTestCase () :
74
    TestCase ("UDP Echo 127.0.0.1 test"), m_count (0)
52
{
75
{
53
  g_count++;
76
  m_echoSendPort = 1233;
77
  m_echoReplyPort = 1234;
78
}
79
80
void LoopbackTestCase::ReceivePkt (Ptr<Socket> socket)
81
{
82
  Ptr<Packet> receivedPacket = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
83
84
  m_count ++;
85
}
86
87
void
88
LoopbackTestCase::EchoData (Ptr<Socket> socket)
89
{
90
  Address from;
91
  Ptr<Packet> receivedPacket = socket->RecvFrom (std::numeric_limits<uint32_t>::max (), 0, from);
92
93
  Ipv4Address src = InetSocketAddress::ConvertFrom (from).GetIpv4 ();
94
  Address to = InetSocketAddress (src, m_echoReplyPort);
95
96
  receivedPacket->RemoveAllPacketTags ();
97
  receivedPacket->RemoveAllByteTags ();
98
99
  socket->SendTo (receivedPacket, 0, to);
100
}
101
102
void
103
LoopbackTestCase::SendData (Ptr<Socket> socket)
104
{
105
  Address realTo = InetSocketAddress (Ipv4Address::GetLoopback (), m_echoSendPort);
106
  socket->SendTo (Create<Packet> (123), 0, realTo);
107
108
  Simulator::ScheduleWithContext (socket->GetNode ()->GetId (), Seconds (1.0),
109
                                  &LoopbackTestCase::SendData, this, socket);
54
}
110
}
55
111
56
void
112
void
 Lines 80-102    Link Here 
80
  address.SetBase ("10.1.1.0", "255.255.255.0");
136
  address.SetBase ("10.1.1.0", "255.255.255.0");
81
  Ipv4InterfaceContainer interfaces = address.Assign (devices);
137
  Ipv4InterfaceContainer interfaces = address.Assign (devices);
82
138
83
  // Setup ping
139
  // Setup echos
84
  Ptr<V4Ping> ping = CreateObject<V4Ping> ();
140
  Ptr<SocketFactory> socketFactory = nodes.Get (0)->GetObject<UdpSocketFactory> ();
85
  ping->SetAttribute ("Remote", Ipv4AddressValue (Ipv4Address::GetLoopback ()));
141
  m_rxSocket = socketFactory->CreateSocket ();
86
  nodes.Get (0)->AddApplication (ping);
142
  m_rxSocket->Bind (InetSocketAddress (Ipv4Address::GetLoopback (), m_echoReplyPort));
87
  ping->SetStartTime (Seconds (0));
143
  m_rxSocket->SetRecvCallback (MakeCallback (&LoopbackTestCase::ReceivePkt, this));
88
  ping->SetStopTime (Seconds (4));
144
89
  Names::Add ("ping", ping);
145
  m_echoSocket = socketFactory->CreateSocket ();
90
  Config::Connect ("/Names/ping/Rtt", MakeCallback (&PingRtt));
146
  m_echoSocket->Bind (InetSocketAddress (Ipv4Address::GetLoopback (), m_echoSendPort));
147
  m_echoSocket->SetRecvCallback (MakeCallback (&LoopbackTestCase::EchoData, this));
148
149
  m_txSocket = socketFactory->CreateSocket ();
150
151
  Simulator::ScheduleWithContext (m_txSocket->GetNode ()->GetId (), Seconds (1.0),
152
                                  &LoopbackTestCase::SendData, this, m_txSocket);
91
153
92
  // Run 
154
  // Run 
93
  Simulator::Stop (Seconds (5));
155
  Simulator::Stop (Seconds (5));
94
  Simulator::Run ();
156
  Simulator::Run ();
157
158
  m_txSocket->Close ();
159
  m_echoSocket->Close ();
160
  m_rxSocket->Close ();
161
95
  Simulator::Destroy ();
162
  Simulator::Destroy ();
96
163
97
  // Check that 4 packets delivered
164
  // Check that 4 packets delivered
98
  NS_TEST_ASSERT_MSG_EQ (g_count, 4, "Exactly 4 ping replies must be delivered.");
165
  NS_TEST_ASSERT_MSG_EQ (m_count, 4, "Exactly 4 echo replies must be delivered.");
99
}
166
}
100
167
168
//-----------------------------------------------------------------------------
169
// Test suite
170
//-----------------------------------------------------------------------------
171
class AodvLoopbackTestSuite : public TestSuite
172
{
173
public:
174
  AodvLoopbackTestSuite () : TestSuite ("routing-aodv-loopback", SYSTEM)
175
  {
176
    SetDataDir (NS_TEST_SOURCEDIR);
177
    // UDP Echo loopback test case
178
    AddTestCase (new LoopbackTestCase (), TestCase::QUICK);
179
  }
180
} g_aodvLoopbackTestSuite;
181
182
101
}
183
}
102
}
184
}
(-)a/src/aodv/test/loopback.h (-45 lines)
 Lines 1-45    Link Here 
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
 * Copyright (c) 2010 IITP RAS
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
 * Authors: Pavel Boyko <boyko@iitp.ru>
19
 */
20
21
#ifndef AODV_LOOPBACK_H
22
#define AODV_LOOPBACK_H
23
#include "ns3/test.h"
24
#include <string>
25
26
namespace ns3
27
{
28
namespace aodv
29
{
30
/**
31
 * \ingroup aodv
32
 * 
33
 * \brief AODV ping 127.0.0.1 test case
34
 */
35
struct LoopbackTestCase : public TestCase
36
{
37
  LoopbackTestCase () : TestCase ("Ping 127.0.0.1 test") {}
38
  /// Run test
39
  void DoRun ();
40
};
41
42
}
43
}
44
45
#endif /* AODV_LOOPBACK_H */
(-)a/src/aodv/wscript (-1 / +1 lines)
 Lines 1-7    Link Here 
1
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
1
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
2
2
3
def build(bld):
3
def build(bld):
4
    module = bld.create_ns3_module('aodv', ['internet', 'wifi', 'applications'])
4
    module = bld.create_ns3_module('aodv', ['internet', 'wifi'])
5
    module.includes = '.'
5
    module.includes = '.'
6
    module.source = [
6
    module.source = [
7
        'model/aodv-id-cache.cc',
7
        'model/aodv-id-cache.cc',

Return to bug 1941