[Ninux-Wireless] VPN "Isole" Tedesca

Gabriel gabriel a autistici.org
Ven 19 Apr 2013 21:22:51 CEST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ho visto il codice e ho trovato essenzialmente due funzioni:
una legge la tabella di route pre-esistente e inietta gli hna, l'altra
sta in ascolto di eventuali cambiamenti sulla tabella e rimuove o
aggiunge route di conseguenza.


Questa è una soluzione di massima che mi è venuta in mente:

Sostituire la chiamata alle funzioni ip_prefix_list_remove e
ip_prefix_list_add (nel proto_plugin) con queste due nuove funzioni:

Nel caso di una nuova route è semplice :
1. la route non è contigua con nessuna route esistente -> aggiungi hna
pari pari
2. la route è già presente -> non far nulla
3. la route è contenuta in una rotta già presente -> non fare nulla (?)
4. la route è contigua con una già esistente -> unione con gli hna
esistenti
5. la route contiene delle route già esistenti -> rimozione degli hna
più piccoli e aggiunta di questo nuovo



Quando dobbiamo rimuoverla però la questione si complica:
6. è presente pari pari nella lista degli hna -> rimuovi
7. è contenuta in un entry hna -> se è ai bordi di questa subnet
basterà "accorciarla" e ricalcolare subnet e indirizzo di rete, se
invece è al centro dobbiamo splittare l'hna in due e aggiungerli.

il problema sorge quando va a scomparire una route che quando è stata
aggiunta rientrava nel caso 5. come facciamo a sapere se al momento
dell'aggiunta della route questa ne conteneva di più piccole che sono
state rimosse?


saluti, Gabriel

> dunque, adesso il proto_plugin legge la tabella di routing
> configurata (nel caso specifico di babel) e per ogni entry genera
> un HNA dicendo che quella rete e' direttamente connessa al router
> OLSR.
> 
> quindi l'idea di Gabriel e' buonissima.
> 
> in pratica il proto_plugin dopo aver letto la tabella di routing,
> deve fare del processing per aggregare l'aggregabile, e poi
> generare i messaggi HNA.
> 
> non e' sempre banale aggregare l'aggregabile.
> 
> se ho 192.168.0.0/24 e 192.168.1.0/24 li posso aggregare in modo 
> perfetto in 192.168.0.0/23
> 
> ma se ho tante /24 spagliate, non e' che posso annunciare una /16
> che le contiene tutte a cazzometro. Quindi ci si deve ragionare
> bene, perche' nell'aggregazione non bisogna tirarsi dietro reti che
> non erano presenti nelle singole reti specifiche.
> 
> saluti !
> 
> Saverio _______________________________________________ Wireless
> mailing list Wireless a ml.ninux.org 
> http://ml.ninux.org/mailman/listinfo/wireless

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJRcZmKAAoJEESx6+O1zsXFmo8IAMM7QI9V5m++nCCHkzwRNDIU
Kf3SB0Sa2UFJKsfHwSXTtZbVLFJki/UFi23zdJODuoNUoT6FKdERcYuBA+HzK2eb
HJ1qPgjMmbAtQqBoWgxWUNg3BgKJwSPgCYDLVGFNMdpTxJ4s7KrAT+Wx784orAjh
OH2B0rAzKuI0H7SKPE59/60Dzl2MwYeu4DTUnERdJL92q4B5EUU/LHH89spfMFsK
ebmbk/c7ukSumN9/lNCmaCXACFDIDi7y4JflNYdaq0MaYzFHmSDFORY7AkCPVxS+
Sgb+BQ5pCq6Hq0Lw40jDgTv+JFyS4mpGw2PZUby9NnSrJU33LSZYRuiE+0ByIFo=
=fulS
-----END PGP SIGNATURE-----



Maggiori informazioni sulla lista Wireless