Lors du Netfilter Workshop 2007, j’ai eu le plaisir de revoir Patrick McHardy et la chance de rencontrer David Miller (Davem) le mainteneur de la couche réseau de Linux.
Patrick envoie assez souvent des séries de patchs impressionnantes à Davem pour demander leur intégration dans le noyau officiel. L’ensemble des contributions des développeurs de Netfilter qui est ainsi transféré lors de ces envois.
Lors d’un des repas, j’ai cité à Davem l’un des plus gros envois de Patrick et je lui ai demandé ce qu’il ressentait lorsqu’il recevait une telle série de patchs. Sa réponse a été rapide :
Je sais que ma journée est finie
Son sourire en disant cela m’avait marqué et je viens de le comprendre en lisant le dernier envoi de Patrick.
Le premier mail de la série est intitulé :
[NETFILTER 00/49]: Netfilter update
Il comporte notamment une série impressionnante de 35 patchs de la main de Patrick. Parmi ceux-ci un gros travail effectué sur nfnetlink_queue, sujet dont je m’occupe particulièrement. J’ai donc relu l’ensemble des patchs pour voir de quoi il en retournait.
Le découpage des patchs est minutieux, chacun est la réponse à un objectif simple clairement précisé dans l’en-tête du mail. Si l’explication n’est pas suffisante, celle-ci est complété par un texte plus long qui avance les raisons des modifications. Prenons par exemple le patch 46. Le mail correspondant commence par :
[NETFILTER]: nfnetlink_queue: remove useless enqueue status codes
The queueing core doesn’t care about the exact return value from
the queue handler, so there’s no need to go through the trouble
of returning a meaningful value as long as we indicate an error.
Le sujet avance l’idée globale et le paragraphe suivant explique clairement les motivations. Comme le patch comporte uniquement cette modification, il est facile de le lire pour comprendre comment cela a été fait et si cela l’a été bien.
Je comprends donc bien le sourire de Davem, travailler avec quelqu’un comme Patrick McHardy est un régal. Un exemple à montrer dans toutes les écoles.