gwtest és un programa escrit en shell script que usa iptables i fping per a comprovar la disponibilitat de l'accés directa a Internet configurat en un node.
L'ús principal d'aquest programa es comprobar constantment l'estat de l'accés directa a Internet configurat en un node i actuar consequentment en detectar canvis en la disponibilitat d'aquest accés.
El gwtest amb l'script de init.d s'engega per defecte a aquells nodes que tenen configurada una connexió directa a Internet. En engegar-se crea unes normes d'iptables per a poder realitzar els tests de la disponibilitat de l'accés a Internet, a continuació es manté engegat comprovant constantment si el node disposa de accés a Internet configurat.
Per realitzar les comprovacions realitza pings als servidors configurats través de la porta d'enllaç configurada com a connexió directa a Internet. En cas de detectar que no estar disponible la connexió directa a Internet fa que el node deixi de publicar que ell disposa d'accés a Internet, a més a més configura el node perquè busqui un altre node de la mesh que disposi d'internet. En cas de detectar que la connexió directa a Internet torna a estar operativa el programa fa que el node torni a usar aquesta connexió directa a Internet i la publiqui a la mesh.
El programa gwtest disposa de parametres que modifiquen el seu comportament:
# gwtest -h GraciaSensefils.net Mesh Gateway Test Usage: /usr/bin/gwtest arguments Optional arguments: -h Show this help message. -l Set loop mode. -b Set action mode for batmand (publish/search Internet). -x Set action mode for bmxd (publish/search Internet). -s Set action mode for squid-splash (soft-stop/soft-start).
Així doncs executant la següent comanda obtenim el comportament descrit anteriorment.
# gwtest -l -b -x -s
Executant la següent comanda només ens informarà un cop de l'estat de la connexió directa a Internet configurada.
# gwtest
Executant la següent comanda només ens informarà dels canvis en l'estat de la connexió directa a Internet configurada.
# gwtest -l
Executant la següent comanda comprovarà un cop l'estat de connexió directa a Internet i informarà a bmxd en cas que s'hagi produit un canvi.
# gwtest -x