NetFilter komplekse lys passing sal versnel word in die Linux 5.7 kern

Ontwikkelaars van die filtersubstelsel en wysiging van Netfilter-netwerkpakkies gepubliseer 'n stel pleisters wat die verwerking van groot karteringlyste (nftables-stel) aansienlik versnel, wat vereis dat 'n kombinasie van subnette, netwerkpoorte, protokol en MAC-adresse nagegaan word. Plappe word reeds in die tak aanvaar nf-volgende, wat voorgestel sal word vir insluiting in die Linux 5.7-kern. Die mees opvallende versnelling is behaal danksy betrokkenheid AVX2-instruksies (in die toekoms word beplan om soortgelyke optimaliserings gebaseer op NEON-instruksies vir ARM te publiseer).

Optimalisasies wat aan die module gemaak is nft_set_pipapo (PIle PAcket POlicies), wat die probleem oplos om die inhoud van 'n pakkie te pas met arbitrêre reekse veldtoestande wat in filterreëls gebruik word, soos IP en netwerkpoortreekse (nft_set_rbtree en nft_set_hash manipuleer intervalpassing en direkte weerspieëling van waardes). 'n Weergawe van pipapo gevektoriseer met 256-bis AVX2-instruksies op 'n stelsel met 'n AMD Epyc 7402-verwerker het 'n prestasieverhoging van 420% getoon wanneer 30 1000 rekords ontleed is wat poortprotokolbindings ingesluit het. Die toename in ooreenstemming van 'n skakel vanaf 'n subnet en 'n poortnommer wanneer 87 inskrywings ontleed word, was 4% vir IPv128 en 6% vir IPvXNUMX.

NetFilter komplekse lys passing sal versnel word in die Linux 5.7 kern

Nog 'n optimalisering, wat die gebruik van 8-bis-karteringgroepe in plaas van 4-bis-groepe moontlik maak, het ook meetbare prestasiewinste getoon: 66% by die ontleed van 30k poortprotokol-inskrywings, 43% vir subnet_IPv4-poort en 61% vir subnet_IPv6-poort. In totaal, met inagneming van die AVX2-optimalisasies, het pipapo-werkverrigting in hierdie toetse met onderskeidelik 766%, 168% en 269% toegeneem. Die eienskappe wat vir komplekse vergelykings verkry word, is voor die toetse van enkele velde in rbboom (met die uitsondering van die poort + protokol toets), maar tot dusver is hulle agter direkte toetse gebruik hashes en drop-hanteerders gebaseer op netdev.

NetFilter komplekse lys passing sal versnel word in die Linux 5.7 kern

Bron: opennet.ru

Voeg 'n opmerking