[Ns-developers] Ad hoc On Demand Distance Vector (AODV) routing protocol code review

Faker.Moatamri@sophia.inria.fr Faker.Moatamri at sophia.inria.fr
Thu Oct 22 13:47:47 PDT 2009


Hi Pavel & all,
 In the effort to merge the code for merging the AODV routing protocol,
I've been through your code review submitted in
http://codereview.appspot.com/115075/show and I have few comments on it.
 Craig, Gustavo, anyone else, can you please take a look at the code and
give the Pavel some feedback?

Code review:
 Overall the code is good, some changes are expected:
 - Minor coding style changes
 - More doxygen and some documentation needs to be doxygen
style
 - Testing should be conform with the new testing framework, tests
are still using the old testing framework
 - Please make sure to clean memory: Ptr variables and created classes
should be cleaned
 - aodv.h should contain more details about the implementation, what is
done, what is left to do...
 - Member variable should never be public unless you have a good reason to
do that

Compiling and testing:
 I tried compiling under linux with g++ 3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.3
and 4.4.0 from the repository https://forge.wenos.ru/hgprojects/ns3aodv/
 Result using buildbot:
 -g++ 3.4.6 , 4.0.4, 4.1.2, 4.2.4, 4.3.3 and 4.4.0: all the builds
finished properly but the testing failed:
...
FAIL: TestSuite ns3-tcp-cwnd
...
CRASH: Example csma/csma-bridge
CRASH: Example csma/csma-bridge-one-hop
CRASH: Example csma/csma-broadcast
CRASH: Example csma/csma-one-subnet
CRASH: Example csma/csma-multicast
CRASH: Example csma/csma-ping CRASH: Example
csma/csma-raw-ip-socket
CRASH: Example error-model/simple-error-model
CRASH: Example ipv6/icmpv6-redirect
CRASH: Example ipv6/ping6
CRASH: Example ipv6/radvd
CRASH: Example ipv6/radvd-two-prefix
...
CRASH: Example realtime/realtime-udp-echo
CRASH: Example routing/dynamic-global-routing
CRASH: Example routing/global-injection-slash32
CRASH: Example routing/global-routing-slash32
CRASH: Example routing/mixed-global-routing
PASS: Example routing/nix-simple
CRASH: Example routing/simple-alternate-routing
CRASH: Example routing/simple-global-routing
CRASH: Example routing/simple-point-to-point-olsr
CRASH: Example routing/simple-routing-ping6
CRASH: Example routing/static-routing-slash32
PASS: Example stats/wifi-example-sim
CRASH: Example tcp/star
CRASH: Example tcp/tcp-large-transfer
CRASH: Example tcp/tcp-star-server
CRASH: Example tunneling/virtual-net-device
PASS: Example tutorial/first
PASS: Example tutorial/hello-simulator
CRASH: Example tutorial/second
CRASH: Example tutorial/third
CRASH: Example udp/udp-echo
CRASH: Example wireless/simple-wifi-frame-aggregation
CRASH: Example wireless/wifi-ap --verbose=0
CRASH: Example wireless/wifi-simple-adhoc
PASS: Example wireless/mixed-wireless
CRASH: Example wireless/wifi-simple-infra
CRASH: Example wireless/wifi-simple-interference
CRASH: Example wireless/wifi-wired-bridging
CRASH: Example csma/csma-star
PASS: Example wireless/wifi-simple-adhoc-grid
PASS: Example mesh/mesh
57 of 94 tests passed (57 passed, 1 failed, 36 crashed, 0 valgrind errors)
 I tried to compile manually with gcc 4.3.3 all tests passed except FAIL:
TestSuite ns3-tcp-cwnd

 For regression and valgrind tests output is always "target 'aodv2' does
not exist", Gustavo any Idea?

Best regards
Faker Moatamri


More information about the Ns-developers mailing list