عن المشروع
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.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.