GCC کمپائلر سویٹ میں شامل ہے۔
بائیک کوڈ جنریشن کے لیے بیک اینڈ کے علاوہ، جی سی سی میں ای بی پی ایف کے لیے ایک libgcc پورٹ اور ELF فائلیں بنانے کے لیے ٹولز شامل ہیں جو کرنل سے فراہم کردہ لوڈرز کا استعمال کرتے ہوئے eBPF ورچوئل مشین میں کوڈ پر عمل درآمد ممکن بناتے ہیں۔ جی سی سی میں ای بی پی ایف کو سپورٹ کرنے کے لیے پیچ اوریکل کے انجینئرز نے تیار کیے تھے، جو پہلے ہی موجود تھے۔
eBPF کے پروگراموں کی تعریف C زبان کے ذیلی سیٹ میں کی جا سکتی ہے، مرتب اور کرنل میں لوڈ کی جاتی ہے۔ عملدرآمد سے پہلے، eBPF مترجم اجازت یافتہ ہدایات کے استعمال کے لیے بائیک کوڈ کو چیک کرتا ہے اور کوڈ پر کچھ اصول نافذ کرتا ہے (مثال کے طور پر، کوئی لوپ نہیں)۔
ابتدائی طور پر، LLVM پر مبنی ٹولز کا استعمال لینکس پر eBPF کو مرتب کرنے کے لیے کیا جاتا تھا۔ جی سی سی میں ای بی پی ایف سپورٹ دلچسپ ہے کیونکہ یہ آپ کو اضافی انحصار انسٹال کیے بغیر لینکس کرنل اور ای بی پی ایف پروگرام بنانے کے لیے ایک ٹول کٹ استعمال کرنے کی اجازت دیتا ہے۔
ای بی پی ایف پروگراموں کی شکل میں، آپ نیٹ ورک آپریشن ہینڈلرز بنا سکتے ہیں، ٹریفک کو فلٹر کر سکتے ہیں، بینڈوتھ کا انتظام کر سکتے ہیں، سسٹم کی نگرانی کر سکتے ہیں، سسٹم کالز کو کنٹرول کر سکتے ہیں، رسائی کو کنٹرول کر سکتے ہیں، آپریشنز کی فریکوئنسی اور وقت گن سکتے ہیں، اور kprobes/uprobes/tracepoints کے ذریعے ٹریسنگ کر سکتے ہیں۔
ماخذ: opennet.ru