Ներառված է GCC կոմպիլյատորների փաթեթում
Ի լրումն բայթկոդերի ստեղծման հետին պլանի, GCC-ն ներառում է libgcc պորտ eBPF-ի համար և գործիքներ ELF ֆայլեր ստեղծելու համար, որոնք հնարավորություն են տալիս կատարել կոդը eBPF վիրտուալ մեքենայում՝ օգտագործելով միջուկով տրամադրվող բեռնիչներ: GCC-ում eBPF-ին աջակցելու պատչերը պատրաստվել էին Oracle-ի ինժեներների կողմից, որոնք արդեն պատրաստել էին
Ծրագրերը eBPF-ի համար կարող են սահմանվել C լեզվի ենթաբազմությունում, կազմվել և բեռնվել միջուկում: Նախքան կատարումը, eBPF թարգմանիչը ստուգում է բայթ կոդը՝ թույլատրելի հրահանգների օգտագործման համար և որոշակի կանոններ է սահմանում կոդի վրա (օրինակ՝ առանց հանգույցների):
Սկզբում LLVM-ի վրա հիմնված գործիքներն օգտագործվել են Linux-ում eBPF-ն կազմելու համար։ eBPF-ի աջակցությունը GCC-ում հետաքրքիր է, քանի որ այն թույլ է տալիս օգտագործել մեկ գործիքակազմ՝ ստեղծելու Linux միջուկը և eBPF ծրագրերը՝ առանց լրացուցիչ կախվածություններ տեղադրելու:
eBPF ծրագրերի տեսքով դուք կարող եք ստեղծել ցանցային գործառնությունների մշակիչներ, զտել տրաֆիկը, կառավարել թողունակությունը, վերահսկել համակարգերը, ընդհատել համակարգային զանգերը, վերահսկել մուտքը, հաշվել գործողությունների հաճախականությունն ու ժամանակը և կատարել հետագծումներ՝ օգտագործելով kprobes/uprobes/tracepoints:
Source: opennet.ru