I am doing a research on routing in a hybrid (combination of static and mobile dynamic routers) mesh. I want to use the mesh potatoes as well as the batphone (android version of batman) to create a mesh model. due to the mobility and stability we want to add another factor in the route ranking on the batman, thus the routing decisions not to be solely based on the OGM's.thus we want to take the current situation of the network into consideration when routing. First we say the recently received OGMs will give a clear indication on the reliability on the link, so we give the recently received OGMs from the sliding window a priority in deciding the best next hop link towards a destination. We want to count and add the indexes were an OGM was recorded in an interval (seconds), (hence the recently received OGM will have more weight). At the end the link with more recent OGMs will have more weight and hence become the current best link. I went through the source code so many times and I got few questions about this:
1. What structure is used to keep track of the sliding window? If its the has how does it get updated based on the sliding packet range? 2. How are the OGM's recorded, is in a form of binary where 1 will represent the received OGM and 0 otherwise? 3. I looked in the source and still not sure of where the ranking decisions are made, can you enlighten me on that?
On the second approach we want to use mac layer stats to estimate the signal strength and probably the congestion rate of the top N ranked links. We acknowledge the fact that usually links with lower signal strength will loose more OGM's which results in an automatic low rank, however in a frequently changing topology, current signal strength is crucial. We plan to use SNR or RSSI in this case.
1. How can i get the RSSI/LQI of th neighbor links? I would really appreciate your opinions and advices in this regard more specially how to go about implementing changes in BATMAN protocol. Thanks Kind Regards