3 Bibliothèques fournies
Trois bibliothèques sont utilisées pour construire la pile. Une bibliothèque concernant
les interfaces Ethernet virtuelles et une bibliothèque de gestion d'évenements ont déjà
été présentées dans le tutorat précédent de réalisation d'une couche liaison. Une troisième
bibliothèque permet de gérer des tableaux associatifs.
3.1 Bibliothèque de tableaux associatifs
Le but de ces tableaux est de remplacer les structures statiques de C. De nombreuses
structures seraient nécessaires pour communiquer entre les différentes couches de
la pile TCP/IP. Les tableaux associatifs remplacent ces structures.
3.2 Bibliothèque de gestion d'événements
Cette bibliothèque permet de gérer des événements déclenchés avec effet immédiat, avec
effet différé ou par une activité sur un descripteur de fichier.
3.3 Bibliothèque de gestion d'interfaces Ethernet virtuelles
Comme dans le projet précédent cette bibliothèque contient une unique fonction
permettant de créer une interface Ethernet virtuelle. Ne pas oublier les drapeaux
IFF_TAP et IFF_NO_PI lors de l'appel. Il est rappelé que la lecture et
l'écriture sur une interface TAP est triviale; les paquets sont envoyés directement
sans mention de leur taille. La création d'une interface TAP nécessite des droits
spécifiques. Pour donner ces droits à votre programme vous utiliserez le script
setcap déclaré dans le fichier super.tab des machines de TP. De la
même façon, un utilisateur normal ne peut pas configurer une interface réseau;
utilisez à nouveau la commande super mais en appelant cette fois le script
ifconfig.