عن المشروع

ebpf-go هي مكتبة Go خالصة من Cilium توفر أدوات لتحميل وترجمة وتصحيح برامج eBPF. لديها اعتماديات خارجية قليلة وهي مخصصة للاستخدام في العمليات طويلة التشغيل. تتضمن المكتبة عدة حزم: - asm: مُجمِّع أساسي لكتابة تعليمات تجميع eBPF مباشرة في كود Go - cmd/bpf2go: يترجم ويضمّن برامج eBPF المكتوبة بلغة C داخل كود Go، مع توليد كود Go تلقائيًا لتحميل ومعالجة برامج eBPF وكائنات الخرائط - link: يربط برامج eBPF بمختلف خطافات النواة - perf: يقرأ من PERF_EVENT_ARRAY - ringbuf: يقرأ من خرائط BPF_MAP_TYPE_RINGBUF - features: يكتشف ميزات النواة المتعلقة بـ BPF باستخدام Go الأصلي، بما يعادل bpftool feature probe - rlimit: يرفع قيد RLIMIT_MEMLOCK على النوى قبل 5.11 - btf: يقرأ تنسيق نوع BPF - pin: يتعامل مع الكائنات المثبتة على bpffs يدعم المشروع Linux (amd64، arm64) مع إصدارات kernel.org LTS، وWindows (amd64) عبر eBPF for Windows. المعماريات الأخرى تُدعم بأفضل جهد، والمعماريات 32-بت غير مدعومة. المكتبة مرخصة تحت MIT وهي جزء من منظومة eBPF الأوسع الموثقة على ebpf.io.