I lavori di sviluppo di Linux 5.19, ovvero la futura major release del kernel del Pinguino, vanno a pieno regime da diversi giorni. La scorsa settimana vi abbiamo parlato delle diverse novità in arrivo su tale release di Linux, come ad esempio i nuovi driver per Btrfs, che permettono un miglioramento delle performance con tale file system, oppure l'introduzione del supporto al TDX Enablement Positioned, che abilita la gestione e la creazione di macchine virtuali isolate a livello "hardware" definite come "trust domain". Oggi vogliamo focalizzarci sulle novità in arrivo nel networking subsystem, ovvero quella parte di codice che gestisce la connessione di rete e si interfaccia con le diverse periferiche dedicate.
In Linux 5.19 è in arrivo un vasto bacino di patch contenenti una serie di feature innovative dedicate proprio a tale settore. Una delle più interessanti è quella riguardante il supporto a Big TCP. Si tratta di un'edizione del noto protocollo TCP (Transmission Control Protocol) che consente di raggiungere velocità maggiori e ridurre il TCP/IP stack overhead con determinate tipologie di connessioni. Sostanzialmente Big TCP permette di superare l'attuale packet limit size dei TSO/GRO, che è attualmente di 64KB, con IPv6. Questo elemento consente quindi di introdurre enormi miglioramenti del throughput e di ridurre le latenze. Nel dettaglio le patch riguardanti Big TCP saranno implementate nei driver di rete per VETH, MLX4 e MLX5.
Su Linux 5.19 saranno anche proseguiti i lavori di miglioramento del codice inerente al MPTCP (Multi-Path TCP), ovvero quell'implementazione del ventaglio di protocolli gestiti dalla Internet Engineering Task Force, che permette, sfruttando sempre una versione di TCP, di utilizzate più percorsi di rete per massimizzare il throughput e aumentare la ridondanza. I mantainer del kernel stanno infatti preparando il supporto al MPTCP path manager. Inoltre è prevista l'introduzione di un sistema di fallback automatico che in determinati contesti permetterà il ritorno del sistema alle normali connessioni TCP cosi da prevenire possibili instabilità della connessione.