Onload®️ adalah tumpukan jaringan tingkat pengguna berkinerja tinggi, yang mempercepat I/O jaringan TCP dan UDP untuk aplikasi yang menggunakan soket BSD di Linux.
OpenOnload terdiri dari pustaka bersama tingkat pengguna yang mencegat panggilan sistem terkait jaringan dan mengimplementasikan tumpukan protokol, serta mendukung modul kernel. Ini kompatibel dengan API panggilan sistem lengkap, termasuk aspek-aspek yang biasanya bermasalah untuk jaringan tingkat pengguna, seperti fork(), exec(), meneruskan soket melalui soket domain Unix, dan memajukan protokol saat aplikasi tidak dijadwalkan .
OpenOnload didistribusikan sebagai kode sumber. Petunjuk pembuatan, pengemasan dan pemasangan dapat ditemukan di DEVELOPING.md
Jika ada antarmuka yang akan dipercepat oleh Onload yang bukan antarmuka AMD Solarflare, jalankan perintah berikut untuk mendaftarkan antarmuka tersebut untuk dipercepat menggunakan AF_XDP:
echo ens2f0 > /sys/module/sfc_resource/afxdp/register
Aplikasi yang akan Onloaded harus diluncurkan dengan mengawali baris perintah dengan onload
.
Repositori yang dihosting secara publik adalah proyek yang didukung komunitas. Saat mengemukakan masalah pada repositori ini, diharapkan pengguna akan menjalankan dari awal pohon git untuk mengambil perubahan terkini, tidak menggunakan versi resmi Onload yang biasanya dirilis sebelum perubahan kernel terbaru muncul karena hal tersebut kemungkinan besar akan menyebabkan banyak masalah duplikat yang diangkat. Ketidakcocokan yang disebabkan oleh versi kernel terbaru kemungkinan besar akan diperbaiki dengan cepat di sini, di repositori ini.
Rilis OpenOnload yang didukung tersedia dari https://www.xilinx.com/support/download/nic-software-and-drivers.html#open. Silakan sampaikan masalah pada rilis Onload yang didukung dengan [email protected].
Pohon sumber ini kompatibel dengan kernel dan distribusi Linux berikut:
Onload memberikan akselerasi jaringan optimal dan fitur tambahan menggunakan antarmuka perangkat keras ef_vi asli yang disediakan oleh adaptor jaringan AMD Solarflare dibandingkan dengan menggunakan mekanisme AF_XDP Linux. Dalam mode ini, dukungan kernel dan driver untuk AF_XDP tidak diperlukan.
Versi driver net 'sfc' untuk adaptor jaringan AMD Solarflare disertakan.
Adaptor berikut dapat mendukung OpenOnload tanpa AF_XDP:
OpenOnload dapat mempercepat aplikasi pada adaptor jaringan non-Solarflare dengan dukungan untuk AF_XDP.
Untuk mendukung zero-copy, Onload memerlukan driver adaptor jaringan AF_XDP untuk mengimplementasikan primitif AF_XDP yang diperlukan. Biasanya driver terbaru dari vendor adaptor jaringan akan mendukung primitif ini.
Dukungan AF_XDP adalah pekerjaan yang sedang berjalan dan didukung komunitas, yang saat ini belum dalam kualitas rilis.
Jika netdriver tidak mendukung AF_XDP dalam mode asli, Onload akan mencoba menggunakan mode XDP generik saat mendaftarkan antarmuka. Untuk membuatnya berfungsi, kita harus menyiapkan userland helper sebelum mendaftarkan antarmuka:
$ make -C ./src/tools/bpf_link_helper/
$ echo $( realpath ./src/tools/bpf_link_helper/bpf-link-helper ) | sudo tee /sys/module/sfc_resource/parameters/bpf_link_helper
OpenOnload dapat dibangun tanpa driver SFC:
make
: gunakan variabel HAVE_SFC=0
;onload_build
& onload_install
: gunakan parameter --no-sfc
;onload_tool reload
: gunakan parameter --onload-only
.Selain itu, dapat dibuat tanpa dukungan EFCT dan AUX:
make
: gunakan variabel HAVE_EFCT=0
;onload_build
: gunakan parameter --no-efct
. Silakan lihat KONTRIBUSI.md
File ini: (c) Hak Cipta 2020-2024 Advanced Micro Devices, Inc.