In order to build through cygwin, I had to change all instances of UniformVariable::GetValue to ...
4 months, 2 weeks ago
In order to build through cygwin, I had to change all instances of
UniformVariable::GetValue to UniformVariable::GetInteger as well as remove one
reference to MilliSeconds (0.1) in aodv-routing-protocol.cc, because
MilliSeconds takes uint64_t and it was complaining about getting doubles.
I have fixed this in our repository (https://forge.wenos.ru/hgprojects/ns3aodv) and will upload new changeset after upcoming ...
4 months, 1 week ago
I have fixed this in our repository (https://forge.wenos.ru/hgprojects/ns3aodv)
and will upload new changeset after upcoming release. Thank you!
On 2009/09/22 02:10:01, kevjay wrote:
> In order to build through cygwin, I had to change all instances of
> UniformVariable::GetValue to UniformVariable::GetInteger as well as remove one
> reference to MilliSeconds (0.1) in aodv-routing-protocol.cc, because
> MilliSeconds takes uint64_t and it was complaining about getting doubles.
Sir, I am implementing the AODV protocol in my project using NS-3.5.1.But I am finding ...
4 months ago
Sir,
I am implementing the AODV protocol in my project using NS-3.5.1.But I am
finding it difficult to run in my machine. It is producing some error. I have
done it twice but the result is same in both times.
I have downloaded all the patches that you have released and modified the
existing code of the ns-3.5.1 as you have denoted. But still the code is
producing the same error.
Sir, please guide me and advice me to do solve my problem. The errors are
enclosed in the mail.
Thanking You.
Yours Sincerely
Shantanu Konwar.
The Konsole gives the following error when I run the AODV.
---------------------------------------------------------------------
program 'scratch/aodv' not found; available programs are: ['emu-sock-creator',
'../../ns-allinone-3.5.1/ns-3.5.1/src/devices/emu/emu-sock-creator',
'tap-creator',
'../../ns-allinone-3.5.1/ns-3.5.1/src/devices/tap-bridge/tap-creator',
'wifi-phy-test',
'../../ns-allinone-3.5.1/ns-3.5.1/src/devices/wifi/wifi-phy-test',
'main-attribute-value',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-attribute-value',
'main-callback', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-callback',
'main-simulator', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simulator',
'main-ptr', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ptr',
'main-random-variable',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-variable',
'main-packet-header',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-header',
'main-packet-tag', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-tag',
'main-test', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test',
'main-test-sync', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test-sync',
'main-simple', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simple',
'main-grid-topology',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-grid-topology',
'main-random-topology',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-topology',
'main-random-walk', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-walk',
'main-propagation-loss',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-propagation-loss',
'main-ns2-mob', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ns2-mob',
'run-tests', '../../ns-allinone-3.5.1/ns-3.5.1/utils/run-tests',
'bench-simulator', '../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-simulator',
'bench-packets', '../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-packets',
'print-introspected-doxygen',
'../../ns-allinone-3.5.1/ns-3.5.1/utils/print-introspected-doxygen',
'hello-simulator', '../../ns-allinone-3.5.1/ns-3.5.1/examples/hello-simulator',
'first', '../../ns-allinone-3.5.1/ns-3.5.1/examples/first', 'second',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/second', 'third',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/third', 'object-names',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/object-names', 'mixed-wireless',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-wireless',
'dynamic-global-routing',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/dynamic-global-routing',
'static-routing-slash32',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/static-routing-slash32',
'global-routing-slash32',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/global-routing-slash32',
'simple-global-routing','../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-global-routing',
'virtual-net-device',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/virtual-net-device',
'simple-alternate-routing',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-alternate-routing',
'simple-error-model',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-error-model',
'csma-one-subnet', '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-one-subnet',
'csma-bridge', '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge',
'csma-bridge-one-hop',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge-one-hop', 'udp-echo',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/udp-echo', 'realtime-udp-echo',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/realtime-udp-echo', 'csma-broadcast',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-broadcast',
'csma-packet-socket',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-packet-socket',
'csma-multicast', '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-multicast',
'mixed-global-routing',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-global-routing',
'simple-point-to-point-olsr',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-point-to-point-olsr',
'tcp-large-transfer',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-large-transfer', 'tcp-nsc-lfn',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-lfn', 'tcp-nsc-zoo',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-zoo', 'tcp-star-server',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-star-server', 'star',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/star', 'csma-star',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-star', 'wifi-adhoc',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-adhoc',
'wifi-clear-channel-cmu',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-clear-channel-cmu', 'wifi-ap',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-ap', 'wifi-example-sim',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/stats/wifi-example-sim',
'wifi-wired-bridging',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-wired-bridging',
'csma-raw-ip-socket',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-raw-ip-socket', 'csma-ping',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-ping', 'test-ipv6',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/test-ipv6', 'emu-udp-echo',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-udp-echo', 'emu-ping',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-ping', 'tap-wifi-dumbbell',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/tap-wifi-dumbbell',
'simple-wifi-frame-aggregation',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-wifi-frame-aggregation',
'multiple-sources',
'../../ns-allinone-3.5.1/ns-3.5.1/scratch/multiple-sources/multiple-sources',
'simple', '../../ns-allinone-3.5.1/ns-3.5.1/scratch/simple']
----------------------------------------------------------------------
I used the following command by keeping the AODV.cc in scratch....
./waf --run scratch/aodv
----------------------------------------------------------------------
On 2009/09/30 15:57:36, Pavel Boyko wrote:
> I have fixed this in our repository
(https://forge.wenos.ru/hgprojects/ns3aodv)
> and will upload new changeset after upcoming release. Thank you!
>
> On 2009/09/22 02:10:01, kevjay wrote:
> > In order to build through cygwin, I had to change all instances of
> > UniformVariable::GetValue to UniformVariable::GetInteger as well as remove
one
> > reference to MilliSeconds (0.1) in aodv-routing-protocol.cc, because
> > MilliSeconds takes uint64_t and it was complaining about getting doubles.
Hi, Shantanu, Waf seems to be case-sensitive here (as your filesystem is), try "./waf --run ...
4 months ago
Hi, Shantanu,
Waf seems to be case-sensitive here (as your filesystem is), try "./waf --run
scratch/AODV". And if you wish to run our test script -- use "./waf --run aodv".
Also you can avoid applying patches from here and use latest aodv version from
our repository by "hg clone https://forge.iitp.ru/hgprojects/ns3aodv"
Good luck,
Pavel
On 2009/10/12 09:00:28, Shantanu.220984 wrote:
> Sir,
> I am implementing the AODV protocol in my project using NS-3.5.1.But I am
> finding it difficult to run in my machine. It is producing some error. I have
> done it twice but the result is same in both times.
> I have downloaded all the patches that you have released and modified the
> existing code of the ns-3.5.1 as you have denoted. But still the code is
> producing the same error.
> Sir, please guide me and advice me to do solve my problem. The errors are
> enclosed in the mail.
> Thanking You.
>
> Yours Sincerely
> Shantanu Konwar.
>
> The Konsole gives the following error when I run the AODV.
> ---------------------------------------------------------------------
>
> program 'scratch/aodv' not found; available programs are: ['emu-sock-creator',
> '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/emu/emu-sock-creator',
> 'tap-creator',
> '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/tap-bridge/tap-creator',
> 'wifi-phy-test',
> '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/wifi/wifi-phy-test',
> 'main-attribute-value',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-attribute-value',
> 'main-callback', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-callback',
> 'main-simulator', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simulator',
> 'main-ptr', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ptr',
> 'main-random-variable',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-variable',
> 'main-packet-header',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-header',
> 'main-packet-tag', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-tag',
> 'main-test', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test',
> 'main-test-sync', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test-sync',
> 'main-simple', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simple',
> 'main-grid-topology',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-grid-topology',
> 'main-random-topology',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-topology',
> 'main-random-walk',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-walk',
> 'main-propagation-loss',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-propagation-loss',
> 'main-ns2-mob', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ns2-mob',
> 'run-tests', '../../ns-allinone-3.5.1/ns-3.5.1/utils/run-tests',
> 'bench-simulator', '../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-simulator',
> 'bench-packets', '../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-packets',
> 'print-introspected-doxygen',
> '../../ns-allinone-3.5.1/ns-3.5.1/utils/print-introspected-doxygen',
> 'hello-simulator',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/hello-simulator',
> 'first', '../../ns-allinone-3.5.1/ns-3.5.1/examples/first', 'second',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/second', 'third',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/third', 'object-names',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/object-names', 'mixed-wireless',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-wireless',
> 'dynamic-global-routing',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/dynamic-global-routing',
> 'static-routing-slash32',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/static-routing-slash32',
> 'global-routing-slash32',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/global-routing-slash32',
>
'simple-global-routing','../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-global-routing',
> 'virtual-net-device',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/virtual-net-device',
> 'simple-alternate-routing',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-alternate-routing',
> 'simple-error-model',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-error-model',
> 'csma-one-subnet',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-one-subnet',
> 'csma-bridge', '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge',
> 'csma-bridge-one-hop',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge-one-hop', 'udp-echo',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/udp-echo', 'realtime-udp-echo',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/realtime-udp-echo',
'csma-broadcast',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-broadcast',
> 'csma-packet-socket',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-packet-socket',
> 'csma-multicast', '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-multicast',
> 'mixed-global-routing',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-global-routing',
> 'simple-point-to-point-olsr',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-point-to-point-olsr',
> 'tcp-large-transfer',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-large-transfer', 'tcp-nsc-lfn',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-lfn', 'tcp-nsc-zoo',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-zoo', 'tcp-star-server',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-star-server', 'star',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/star', 'csma-star',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-star', 'wifi-adhoc',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-adhoc',
> 'wifi-clear-channel-cmu',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-clear-channel-cmu', 'wifi-ap',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-ap', 'wifi-example-sim',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/stats/wifi-example-sim',
> 'wifi-wired-bridging',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-wired-bridging',
> 'csma-raw-ip-socket',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-raw-ip-socket', 'csma-ping',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-ping', 'test-ipv6',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/test-ipv6', 'emu-udp-echo',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-udp-echo', 'emu-ping',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-ping', 'tap-wifi-dumbbell',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/tap-wifi-dumbbell',
> 'simple-wifi-frame-aggregation',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-wifi-frame-aggregation',
> 'multiple-sources',
> '../../ns-allinone-3.5.1/ns-3.5.1/scratch/multiple-sources/multiple-sources',
> 'simple', '../../ns-allinone-3.5.1/ns-3.5.1/scratch/simple']
>
> ----------------------------------------------------------------------
>
> I used the following command by keeping the AODV.cc in scratch....
>
> ./waf --run scratch/aodv
>
> ----------------------------------------------------------------------
>
>
>
>
> On 2009/09/30 15:57:36, Pavel Boyko wrote:
> > I have fixed this in our repository
> (https://forge.wenos.ru/hgprojects/ns3aodv)
> > and will upload new changeset after upcoming release. Thank you!
> >
> > On 2009/09/22 02:10:01, kevjay wrote:
> > > In order to build through cygwin, I had to change all instances of
> > > UniformVariable::GetValue to UniformVariable::GetInteger as well as remove
> one
> > > reference to MilliSeconds (0.1) in aodv-routing-protocol.cc, because
> > > MilliSeconds takes uint64_t and it was complaining about getting doubles.
Hello Sir, Thanks for replying. Refering to your advice I had again gone through the ...
3 months, 4 weeks ago
Hello Sir,
Thanks for replying. Refering to your advice I had again gone through the
code but the problem persists. I had also checked the link but sir it asks for a
user name and password which i don't have.
Sir I request you to take the pain of sending the new code to my email
account. Your kind act is highly solicited.
With Regards
Shantanu Konwar
-----------------------------------------------------------------
email ID:shantanu.220984@gmail.com
-----------------------------------------------------------------
On 2009/10/12 13:47:31, Pavel Boyko wrote:
> Hi, Shantanu,
>
> Waf seems to be case-sensitive here (as your filesystem is), try "./waf
--run
> scratch/AODV". And if you wish to run our test script -- use "./waf --run
aodv".
>
> Also you can avoid applying patches from here and use latest aodv version
from
> our repository by "hg clone https://forge.iitp.ru/hgprojects/ns3aodv%22
>
> Good luck,
> Pavel
>
> On 2009/10/12 09:00:28, Shantanu.220984 wrote:
> > Sir,
> > I am implementing the AODV protocol in my project using NS-3.5.1.But I
am
> > finding it difficult to run in my machine. It is producing some error. I
have
> > done it twice but the result is same in both times.
> > I have downloaded all the patches that you have released and modified
the
> > existing code of the ns-3.5.1 as you have denoted. But still the code is
> > producing the same error.
> > Sir, please guide me and advice me to do solve my problem. The errors
are
> > enclosed in the mail.
> > Thanking You.
> >
> > Yours Sincerely
> > Shantanu Konwar.
> >
> > The Konsole gives the following error when I run the AODV.
> > ---------------------------------------------------------------------
> >
> > program 'scratch/aodv' not found; available programs are:
['emu-sock-creator',
> > '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/emu/emu-sock-creator',
> > 'tap-creator',
> > '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/tap-bridge/tap-creator',
> > 'wifi-phy-test',
> > '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/wifi/wifi-phy-test',
> > 'main-attribute-value',
> > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-attribute-value',
> > 'main-callback', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-callback',
> > 'main-simulator', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simulator',
> > 'main-ptr', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ptr',
> > 'main-random-variable',
> > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-variable',
> > 'main-packet-header',
> > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-header',
> > 'main-packet-tag',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-tag',
> > 'main-test', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test',
> > 'main-test-sync', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test-sync',
> > 'main-simple', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simple',
> > 'main-grid-topology',
> > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-grid-topology',
> > 'main-random-topology',
> > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-topology',
> > 'main-random-walk',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-walk',
> > 'main-propagation-loss',
> > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-propagation-loss',
> > 'main-ns2-mob', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ns2-mob',
> > 'run-tests', '../../ns-allinone-3.5.1/ns-3.5.1/utils/run-tests',
> > 'bench-simulator', '../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-simulator',
> > 'bench-packets', '../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-packets',
> > 'print-introspected-doxygen',
> > '../../ns-allinone-3.5.1/ns-3.5.1/utils/print-introspected-doxygen',
> > 'hello-simulator',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/hello-simulator',
> > 'first', '../../ns-allinone-3.5.1/ns-3.5.1/examples/first', 'second',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/second', 'third',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/third', 'object-names',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/object-names', 'mixed-wireless',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-wireless',
> > 'dynamic-global-routing',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/dynamic-global-routing',
> > 'static-routing-slash32',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/static-routing-slash32',
> > 'global-routing-slash32',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/global-routing-slash32',
> >
>
'simple-global-routing','../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-global-routing',
> > 'virtual-net-device',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/virtual-net-device',
> > 'simple-alternate-routing',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-alternate-routing',
> > 'simple-error-model',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-error-model',
> > 'csma-one-subnet',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-one-subnet',
> > 'csma-bridge', '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge',
> > 'csma-bridge-one-hop',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge-one-hop', 'udp-echo',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/udp-echo', 'realtime-udp-echo',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/realtime-udp-echo',
> 'csma-broadcast',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-broadcast',
> > 'csma-packet-socket',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-packet-socket',
> > 'csma-multicast',
'../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-multicast',
> > 'mixed-global-routing',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-global-routing',
> > 'simple-point-to-point-olsr',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-point-to-point-olsr',
> > 'tcp-large-transfer',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-large-transfer',
'tcp-nsc-lfn',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-lfn', 'tcp-nsc-zoo',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-zoo', 'tcp-star-server',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-star-server', 'star',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/star', 'csma-star',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-star', 'wifi-adhoc',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-adhoc',
> > 'wifi-clear-channel-cmu',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-clear-channel-cmu',
'wifi-ap',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-ap', 'wifi-example-sim',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/stats/wifi-example-sim',
> > 'wifi-wired-bridging',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-wired-bridging',
> > 'csma-raw-ip-socket',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-raw-ip-socket', 'csma-ping',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-ping', 'test-ipv6',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/test-ipv6', 'emu-udp-echo',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-udp-echo', 'emu-ping',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-ping', 'tap-wifi-dumbbell',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tap-wifi-dumbbell',
> > 'simple-wifi-frame-aggregation',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-wifi-frame-aggregation',
> > 'multiple-sources',
> >
'../../ns-allinone-3.5.1/ns-3.5.1/scratch/multiple-sources/multiple-sources',
> > 'simple', '../../ns-allinone-3.5.1/ns-3.5.1/scratch/simple']
> >
> > ----------------------------------------------------------------------
> >
> > I used the following command by keeping the AODV.cc in scratch....
> >
> > ./waf --run scratch/aodv
> >
> > ----------------------------------------------------------------------
> >
> >
> >
> >
> > On 2009/09/30 15:57:36, Pavel Boyko wrote:
> > > I have fixed this in our repository
> > (https://forge.wenos.ru/hgprojects/ns3aodv)
> > > and will upload new changeset after upcoming release. Thank you!
> > >
> > > On 2009/09/22 02:10:01, kevjay wrote:
> > > > In order to build through cygwin, I had to change all instances of
> > > > UniformVariable::GetValue to UniformVariable::GetInteger as well as
remove
> > one
> > > > reference to MilliSeconds (0.1) in aodv-routing-protocol.cc, because
> > > > MilliSeconds takes uint64_t and it was complaining about getting
doubles.
On 2009/10/13 06:25:46, Shantanu wrote: > Hello Sir, > Thanks for replying. Refering to your ...
3 months, 3 weeks ago
On 2009/10/13 06:25:46, Shantanu wrote:
> Hello Sir,
> Thanks for replying. Refering to your advice I had again gone through the
> code but the problem persists. I had also checked the link but sir it asks for
a
> user name and password which i don't have.
> Sir I request you to take the pain of sending the new code to my email
> account. Your kind act is highly solicited.
>
> With Regards
> Shantanu Konwar
> -----------------------------------------------------------------
> email ID:shantanu.220984@gmail.com
> -----------------------------------------------------------------
>
>
>
>
> On 2009/10/12 13:47:31, Pavel Boyko wrote:
> > Hi, Shantanu,
> >
> > Waf seems to be case-sensitive here (as your filesystem is), try "./waf
> --run
> > scratch/AODV". And if you wish to run our test script -- use "./waf --run
> aodv".
> >
> > Also you can avoid applying patches from here and use latest aodv version
> from
> > our repository by "hg clone https://forge.iitp.ru/hgprojects/ns3aodv%2522
> >
> > Good luck,
> > Pavel
> >
> > On 2009/10/12 09:00:28, Shantanu.220984 wrote:
> > > Sir,
> > > I am implementing the AODV protocol in my project using NS-3.5.1.But
I
> am
> > > finding it difficult to run in my machine. It is producing some error. I
> have
> > > done it twice but the result is same in both times.
> > > I have downloaded all the patches that you have released and modified
> the
> > > existing code of the ns-3.5.1 as you have denoted. But still the code is
> > > producing the same error.
> > > Sir, please guide me and advice me to do solve my problem. The errors
> are
> > > enclosed in the mail.
> > > Thanking You.
> > >
> > > Yours Sincerely
> > > Shantanu Konwar.
> > >
> > > The Konsole gives the following error when I run the AODV.
> > > ---------------------------------------------------------------------
> > >
> > > program 'scratch/aodv' not found; available programs are:
> ['emu-sock-creator',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/emu/emu-sock-creator',
> > > 'tap-creator',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/tap-bridge/tap-creator',
> > > 'wifi-phy-test',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/src/devices/wifi/wifi-phy-test',
> > > 'main-attribute-value',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-attribute-value',
> > > 'main-callback', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-callback',
> > > 'main-simulator',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simulator',
> > > 'main-ptr', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ptr',
> > > 'main-random-variable',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-variable',
> > > 'main-packet-header',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-header',
> > > 'main-packet-tag',
> '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-packet-tag',
> > > 'main-test', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test',
> > > 'main-test-sync',
'../../ns-allinone-3.5.1/ns-3.5.1/samples/main-test-sync',
> > > 'main-simple', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-simple',
> > > 'main-grid-topology',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-grid-topology',
> > > 'main-random-topology',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-topology',
> > > 'main-random-walk',
> > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-random-walk',
> > > 'main-propagation-loss',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-propagation-loss',
> > > 'main-ns2-mob', '../../ns-allinone-3.5.1/ns-3.5.1/samples/main-ns2-mob',
> > > 'run-tests', '../../ns-allinone-3.5.1/ns-3.5.1/utils/run-tests',
> > > 'bench-simulator',
'../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-simulator',
> > > 'bench-packets', '../../ns-allinone-3.5.1/ns-3.5.1/utils/bench-packets',
> > > 'print-introspected-doxygen',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/utils/print-introspected-doxygen',
> > > 'hello-simulator',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/hello-simulator',
> > > 'first', '../../ns-allinone-3.5.1/ns-3.5.1/examples/first', 'second',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/second', 'third',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/third', 'object-names',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/object-names',
'mixed-wireless',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-wireless',
> > > 'dynamic-global-routing',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/dynamic-global-routing',
> > > 'static-routing-slash32',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/static-routing-slash32',
> > > 'global-routing-slash32',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/global-routing-slash32',
> > >
> >
>
'simple-global-routing','../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-global-routing',
> > > 'virtual-net-device',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/virtual-net-device',
> > > 'simple-alternate-routing',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-alternate-routing',
> > > 'simple-error-model',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-error-model',
> > > 'csma-one-subnet',
> > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-one-subnet',
> > > 'csma-bridge', '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge',
> > > 'csma-bridge-one-hop',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-bridge-one-hop',
'udp-echo',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/udp-echo', 'realtime-udp-echo',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/realtime-udp-echo',
> > 'csma-broadcast',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-broadcast',
> > > 'csma-packet-socket',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-packet-socket',
> > > 'csma-multicast',
> '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-multicast',
> > > 'mixed-global-routing',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/mixed-global-routing',
> > > 'simple-point-to-point-olsr',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-point-to-point-olsr',
> > > 'tcp-large-transfer',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-large-transfer',
> 'tcp-nsc-lfn',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-lfn', 'tcp-nsc-zoo',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-nsc-zoo',
'tcp-star-server',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tcp-star-server', 'star',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/star', 'csma-star',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-star', 'wifi-adhoc',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-adhoc',
> > > 'wifi-clear-channel-cmu',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-clear-channel-cmu',
> 'wifi-ap',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-ap', 'wifi-example-sim',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/stats/wifi-example-sim',
> > > 'wifi-wired-bridging',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/wifi-wired-bridging',
> > > 'csma-raw-ip-socket',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-raw-ip-socket',
'csma-ping',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/csma-ping', 'test-ipv6',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/test-ipv6', 'emu-udp-echo',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-udp-echo', 'emu-ping',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/emu-ping', 'tap-wifi-dumbbell',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/tap-wifi-dumbbell',
> > > 'simple-wifi-frame-aggregation',
> > > '../../ns-allinone-3.5.1/ns-3.5.1/examples/simple-wifi-frame-aggregation',
> > > 'multiple-sources',
> > >
> '../../ns-allinone-3.5.1/ns-3.5.1/scratch/multiple-sources/multiple-sources',
> > > 'simple', '../../ns-allinone-3.5.1/ns-3.5.1/scratch/simple']
> > >
> > > ----------------------------------------------------------------------
> > >
> > > I used the following command by keeping the AODV.cc in scratch....
> > >
> > > ./waf --run scratch/aodv
> > >
> > > ----------------------------------------------------------------------
> > >
> > >
> > >
> > >
> > > On 2009/09/30 15:57:36, Pavel Boyko wrote:
> > > > I have fixed this in our repository
> > > (https://forge.wenos.ru/hgprojects/ns3aodv)
> > > > and will upload new changeset after upcoming release. Thank you!
> > > >
> > > > On 2009/09/22 02:10:01, kevjay wrote:
> > > > > In order to build through cygwin, I had to change all instances of
> > > > > UniformVariable::GetValue to UniformVariable::GetInteger as well as
> remove
> > > one
> > > > > reference to MilliSeconds (0.1) in aodv-routing-protocol.cc, because
> > > > > MilliSeconds takes uint64_t and it was complaining about getting
> doubles.
Hello Sir,
Regarding the AODV code of the respective link I want to ask you that from
where will the aodv-module.h file will be incorporated in the code under ns3
folder. As no such file exist in the whole ns-3.5.1.
An early reply from your side is highly solicited. Please sir do help me .
Thanking You in Advance.
Shantanu.
Please find a review of your code. http://codereview.appspot.com/115075/diff/1/2 File examples/aodv.cc (right): http://codereview.appspot.com/115075/diff/1/2#newcode37 Line 37: /** ...
Take a look. http://codereview.appspot.com/115075/diff/1/2 File examples/aodv.cc (right): http://codereview.appspot.com/115075/diff/1/2#newcode37 Line 37: /** On 2009/10/22 20:39:32, faker.moatamri ...
http://codereview.appspot.com/115075/diff/1/12 File src/helper/wscript (left): http://codereview.appspot.com/115075/diff/1/12#oldcode31 Line 31: 'athstats-helper.cc', athstats-helper.cc, ipv6-address-helper.cc, ipv6-interface-container.cc are not found in ...
http://codereview.appspot.com/115075/diff/10002/9007 File src/contrib/average.h (right): http://codereview.appspot.com/115075/diff/10002/9007#newcode21 Line 21: #ifndef STATS_H_ On 2009/10/28 06:06:07, Tom H. wrote: ...
Tom, Thank you for thorough review! > 1) can you document what is modelized and ...
3 months, 1 week ago
Tom,
Thank you for thorough review!
> 1) can you document what is modelized and what is not?
This is done by Elena in aodv.h, take a look.
> 2) will Socket::Send() return -1 even though route may be discovered later?
Yes, it will, please see discussion below.
> Is the way to limit this to loop back into the same node > so that
RouteInput() picks up the packet (can the
> implementation support such configuration)?
I don't see how this would help with socket error. Now we store waiting
packets inside AODV and send them using direct access to Ipv4L3Protocol::Send(),
see aodv::RoutingProtocol::SendPacketFromQueue and Send() methods.
>Can the example program also be turned into a system test perhaps?
Done, take a look at aodv/test directory (I didn't upload reference traces
here, use our repository to pull them).
We plan to add some more regression tests in near future.
http://codereview.appspot.com/115075/diff/10002/9007
File src/contrib/average.h (right):
http://codereview.appspot.com/115075/diff/10002/9007#newcode59
Line 59: T Min () const { return min; }
On 2009/10/28 06:06:07, Tom H. wrote:
> return size ? min : 0; ?
Don't like this. When size == 0 Min() is undefined and max(Type) is much more
clear undefined value that 0.
http://codereview.appspot.com/115075/diff/10002/9019
File src/internet-stack/ipv4-l3-protocol.cc (left):
http://codereview.appspot.com/115075/diff/10002/9019#oldcode479
Line 479: ttl = 1;
On 2009/10/28 06:06:07, Tom H. wrote:
> will this cause broadcasts to be forwarded, in general (when AODV is not
used)?
That depends on routing protocol -- there is no default ("in general") routing
behavior, even for b-casts. Currently implemented protocols don't forward (and
it seems that don't deliver as well) b-casts, grep for "header.GetDestination
().IsBroadcast ()" in src/routing to see this.
One more argument against "ttl = 1" is that I see TTL = 64 for b-cast ping
packets on my Linux box.
http://codereview.appspot.com/115075/diff/10002/9029
File src/routing/manet/aodv/aodv-routing-protocol.cc (right):
http://codereview.appspot.com/115075/diff/10002/9029#newcode274
Line 274: return route;
On 2009/10/28 06:06:07, Tom H. wrote:
> How does this work for outbound datagrams? It seems that if AODV has to RREQ,
a
> null route pointer will be returned by this error, and the socket will return
-1
> to the Send () call, indicating an error.
That's true. The only thing I can do for socket user is to set errno to
Socket::ERROR_NOTERROR. M.b. we should teach socket implementations do not
return -1 when errno is not an error, I don't know.
For now I just propose to ignore socket errors when using on demand routing.
http://codereview.appspot.com/115075/diff/10002/9029#newcode470
Line 470: return;
On 2009/10/28 06:06:07, Tom H. wrote:
> perhaps should document somewhere that layer-2 notifications are enabled when
> running this model over the AdhocWifiMac interface only. I don't know whether
> it is worth it to try to decouple this class dependency.
Done.
Actually we depend on TxErrHeader trace source only, AdhocWifiMac check was
unneded redundant and is removed. Comment about layer 2 added to aodv.h
There are a few things combined in this patchset: 1) TTL fix for IPv4L3Protocol 2) ...
3 months ago
There are a few things combined in this patchset:
1) TTL fix for IPv4L3Protocol
2) v4Ping enhancements
3) AODV model
4) introduction of subdirectory "routing/manet"
I'll go ahead and check in the fix for 1) separately. As for item 2, I suggest
that you push another Rietveld issue (or put your patch into a new Bugzilla
tracker item) that calls out that these are v4Ping changes.
I am OK with 4) but I think that OLSR will need to go there too; one question I
have is whether DPD should go there or in src/node with packetbb. Also, I have
heard that some people are pretty far along with an SMF ns-3 model so I would
like to check with them whether the DPD model is OK with them.
Tom, This review is going to be endless. That's why nothing is merged at the ...
2 months, 4 weeks ago
Tom,
This review is going to be endless. That's why nothing is merged at the early
stages of the release cycle.
On 2009/11/11 14:52:35, Tom H. wrote:
> There are a few things combined in this patchset:
>
> 1) TTL fix for IPv4L3Protocol
> 2) v4Ping enhancements
> 3) AODV model
> 4) introduction of subdirectory "routing/manet"
You forgot to mention contrib/average.h as a separate feature.
> I'll go ahead and check in the fix for 1) separately.
good, thank you.
> As for item 2, I suggest
> that you push another Rietveld issue (or put your patch into a new Bugzilla
> tracker item) that calls out that these are v4Ping changes.
> I am OK with 4) but I think that OLSR will need to go there too;
Sure, this should be the first thing after aodv merge (the second one is to
move packetbb from node to routing/manet/packetbb). Just merge it.
> one question I
> have is whether DPD should go there or in src/node with packetbb.
Instead I propose to move packetbb to routing/manet. Since virtually
everything depends on "node" module it should stay as small as possible.
> Also, I have
> heard that some people are pretty far along with an SMF ns-3 model so I would
> like to check with them whether the DPD model is OK with them.
I was first with the review, so _they_ should check smf with me :) Joke.
Actually SMF defines a number of duplicate packet detection heuristics, we just
use the simplest one (based on packet uid) for aodv. I propose to leave this
question up to SMF review. DPD module is extremely small and can be easily
rewritten/extended to match SMF RFC if needed. Also it can be completely removed
(hidden back to aodv) if it will be not used by other protocols during some time
(say 0.5 year).
So far you say nothing about AODV (point 3 of your list above). Do you think
it is ready to be merged?
Pavel
> So far you say nothing about AODV (point 3 of your list above). Do ...
2 months, 3 weeks ago
> So far you say nothing about AODV (point 3 of your list above). Do you think
> it is ready to be merged?
>
Sorry, somehow I did not see this reply two days ago. Yes, I agree to merge
AODV now. I will post to ns-developers to notify that you are proposing also to
merge the other changes that are not AODV-specific.
Hi, I'm not entirely sure, but it seems to me that in the method RoutingTable::Purge ...
2 months, 3 weeks ago
Hi,
I'm not entirely sure, but it seems to me that in the method RoutingTable::Purge
() is missing 'else' clause for external 'if' statement...
In this case, if the timeout of the table entry has expired, we increment
iterator 'i' twice...?
Good catch! Fixed. On 2009/11/18 08:00:10, mskrocki wrote: > Hi, > I'm not entirely sure, ...
2 months, 3 weeks ago
Good catch! Fixed.
On 2009/11/18 08:00:10, mskrocki wrote:
> Hi,
> I'm not entirely sure, but it seems to me that in the method
RoutingTable::Purge
> () is missing 'else' clause for external 'if' statement...
> In this case, if the timeout of the table entry has expired, we increment
> iterator 'i' twice...?
I have a small problem... I wanted to compare the functionality and efficiency of the ...
2 months ago
I have a small problem...
I wanted to compare the functionality and efficiency of the AODV protocol in
ns-3 with the implementation in JIST/SWANS. One of the tested topology was a
matrix of nodes, to which in each simulation I added one row and one column of
nodes. The flow of data was set between the first and last node in the network,
located at two ends of the diagonal of the network. I noticed that an increasing
number of nodes in the network couses bigger packet loss, which is obvious,
however, these losses were growing much faster than in simulation using JIST.
I reviewed the logs from the simulation along with a colleague and we noticed
that sometimes in the routing table in nodes there appears a strange entry, in
which the source, destination and gateway address are set to 102.102.102.102.
The entry is added to the routing table at the time when the source node sends a
RREQ, because there is no entry corresponding to the target node.
As we noted after receiving the RREP message corresponding to RREQ, the source
node adds a new entry to its routing table, but does not remove the entry
containing the address of 102.102.102.102. Would not be better if we add an
empty entry specifying, however, the RREQ Destination address?
void
RoutingProtocol::SendRequest (Ipv4Address dst)
...
RoutingTableEntry rt;
if (m_routingTable.LookupRoute (dst, rt))
{
rreqHeader.SetHopCount (rt.GetHop ());
if (rt.GetValidSeqNo ())
rreqHeader.SetDstSeqno (rt.GetSeqNo ());
else
rreqHeader.SetUnknownSeqno (true);
rt.SetFlag (IN_SEARCH);
m_routingTable.AddRoute (rt);
}
else
{
rreqHeader.SetUnknownSeqno (true);
RoutingTableEntry newEntry;
newEntry.SetFlag (IN_SEARCH);
newEntry.SetDestination(dst); // Shouldn't we add destination address to
the entry?
m_routingTable.AddRoute (newEntry);
}
…
}
We found also that the problem exists also in RouteRequestTimerExpire method,
because it does not check whether the entry was found in the routing table.
Shouldn't we check here whether the entry was found in the routing table?
void
RoutingProtocol::RouteRequestTimerExpire (Ipv4Address dst)
{
NS_LOG_LOGIC(this);
RoutingTableEntry toDst;
if (!m_routingTable.LookupRoute (dst, toDst)) // Shouldn't we check it here?
{
return;
}
if (toDst.GetFlag () == VALID)
{
SendPacketFromQueue (dst, toDst.GetRoute ());
NS_LOG_LOGIC ("route to " << dst << " found from " <<
toDst.GetInterface().GetLocal());
return;
}
…
--
Yours Sincerely
Mariusz Skrocki
Issue 115075: AODV model for review
Created 5 months ago by Pavel Boyko
Modified 2 months ago
Reviewers: kevjay, shantanu.220984_gmail.com, faker.moatamri, upola.aec, Tom Henderson, Elena Buchatskaia, Mariusz Skrocki
SVN Base:
Comments: 90