Posts Tagged ‘programming’

Nodeshot sprint 6-11 Maggio 2015 con Guifi

Sunday, May 3rd, 2015

nodeshot

Dal 6 all’11 Maggio ci sarà uno sprint di sviluppo su nodeshot a Madrid al Medialab Prado in occasione dell’evento Visualizar’15.

Durante il workshop alcuni partecipanti di Ninux e Guifi si incontreranno per migliorare nodeshot applicandolo ad un un prototipo di mappa locale di Guifi.

E’ possibile partecipare allo sprint anche da remoto, entra in contatto con noi tramite la mailing list dedicata a nodeshot, sulla documentazione puoi trovare le istruzioni su come cominciare a contribuire.

Olsr e l’mdns plugin al Gsoc 2012

Friday, May 11th, 2012

Dopo la felicità e l’eccitazione per l’accettazione al Google Summer of Code mi sono rimboccato le maniche e ho incominciato a prepararmi sul lavoro da fare.

Dietro consigli di Saverio ho studiato diversi documenti e libri sulla struttura di socket e la gestione della rete in ambiente unix, all’inizio tutti quei socket(), connect() e send() mi hanno lasciato spiazzato, ma con calma è pazienza ho assimilato i concetti di base.

Dovendo lavorare su un progetto in complesso e continuo mutamento come olsr si è presentata la necessità di utilizzare uno strumento per la gestione del codice scritto e organizzazione delle modifiche. L’utilizzo di git era quindi d’obbligo, ed essendo uno strumento potente anche qui bisognava cercarne di capire il funzionamento basilare prima di poterlo usare.

Dopo qualche ultima breve guida sull’utilizzo di vim e cscope ho potuto dare ufficialmente il via alle danze, ho fatto un fork della branch stable di olsr e da li si è potuto incominciare a lavorare direttamente sul plugin di mdns. Il problema attuale del plugin è che non distingueva se un pacchetto mdns presente nella rete locale era stato ricevuto dalla rete olsr oppure era stato generato localmente, per ovviare al problema ho dovuto modificare il Time to Live (o Hop Limit per l’ipv6) dei pacchetti mdns provenienti dalla rete olsr impostandolo ad 1, poi ho anche fatto in modo che il plugin scartasse i pacchetti mdns presenti nella rete locale con time to live uguale a 1. In questo modo i pacchetti generati da dispositivi presenti nella rete interna sarebbero tranquillamente passati nella rete olsr mentre quelli provenienti dalla rete olsr sarebbero stati comunque fruibili ai device sulla rete interna.

Dopo qualche piccolo problema per la gestione delle struct dei pacchetti ipv6 una prima versione del codice è ora pronta per il testing, utilizzando netkit ora mi aspettano le prove e se necessario il relativo debug.