Le noyau Linux 5.7 va accélérer les correspondances complexes dans les listes de NetFilter

Les dĂ©veloppeurs du sous-systĂšme de filtrage et de modification des paquets rĂ©seau Netfilter ont publiĂ© ont mis en place un ensemble de correctifs qui accĂ©lĂšrent considĂ©rablement le traitement de grands ensembles de correspondance (nftables set), nĂ©cessitant une vĂ©rification de la combinaison de sous-rĂ©seaux, de ports rĂ©seau, de protocoles et d'adresses MAC. Les correctifs ont dĂ©jĂ  Ă©tĂ© acceptĂ©s dans la branche nf-next, qui sera proposĂ©e pour inclure dans le noyau Linux 5.7. L'accĂ©lĂ©ration la plus significative a Ă©tĂ© obtenue grĂące Ă  l'utilisation des instructions AVX2 (des optimisations similaires basĂ©es sur les instructions NEON pour ARM devraient ĂȘtre publiĂ©es ultĂ©rieurement).

Les optimisations ont été intégrées dans le module nft_set_pipapo (PIle PAcket POlicies), qui résout le problÚme de la correspondance du contenu du paquet avec des plages d'état des champs utilisées dans les rÚgles de filtrage, telles que les plages IP et les ports réseau (nft_set_rbtree et nft_set_hash manipulent la correspondance des intervalles et le reflet direct des valeurs). La version pipapo vectorisée avec des instructions AVX2 à 256 bits sur un systÚme avec un processeur AMD Epyc 7402 a montré un gain de performance de 420 % lors de l'analyse de 30 000 enregistrements, comprenant des paires port-protocole. Le gain pour la correspondance d'une paire sous-réseau et numéro de port pendant l'analyse de 1 000 enregistrements était de 87 % pour IPv4 et de 128 % pour IPv6.

Le noyau Linux 5.7 va accélérer les correspondances complexes dans les listes de NetFilter

Une autre optimisation, permettant d'utiliser des groupes de correspondance de 8 bits au lieu de 4 bits, a également montré un gain de performance significatif : 66 % lors de l'analyse de 30 000 enregistrements port-protocole, 43 % pour sous-réseau_IPv4-port et 61 % pour sous-réseau_IPv6-port. Au total, en tenant compte des optimisations AVX2, la performance de pipapo a augmenté dans les tests indiqués de 766 %, 168 % et 269 % respectivement. Les caractéristiques obtenues pour des correspondances complexes surpassent les vérifications des champs uniques dans rbtree (à l'exception du test de la paire port+protocole), mais sont encore inférieures aux vérifications directes utilisant des hachages et des gestionnaires de drop basés sur netdev.

Le noyau Linux 5.7 va accélérer les correspondances complexes dans les listes de NetFilter

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster