I am working in an environment consisting of 4 OpenWrt routers, each serving multiple clients via Wi-Fi and containing. Each one of them provides the clients with Internet access.
I have 3 questions regarding this scenario and I would appreciate if any of you could answer any of these questions (you can answer just 1 and I will still be very thankful):
1) When I'm inside a router (via ssh or other mechanism), what command or package could I use to discover the IP address and hostname of the other routers? Would avahi help me with this or would I need to know, beforehand, the IP of the other routers? What if I add a new router to this environment, would I have to manually configure each router to recognize the new one?
2) Considering I'm collecting measurements of latency and packet drops in each router, when clients stop being able to access Internet services, how would I know if each router/network is congested or if I just don't have internet access? Because in both cases, the ping command would most likely not work and the packets would also be dropped.
3) Taking into account that the routers will be connected through a high speed wireless link, what protocol or software should be used so they can communicate between them, like pinging each other (considering that they already know each other - question 1)?
Note: These questions are not specific to OpenWrt routers.
[EDIT] Each router is in a separate room and so, in each room, a network is created, like 10.0.1.0/24, and in the next room 10.0.2.0/24 and so on.
Each router contains a SIM card which allows it to connect to the cellular network and thus, provide clients of the room with Internet. So, routers don't have a common subnet, each one is associated with a different network.
Also, I have to measure latency and packet drops from the router, because I will set a threshold that, once surpassed, the router must transfer a part of its traffic to another less loaded router. I'm not sure if these two metrics are adequate to measure the link load in a router, though.
So, the information the OpenWrt routers would be sharing between them (every 1 second) is the throughput, latency, packet drops and CPU load. This is so that they are aware of the load of each other. And for this to be possible, each router would have to know which routers are in the environment (hence, discovery), manually or automatically, so that it is impossible for someone to try to act as one of the routers (MiTM).