Netfilter'i võrgu paketifiltreerimise ja -muutmise alamsüsteemi arendajad koostasid plaastrite komplekti, mis kiirendab oluliselt suurte vaste loendite (nftables set) töötlemist, kus on vajalik alamsüsteemide, võrguportide, protokolli ja MAC-aadresside kombinatsiooni kontrollimine. Plaastrid on juba vastu võetud , mis pakutakse välja Linuxi 5.7 tuumasse. Olulisim kiirusetõus saavutati käskude kasutamisega (tulevikus on plaanis avaldada sarnased optimeerimised NEON käskude alusel ARM-i jaoks).
Optimeerimised on tehtud moodulisse (PIle PAcket POlicies), mis lahendab probleemi pakettide sisu vastavuse tuvastamisega filtrireeglitega seotud väljade, nagu IP ja võrguportide vahemikud (nft_set_rbtree ja nft_set_hash manipuleerivad vahemike vastavusega ja otsese väärtuste peegeldamisega). AVX2 256-bitiste käskude abil vektoriseeritud pipapo versioon AMD Epyc 7402 protsessoriga näitas 30 000 kirje uurimise ajal 420% jõudluse kasvu, sealhulgas sadamakombinatsioon ja protokoll. Alamsüsteemi ja portide numbri vastavuse tundmine 1000 kirje analüüsimisel näitas 87% kasvu IPv4 ja 128% kasvu IPv6 puhul.

Teine optimeerimine, mis võimaldab kasutada 8-bitiseid vastavuse gruppe 4-bitiste asemel, näitas samuti märkimisväärset jõudluse kasvu: 66% jõudlus 30 000 kirje uurimisel sadamakombinatsioon ja protokoll, 43% - alamsüsteem_IPv4-port ja 61% - alamsüsteem_IPv6-port. Kokku, koos AVX2 optimeerimistega, kasvas pipapo jõudlus nendes testides vastavalt 766%, 168% ja 269%. Saadud omadused keerukate vastavuste jaoks ületavad üksikute väljade kontrolle (välja arvatud sadama ja protokolli kombinatsiooni test), kuid jäävad siiski alla otsestele kontrollidele hashide kaudu Netfilter'i võrgu paketifiltreerimise ja -muutmise alamsüsteemi arendajad avaldasid plaastrite komplekti.

Allikas: opennet.ru
