Nel kernel Linux 5.7 saranno accelerati i complessi abbinamenti basati su liste in NetFilter

Sviluppatori del sottosistema di filtraggio e modifica dei pacchetti di rete Netfilter hanno pubblicato un insieme di patch che accelerano significativamente l'elaborazione di grandi elenchi di corrispondenza (nftables set), in cui Γ¨ necessaria la verifica della combinazione di sottoreti, porte di rete, protocollo e indirizzi MAC. Le patch sono giΓ  state accettate nel ramo nf-next, che sarΓ  proposta per l'inclusione nel kernel Linux 5.7. Il miglioramento delle prestazioni piΓΉ significativo Γ¨ stato ottenuto grazie all'uso di istruzioni AVX2 (in futuro si prevede di pubblicare ottimizzazioni simili basate su istruzioni NEON per ARM).

Le ottimizzazioni sono state apportate al modulo nft_set_pipapo (PIle PAcket POlicies), che risolve il compito di abbinare il contenuto dei pacchetti con gli intervalli di stato delle variabili applicabili nelle regole di filtraggio, come gli intervalli IP e delle porte di rete (nft_set_rbtree e nft_set_hash gestiscono l'abbinamento degli intervalli e il diretto riflesso dei valori). La versione pipapo vettorializzata con istruzioni AVX2 a 256 bit su un sistema con processore AMD Epyc 7402 ha mostrato un incremento delle prestazioni del 420% nell'analisi di 30 mila registrazioni, incluse le combinazioni porta-protocollo. L'incremento nell'abbinamento della combinazione subnet e numero di porta nell'analisi di 1000 registrazioni Γ¨ stato del 87% per l'IPv4 e del 128% per l'IPv6.

Nel kernel Linux 5.7 saranno accelerati i complessi abbinamenti basati su liste in NetFilter

Un'altra ottimizzazione che consente di utilizzare gruppi di abbinamento a 8 bit invece di 4 bit ha anche mostrato un considerevole incremento delle prestazioni: 66% nell'analisi di 30 mila registrazioni porta-protocollo, 43% per subnet_IPv4-port e 61% per subnet_IPv6-port. In totale, considerando le ottimizzazioni AVX2, le prestazioni di pipapo sono aumentate nei test indicati del 766%, 168% e 269% rispettivamente. Le caratteristiche ottenute per gli abbinamenti complessi superano i controlli dei singoli campi in rbtree (eccetto il test della combinazione porta+protocollo), ma sono ancora in ritardo rispetto ai controlli diretti effettuati tramite hash e gestori di drop basati su netdev.

Nel kernel Linux 5.7 saranno accelerati i complessi abbinamenti basati su liste in NetFilter

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS πŸ”₯ Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster