<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<pre>Bonjour,</pre>
<br>
Le 11/11/2011 19:54, Laurent GUERBY a écrit :
<blockquote cite="mid:1321037664.2806.1126.camel@pc2" type="cite">
<pre wrap="">On Fri, 2011-11-11 at 18:54 +0100, Jocelyn Delalande wrote:
</pre>
<blockquote type="cite">
<pre wrap="">D'où question : je comprend bien que ce pseudo-header de niveau 2 est
éventuellement nécessaire, même sur un tun (donc niveau 3), mais ces
pseudo en-têtes tun sont elles documentées quelque-part ? On ne trouve pas…
</pre>
</blockquote>
<pre wrap="">
Bonsoir,
A priori pour ce projet on s'interesse au niveau 2 donc
seulement au tap, pas la peine de jouer avec tun :).
La documentation de /dev/tun est dans les sources du kernel :
<a class="moz-txt-link-freetext" href="http://www.mjmwired.net/kernel/Documentation/networking/tuntap.txt">http://www.mjmwired.net/kernel/Documentation/networking/tuntap.txt</a>
<<
3.2 Frame format:
103 If flag IFF_NO_PI is not set each frame format is:
104 Flags [2 bytes]
105 Proto [2 bytes]
106 Raw protocol(IP, IPv6, etc) frame.
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
<pre wrap="">
Le seul flag defini dans les sources du 3.0.8 a l'air d'etre :
./include/linux/if_tun.h:#define TUN_PKT_STRIP 0x0001
./drivers/net/tun.c: pi.flags |= TUN_PKT_STRIP;
Probablement utiliser IFF_NO_PI donc.
</pre>
<blockquote type="cite">
<pre wrap="">Pour l'instant on va se contenter de dropper ces premiers octets, mais
on aimerait comprendre de manière précise ce qu'est ce truc.
Merci d'avance si vous avez des pistes :)
</pre>
</blockquote>
<pre wrap="">
En cherchant une solution a un probleme particulier des membres de
tetaneutral.net sur une ADSL je pense avoir une méthode alternative de
tunnel aggregant : plutot que de faire du /dev/tun juste faire un tunnel
UDP qui dispatche les paquets sur plusieurs connections UDP. Et ensuite
lancer un simple openvpn (qui va gerer authentification et compression)
par dessus ce tunnel UDP.</pre>
</blockquote>
<pre>C'est ce que fait linkagreg,
il ouvre plusieurs connexions UDP (Socket UDP) entre le client et le serveur,
l'interface tun (qui peut facilement être remplacé par tap), sert juste d'interface de communication avec le "kernel network".
Pour l'instant dans l'outil je me suis focalisé sur le transport des données,
toutes les autres parties sont pour l'instant en dure dans le code ou reste à développer
(authentification, gestion des signaux, routage pour support de multi client, optimisation...)
La prochaine phase que je pense ajouter est la fragmentation des paquets.
si vous voulez essayer, voila comment je l'utilise:
##############################
# VM Serveur eth0= 192.168.1.1
##############################
<b>./linkagreg -s -d -i tun10 &
ip addr add 10.0.0.1/24 dev tun10
ip link set up dev tun10</b>
##############################
# VM Client eth0=192.168.1.2
# eth1=192.168.1.3
# ouverture de 2 tunnel UDP:
# 192.168.1.2 <--> 192.168.1.1
# 192.168.1.3 <--> 192.168.1.1
##############################
<b>./linkagreg -c 192.168.1.1 -f 192.168.1.2,192.168.1.3 -d -i tun10 &
ip addr add 10.0.0.2/24 dev tun10
ip link set up dev tun10
</b>
PS: le projet a été développé avec l'IDE code::Block.
A+
Fernando
</pre>
<br>
<blockquote cite="mid:1321037664.2806.1126.camel@pc2" type="cite">
<pre wrap="">
J'ai un bout de code qui ne marche pas encore mais ca devrait pas
tarder. Une piste de plus :).
Laurent
_______________________________________________
projet-agregation mailing list
<a class="moz-txt-link-abbreviated" href="mailto:projet-agregation@lists.tetaneutral.net">projet-agregation@lists.tetaneutral.net</a>
<a class="moz-txt-link-freetext" href="http://lists.tetaneutral.net/listinfo/projet-agregation">http://lists.tetaneutral.net/listinfo/projet-agregation</a>
</pre>
</blockquote>
<br>
</body>
</html>