Programmation noyau sous Linux Partie 6 : les pilotes réseau

Magazine
Marque
GNU/Linux Magazine
Numéro
144
Mois de parution
décembre 2011
Spécialité(s)


Résumé
Les pilotes réseau ou network drivers constituent une catégorie majeure dans le développement noyau Linux. La structure de ces pilotes est assez particulière par rapport aux pilotes en mode caractère ou bloc. Dans cette article, nous aborderons les principales étapes de la création d’un pilote réseau. Fidèle à notre réputation pragmatique, nous baserons la démonstration sur le développement d’un exemple complet - mais virtuel - d’interface réseau nommée fake0(en référence à eth0, l’interface réseau habituellement utilisée sous Linux).En plus de cet exemple, nous décrirons les principes de développement d’un pilote basé sur les deux principaux bus de communication actuels, soit PCI et USB. Pour ces deux bus, un squelette de pilote fonctionnel sera fourni.Les exemples liés à cet article sont disponibles sur http://pficheux.free.fr/articles/lmf/kernel_programming/net_drivers.

1. Introduction

Nous avions commencé il y a longtemps une série d’articles concernant le développement noyau sous Linux. Le dernier article concernant le développement des pilotes en mode bloc fut publié en 2008 dans GLMF. Plusieurs facteurs sont à l’origine de cette longue période d’attente pour la publication du présent article, la principale étant l’acquisition de la maîtrise - partielle - de l’API de programmation des pilotes réseau. Il serait illusoire de penser qu’un tel article puisse donner une vision globale d’un domaine aussi complexe, mais il permettra d’aborder de manière plus sereine la compréhension des pilotes réseau fournis avec les sources du noyau.

Il existe quelques publications sur le sujet, en particulier dans les quelques ouvrages de référence cités en bibliographie, dont le fameux Linux Device Drivers version 3 (LDD3) ou l’ouvrage Essential Linux Device Drivers. Sans remettre en question la pédagogie de ces ouvrages…

La suite est réservée aux abonnés. Il vous reste 97% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant