GCC ಕಂಪೈಲರ್ ಸೂಟ್ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ
ಬೈಟ್ಕೋಡ್ ಉತ್ಪಾದನೆಗೆ ಬ್ಯಾಕೆಂಡ್ ಜೊತೆಗೆ, GCC ಯು eBPF ಗಾಗಿ libgcc ಪೋರ್ಟ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ ಮತ್ತು ELF ಫೈಲ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಸಾಧನಗಳನ್ನು ಕರ್ನಲ್ ಒದಗಿಸಿದ ಲೋಡರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು eBPF ವರ್ಚುವಲ್ ಗಣಕದಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ. ಜಿಸಿಸಿಯಲ್ಲಿ ಇಬಿಪಿಎಫ್ ಅನ್ನು ಬೆಂಬಲಿಸಲು ಪ್ಯಾಚ್ಗಳನ್ನು ಈಗಾಗಲೇ ಒರಾಕಲ್ನ ಎಂಜಿನಿಯರ್ಗಳು ಸಿದ್ಧಪಡಿಸಿದ್ದಾರೆ
eBPF ಗಾಗಿ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು C ಭಾಷೆಯ ಉಪವಿಭಾಗದಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು, ಸಂಕಲನ ಮತ್ತು ಕರ್ನಲ್ಗೆ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ. ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು, eBPF ಇಂಟರ್ಪ್ರಿಟರ್ ಅನುಮತಿ ಸೂಚನೆಗಳ ಬಳಕೆಗಾಗಿ ಬೈಟ್ಕೋಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಕೋಡ್ನಲ್ಲಿ ಕೆಲವು ನಿಯಮಗಳನ್ನು ವಿಧಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಯಾವುದೇ ಲೂಪ್ಗಳಿಲ್ಲ).
ಆರಂಭದಲ್ಲಿ, Linux ನಲ್ಲಿ eBPF ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು LLVM-ಆಧಾರಿತ ಉಪಕರಣಗಳನ್ನು ಬಳಸಲಾಗುತ್ತಿತ್ತು. GCC ಯಲ್ಲಿ eBPF ಬೆಂಬಲವು ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ ಏಕೆಂದರೆ ಹೆಚ್ಚುವರಿ ಅವಲಂಬನೆಗಳನ್ನು ಸ್ಥಾಪಿಸದೆಯೇ, Linux ಕರ್ನಲ್ ಮತ್ತು eBPF ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ನಿರ್ಮಿಸಲು ಒಂದು ಟೂಲ್ಕಿಟ್ ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
eBPF ಪ್ರೋಗ್ರಾಮ್ಗಳ ರೂಪದಲ್ಲಿ, ನೀವು ನೆಟ್ವರ್ಕ್ ಆಪರೇಷನ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ರಚಿಸಬಹುದು, ಟ್ರಾಫಿಕ್ ಅನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಬಹುದು, ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಅನ್ನು ನಿರ್ವಹಿಸಬಹುದು, ಸಿಸ್ಟಮ್ಗಳನ್ನು ಮಾನಿಟರ್ ಮಾಡಬಹುದು, ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸಬಹುದು, ಪ್ರವೇಶವನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು, ಕಾರ್ಯಾಚರಣೆಗಳ ಆವರ್ತನ ಮತ್ತು ಸಮಯವನ್ನು ಎಣಿಸಬಹುದು ಮತ್ತು kprobes/uprobes/tracepoints ಬಳಸಿ ಟ್ರೇಸಿಂಗ್ ಮಾಡಬಹುದು.
ಮೂಲ: opennet.ru