Ба маҷмӯи компилятори GCC дохил карда шудааст
Илова ба пуштибонии тавлиди байткод, GCC дорои порти libgcc барои eBPF ва асбобҳо барои тавлиди файлҳои ELF мебошад, ки имкон медиҳад кодро дар мошини виртуалии eBPF бо истифода аз боркунакҳои аз ядро таъминшуда иҷро кунанд. Часбҳоро барои дастгирии eBPF дар GCC муҳандисони Oracle, ки аллакай таҳия карда буданд, омода кардаанд
Барномаҳо барои eBPF метавонанд дар зермаҷмӯи забони Си муайян карда шаванд, тартиб дода шаванд ва ба ядро бор карда шаванд. Пеш аз иҷроиш, тарҷумони eBPF байт-кодро барои истифодаи дастурҳои иҷозатдодашуда тафтиш мекунад ва ба код қоидаҳои муайянро ҷорӣ мекунад (масалан, ҳалқаҳо нест).
Дар аввал, асбобҳои дар асоси LLVM барои тартиб додани eBPF дар Linux истифода мешуданд. Дастгирии eBPF дар GCC ҷолиб аст, зеро он ба шумо имкон медиҳад, ки як абзорро барои сохтани ядрои Linux ва барномаҳои eBPF бидуни насб кардани вобастагии иловагӣ истифода баред.
Дар шакли барномаҳои eBPF, шумо метавонед коркардкунандагони амалиёти шабакаро эҷод кунед, трафикро филтр кунед, фарохмаҷро идора кунед, системаҳоро назорат кунед, зангҳои системаро боздоред, дастрасиро назорат кунед, басомад ва вақти амалиётҳоро ҳисоб кунед ва бо истифода аз kprobes/uprobes/tracepoints пайгирӣ кунед.
Манбаъ: opennet.ru