Dear all,
after long debug and tests, I am quite disappointed now by the fact that the mesh (802.11s) implementation does not work as expected in ns3 (3.25).
Please, let's consider the example file provided, where a grid 3x3 of wifi mesh node is built.
* m_xSize * step
* |<--------->|
* step
* |<--->|
* * --- * --- * <---Ping sink _
* | \ | / | ^
* | \ | / | |
* * --- * --- * m_ySize * step |
* | / | \ | |
* | / | \ | |
* * --- * --- * _
* ^ Ping source
The distance between nodes in the example file is 100 meters.
With such a distance, two neighbors are expected to be able to talk each other *directly*, but surely ping source and sink are not expected to!
This is where mesh should come into play, by finding a correct path, and relaying messages through the mesh.
The behavior obtained with the example provided with ns3 is instead opposite.
Ping sink is able to ear and answer to ping source only if they are in the range of each other.
This is easily reproducible by anyone on a fresh build of ns3
Just build the examples, and then run the example in src/mesh/examples/mesh.cc
If one activates logging, though NS_LOG="UdpEchoServerApplication=level_all|prefix_func|prefix_time", she/he will discover that no packets are received until
the step parameter (distance between two neighbor nodes) is lowered to around 45 meters.
Enabling pcap output, one then will also discover that in that case sink and source are talking each other directly.
And the same can be seen by looking at the xml report files generated by the simulation.
Clearly, I observed the same behavior changing a lot of configuration parameters. But, finally, using the example file make thing more reproducible.
At this point, since mesh is there from time, and since I doubt that there is a so big issue in the simulator, I am here asking help
in understanding what is failing here. There have to be something :(
Cheers
Federico