2010/12/13 Xavier Nicollet <nicol...@jeru.org>: > Le 10 décembre 2010 à 23:39, Mattieu Baptiste a écrit: >> Ça n'a rien à voir avec les adresses IP, ça a voir avec sockaddr_in6, >> qui, contrairement à sockaddr_in peut ne pas être aligné et qui oblige >> de recourir en permanence à des hacks pour s'assurer de l'alignement. > > Avec des @ qui font 128 bits, je vois mal comment ça peut ne pas être > aligné. Est-ce vraiment si important que ça l'alignement, de nos jours, > sur les archi qu'on utilise ?
Encore une fois, l'alignement n'a rien à voir avec la taille de l'adresse ! La structure de base dans l'implémentation d'IPv4 est sockaddr_in. Celle-ci fait en principe 16 octets. Ce qui est aligné pour la majorité des machines/os (par exemple x86 et x86-64 qui ont des pointeurs alignés sur 4 et 8 octets respectivement). En IPv6, sockaddr_in6 fait 28 octets, ce qui n'est pas une puissance de 2. C'est aligné pour les machines/os alignés sur des pointeurs de 4 octets mais pas pour 8. Et avec la démocratisation des architectures 64 bits... c'est assez ballot pour un protocole qui doit être celui du futur ! Un exemple ? Parcourir les sources des daemons de routage libres comme OpenBGPD et Quagga pour se convaincre des hacks nécessaires uniquement pour IPv6 sur des architectures 64 bits. -- Mattieu Baptiste "/earth is 102% full ... please delete anyone you can." --------------------------- Liste de diffusion du FRnOG http://www.frnog.org/