La fase di Startup
Nella fase iniziale, alcuni meccanismi del demone Netsukuku hanno bisogno di accortezze particolari.
In questa fase ad esempio è necessario verificare se siamo soli o abbiamo dei vicini già membri di una rete Netsukuku. Questa operazione la può fare il modulo Radar, ma si deve appoggiare su interfacce di rete attivate. L'attivazione delle interfacce di rete è compito della microfunc hook, ma questa si appoggia sui dati del vicinato forniti dal meccanismo del Radar.
Nella fase iniziale dunque, vanno fatte una serie ordinata di operazioni che permettono di avviare le normali operazioni che si coordineranno a vicenda in seguito.
Questa fase è implementata nel metodo initialize della classe NtkNode, richiamato dal modulo di avvio del demone Netsukuku.
Attualmente, la sequenza delle operazioni è:
- enable ip forwarding
- start just UDP servers
- first hook to activate interfaces and doing the radar scan
- just one radar
- re-initialize the UDP servers sockets
- clean our map route
- now the real hooking can be done
- re-initialize the UDP servers sockets, enable replying to other radars, and start the TCP servers
- re-initialize the UDP client socket before launching radar
- From now on a complete reset is needed for each new hook. Questo reset è composto da
- clean our map route
- close the server socket
- restart servers
- now keep doing radar forever.