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

Magazine
Marque
GNU/Linux Magazine
Numéro
144
|
Mois de parution
décembre 2011
|
Domaines


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.

La suite est réservée aux abonnés. Déjà abonné ? Se connecter

Sur le même sujet

Python « moderne » : comment coder en Python en 2020 ?

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Le langage Python évolue progressivement, version après version et de nouvelles fonctionnalités voient le jour et changent la manière dont le langage peut être appréhendé.Au-delà de la curiosité que ces changements provoquent, ils sont des révolutions silencieuses ayant un impact réel sur le style de codage.

Zéro SQLi malgré les développeurs

Magazine
Marque
MISC
Numéro
111
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Nous proposons une méthode pour effectuer des requêtes SQL qui garantit l'invulnérabilité aux injections SQL, y compris lorsqu'elle est utilisée par un développeur pressé ou incompétent, contrairement aux requêtes paramétrées. Basée sur l'utilisation d'arbres de syntaxe abstraite, elle permet facilement de construire des requêtes dynamiques et est plus facile à mettre en œuvre qu'un ORM. Nous proposons une bibliothèque Java implémentant nos idées, mais la méthode peut s'appliquer à d'autres langages de programmation et d'autres types de requêtes.

Les outils pour les développeurs Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Pouvoir déboguer son code en toutes circonstances, le tester à chaque amélioration, suivre son utilisation et son bon fonctionnement et être capable d’en optimiser les points faibles.Ce sont des enjeux importants que tous les développeurs connaissent. Voici les outils pour y parvenir.

Comment arrêter un ordinateur sans crise de nerfs ?

Magazine
Marque
GNU/Linux Magazine
Numéro
240
|
Mois de parution
septembre 2020
|
Domaines
Résumé

Quoi de plus normal qu'un enfant qui joue ? Le problème n'est pas pendant qu'il joue, c'est plutôt au moment de l'arrêt : que l'on ait accordé 1 h ou 2 h, cela se termine toujours par des cris « J'ai à peine fait 2 parties ! Ça fait même pas 10 mn que je joue ! ». La solution : ne plus intervenir directement !

Par le même auteur

Android 8, le projet Treble

Magazine
Marque
GNU/Linux Magazine
Numéro
221
|
Mois de parution
décembre 2018
|
Domaines
Résumé
Dans le numéro 218 de GLMF, nous avons évoqué le développement C/C++ sous Android en décrivant les fonctionnalités du NDK (Native Development Kit) [1]. Dans cet article, nous allons poursuivre sur notre lancée et décrire la nouvelle architecture Treble disponible dans les dernières versions d’Android, soit 8 (Oreo) et 9 (Pie). Bien entendu, nous évoquerons uniquement la partie système (i.e. les couches « basses ») et nous présenterons quelques tests sur l’émulateur Android produit à partir des sources AOSP [2].

Développement C/C++ sous Android avec le NDK

Magazine
Marque
GNU/Linux Magazine
Numéro
218
|
Mois de parution
septembre 2018
|
Domaines
Résumé
La plupart des développeurs associent Android au développement d’applications en Java (voire depuis peu en Kotlin) en utilisant Android Studio et le SDK. Le nombre de projets Android dans le domaine industriel est cependant en forte croissance ces derniers mois, ce qui implique souvent un historique (C/C++) qu’il faut intégrer dans ce nouvel environnement. Dans cet article, nous verrons comment utiliser le NDK (Native Development Kit) en quelques exemples simples.

Les mystères de l’ioctl()

Magazine
Marque
GNU/Linux Magazine
Numéro
216
|
Mois de parution
juin 2018
|
Résumé
Nous avons maintes fois évoqué le développement de pilotes Linux dans les colonnes de GLMF ou Open Silicium, et ce depuis de nombreuses années (pour ma part depuis 2000 ! [1]). Dans ces nombreux articles, nous avons abordé les principes ainsi que des API spécifiques (PCI, USB, etc.). Dans ce nouvel article, nous allons spécifiquement nous attacher à une fonctionnalité bien connue des systèmes UNIX/Linux (y compris des « UNIX like ») en l’occurrence l’appel système ioctl().

Solutions temps réel avec Yocto et Buildroot

Magazine
Marque
GNU/Linux Magazine
Numéro
213
|
Mois de parution
mars 2018
|
Domaines
Résumé
Nous avons fréquemment évoqué les solutions temps réel pour le noyau Linux dans plusieurs articles de GMLF ou de « feu » Open Silicium. Dans cet article, nous allons voir comment intégrer ces technologies dans Yocto et Buildroot, systèmes de construction de distribution (ou « build systems ») actuellement les plus utilisés pour Linux embarqué. Nous réaliserons la plupart des tests sur une cible Raspberry Pi 3.

Faut s’démener au FOSDEM !

Magazine
Marque
GNU/Linux Magazine
Numéro
213
|
Mois de parution
mars 2018
|
Résumé
Le FOSDEM (Free and OpenSource Developers European Meeting) est tellement incontournable qu’une part non négligeable des auteurs de GLMF s’y rend chaque année. De nombreuses mains et points de vue ont donc participé à ce compte-rendu, pour vous faire part du foisonnement de ce week-end intense.

FOSDEM 2017, Bruxelles

Magazine
Marque
GNU/Linux Magazine
Numéro
202
|
Mois de parution
mars 2017
|
Domaines
Résumé
Le FOSDEM est encore et toujours la principale réunion annuelle des développeurs open source européens, mondiaux voire intergalactiques. Cet article est un bref compte-rendu (très partiel) de sujets évoqués dans quelques « developer rooms » fréquentées par les deux auteurs.