La concordança de llista complexa de NetFilter s'accelerarà al nucli Linux 5.7

Desenvolupadors del subsistema de filtratge i modificació de paquets de xarxa Netfilter publicat un conjunt de pedaços que acceleren significativament el processament de llistes de mapes grans (nftables set), que requereixen comprovar una combinació de subxarxes, ports de xarxa, protocol i adreces MAC. Els pedaços ja s'accepten a la sucursal nf-següent, que es proposarà per incloure'ls al nucli Linux 5.7. L'acceleració més notable es va aconseguir gràcies a compromís Instruccions AVX2 (en el futur, està previst publicar optimitzacions similars basades en instruccions NEON per a ARM).

Optimitzacions realitzades al mòdul nft_set_pipapo (PIle PAcket POlicies), que resol el problema de fer coincidir el contingut d'un paquet amb intervals arbitraris d'estats de camp utilitzats en regles de filtratge, com ara intervals de ports IP i de xarxa (nft_set_rbtree i nft_set_hash manipulen la concordança d'intervals i la reflexió directa dels valors). Una versió de pipapo vectoritzada amb instruccions AVX256 de 2 bits en un sistema amb un processador AMD Epyc 7402 va mostrar un augment del rendiment del 420% en analitzar 30 registres que incloïen enllaços de protocol de port. L'augment de la concordança d'un enllaç d'una subxarxa i un número de port en analitzar 1000 entrades va ser del 87% per a IPv4 i del 128% per a IPv6.

La concordança de llista complexa de NetFilter s'accelerarà al nucli Linux 5.7

Una altra optimització, que permetia l'ús de grups de mapes de 8 bits en comptes de 4 bits, també va mostrar guanys de rendiment mesurables: 66% en analitzar entrades de protocol de port de 30k, 43% per a subnet_IPv4-port i 61% per a subnet_IPv6-port. En total, tenint en compte les optimitzacions de l'AVX2, el rendiment de pipapo va augmentar en aquestes proves un 766%, un 168% i un 269%, respectivament. Les característiques obtingudes per a comparacions complexes van per davant de les proves de camps individuals rbtree (a excepció de la prova de port + protocol), però fins ara estan endarrerits amb les proves directes hash i gestors de caiguda basats en netdev.

La concordança de llista complexa de NetFilter s'accelerarà al nucli Linux 5.7

Font: opennet.ru

Afegeix comentari