[technique] Optimisation du kernel des routeurs

Laurent GUERBY laurent at guerby.net
Lun 1 Oct 16:17:27 CEST 2012


On Sun, 2012-09-30 at 04:00 +0200, Jérôme Nicolle wrote:
> Plop,
> 
> On en a déjà vaguement parlé mais j'ai trainé à sortir les éléments
> technique, voici donc un récap du problème d'algo de routage sous linux.
> 
> Historiquement la table de routage de Linux est une hastable. C'est
> simple et ça marche très bien pour des petites tables de routage. Ce
> n'est pas fait pour une full view.
> 
> Depuis le 2.6.13 le patch fib_trie a été mergé en experimental dans la
> stack IPv4 du kernel. Il n'est que très rarement activé car il n'a aucun
> intérêt pour tenir trois routes. Cependant depuis le 2.6.39 fib_trie est
> devenue l'implémentation par défaut et fib_hash.c a été supprimé.
> 
> Dans notre cas par contre,
> 
> > root at h3:~# ip r l | wc -l
> > 422830
> 
> le gain est difficile à estimer, mais avec la maturation du code de
> fib_trie.c il pourrait être assez intéressant. Concrètement, ça
> permettrait de tenir plus de charge en cas d'attaque en PPS/DoS.
> 
> Je n'ai pas trouvé de benchmark factuel pour étayer cette supposition,
> j'ai par contre intuitivement la conviction que ça ne peut pas faire de mal.
> 
> La config actuelle sur h3 est, sur un 2.6.32 :
> 
> > # CONFIG_IP_FIB_TRIE is not set
> > CONFIG_IP_FIB_HASH=y
> 
> la doc correspondante à l'option fib_trie (notes d’implémentation) est là :
> 
> http://www.mjmwired.net/kernel/Documentation/networking/fib_trie.txt
> 
> Je recommande de planifier un update des kernels de gw et h3 vers une
> version la plus récente possible (derniers comits de fib_trie par Linus
> le 23/05/2011, mais peu de mouvement depuis 2010 hors l'ajout global du
> prefetching) . Leur mise en place effective devrait se faire de façon
> synchrone avec l'upgrade de bird et des configs.

Bonjour,

Il y a des evolutions recentes sur le routage dans le noyau,
cf les liens netdev ici :

http://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/AtelierPPS2012

Pour le moment le travail de test en lab reste a faire, incluant
la partie netmap.

Sincèrement,

Laurent




Plus d'informations sur la liste de diffusion technique