Kernel Linux 5.7 bakal nyepetake pencocokan dhaptar kompleks ing NetFilter

Pangembang subsistem nyaring lan modifikasi Netfilter kanggo paket jaringan diterbitake pesawat patch sing Ngartekno nyepetake pangolahan dhaptar match gedhe (nftables nyetel), sing mbutuhake mriksa kombinasi subnets, bandar jaringan, protokol lan alamat MAC. Patch wis ditampa ing cabang nf-sabanjure, sing bakal diusulake kanggo dilebokake ing kernel Linux 5.7. Akselerasi paling ngelingke wis ngrambah thanks kanggo melu Instruksi AVX2 (ing mangsa ngarep direncanakake nerbitake optimasi sing padha adhedhasar instruksi NEON kanggo ARM).

Optimizations klebu ing modul nft_set_pipapo (PIle PAcket POlicies), sing ngatasi masalah sing cocog karo isi paket karo kisaran negara lapangan kasepakatan digunakake ing aturan nyaring, kayata IP lan jaringan port kisaran (nft_set_rbtree lan nft_set_hash ngapusi interval cocog lan bayangan langsung saka nilai). Versi pipapo vektorisasi nggunakake instruksi AVX256 2-bit ing sistem kanthi prosesor AMD Epyc 7402 nuduhake peningkatan kinerja 420% nalika ngurai 30 ewu rekaman kalebu kombinasi port-protokol. Tambah nalika mbandhingake kombinasi subnet lan nomer port nalika parsing 1000 cathetan ana 87% kanggo IPv4 lan 128% kanggo IPv6.

Kernel Linux 5.7 bakal nyepetake pencocokan dhaptar kompleks ing NetFilter

Optimization liyane, ngidini nggunakake 8-bit kelompok match tinimbang 4-dicokot, uga nuduhake hasil kinerja pinunjul: 66% nalika parsing 30 ewu entri port-protokol, 43% kanggo subnet_IPv4-port, lan 61% kanggo subnet_IPv6-port. Secara total, kanthi nganggep optimasi AVX2, kinerja pipapo tambah ing tes kasebut kanthi masing-masing 766%, 168% lan 269%. Karakteristik sing dipikolehi kanggo mbandhingake kompleks luwih dhisik tinimbang mriksa lapangan siji rbtree (karo sing istimΓ©wa saka port + test protokol), nanging supaya adoh padha ketinggalan mriksa langsung nggunakake hash lan nyelehake handler adhedhasar netdev.

Kernel Linux 5.7 bakal nyepetake pencocokan dhaptar kompleks ing NetFilter

Source: opennet.ru

Add a comment