GCC kompilyator dəstinə daxildir
Baytkod yaratmaq üçün arxa plana əlavə olaraq, GCC eBPF üçün libgcc portunu və nüvə ilə təmin edilmiş yükləyicilərdən istifadə edərək eBPF virtual maşınında kodu icra etməyə imkan verən ELF faylları yaratmaq üçün alətləri ehtiva edir. GCC-də eBPF-ni dəstəkləmək üçün yamaqlar Oracle-dan olan mühəndislər tərəfindən hazırlanmışdır
eBPF üçün proqramlar C dilinin alt dəstində müəyyən edilə, tərtib oluna və nüvəyə yüklənə bilər. İcra etməzdən əvvəl eBPF tərcüməçisi icazə verilən təlimatların istifadəsi üçün bayt kodunu yoxlayır və koda müəyyən qaydalar qoyur (məsələn, döngələr yoxdur).
Əvvəlcə Linux-da eBPF-ni tərtib etmək üçün LLVM əsaslı vasitələrdən istifadə edilmişdir. GCC-də eBPF dəstəyi maraqlıdır, çünki o, əlavə asılılıqlar quraşdırmadan Linux nüvəsini və eBPF proqramlarını yaratmaq üçün bir alət dəstindən istifadə etməyə imkan verir.
eBPF proqramları şəklində siz şəbəkə əməliyyat idarəçiləri yarada, trafiki süzə, bant genişliyini idarə edə, sistemlərə nəzarət edə, sistem zənglərini ələ keçirə, girişə nəzarət edə, əməliyyatların tezliyini və vaxtını hesablaya, kprobe/uprobes/tracepoints istifadə edərək izləyə bilərsiniz.
Mənbə: opennet.ru