په Rust کې د eBPF سمبالونکي رامینځته کولو لپاره د آیا کتابتون معرفي کړ

د آیا کتابتون لومړۍ خپرونه وړاندې شوې، کوم چې تاسو ته اجازه درکوي د زنګ ژبه کې د eBPF هینډلرونه رامینځته کړئ چې د JIT سره په ځانګړي مجازی ماشین کې د لینکس کرنل دننه پرمخ ځي. د نورو eBPF پرمختیایی وسیلو برخلاف ، آیا د libbpf او bcc کمپیلر نه کاروي ، مګر پرځای یې په Rust کې لیکل شوی خپل پلي کول وړاندیز کوي ، کوم چې د کرنل سیسټم تلیفونونو ته مستقیم لاسرسي لپاره د libc کریټ کڅوړه کاروي. د آیا جوړول د C ژبې اوزار یا د کرنل سرلیک فایلونو ته اړتیا نلري. د کتابتون کوډ د MIT او Apache 2.0 جوازونو لاندې ویشل شوی.

کلیدي ځانګړتیاوې:

  • د BTF (BPF ډوله بڼه) لپاره ملاتړ، کوم چې د اوسني کرنل لخوا چمتو شوي ډولونو ته د ډول چک کولو او نقشه کولو لپاره د BPF سیډوکوډ کې ډول معلومات چمتو کوي. د BTF کارول دا ممکنه کوي چې د نړیوال eBPF هینډلرونه رامینځته کړي چې د لینکس کرنل مختلف نسخو سره د بیا ترکیب پرته کارول کیدی شي.
  • د "bpf-to-bpf" زنګونو لپاره ملاتړ، نړیوال متغیرات او ابتدايي، کوم چې تاسو ته اجازه درکوي د eBPF لپاره پروګرامونه د منظم پروګرامونو په څیر ډیزاین کړئ چې ایا د رن ټایم په توګه کاروي چې په eBPF کې د حساب کار په پام کې نیولو سره دندې بیا تعریفوي.
  • د مختلف کرنل ډولونو لپاره ملاتړ ، پشمول د منظم صفونو ، هشز نقشې ، سټیکونه ، کتارونه ، سټیک ټریسونه ، په بیله بیا ساکټ او د فعالیت تعقیب جوړښتونه.
  • د مختلف ډوله eBTF برنامو رامینځته کولو وړتیا ، پشمول د ترافیک فلټر کولو او اداره کولو برنامې ، د cgroup هینډلر او مختلف ساکټ عملیات ، د XDP برنامې.
  • په غیر بلاک کولو حالت کې د غیر متناسب غوښتنې پروسس کولو لپاره د پلیټ فارمونو ملاتړ tokio او async-std.
  • ګړندی اسمبلۍ ، پرته د کرنل اسمبلۍ او د کرنل سرلیک فایلونو سره اړیکې.

پروژه لا تر اوسه تجربه ګڼل کیږي - API لا تر اوسه ثبات نه دی شوی او پراختیا ته دوام ورکوي. همدارنګه، ټول پلان شوي فرصتونه لا تر اوسه ندي درک شوي. د کال په پای کې ، پراختیا کونکي تمه لري چې د ایا فعالیت د libbpf سره برابري ته راوړي ، او د جنوري په 2022 کې به لومړی مستحکم ریلیز رامینځته کړي. داسې پلانونه هم شتون لري چې د آیاا برخې د لینکس کرنل لپاره د زنګ کوډ لیکلو لپاره اړین د کارونکي ځای اجزاو سره یوځای کړي چې د eBPF برنامو بارولو ، ضمیمه کولو او تعامل لپاره کارول کیږي.

راځئ چې یادونه وکړو چې eBPF یو بایټکوډ ژباړونکی دی چې د لینکس کرنل کې جوړ شوی ، کوم چې تاسو ته اجازه درکوي د شبکې عملیاتي هینډلرونه رامینځته کړئ ، د سیسټم عملیات نظارت کړئ ، د سیسټم تلیفونونه مداخله وکړئ ، لاسرسي کنټرول کړئ ، د وخت ساتلو پرمهال پیښې پروسس کړئ ، د عملیاتو فریکوینسي او وخت محاسبه کړئ ، ترسره کړئ. د kprobes/uprobes/tracepoints په کارولو سره تعقیب کول. د JIT تالیف کارولو څخه مننه ، بایټ کوډ په الوتنه کې د ماشین لارښوونو ته ژباړل شوی او د اصلي کوډ فعالیت سره اجرا کیږي. XDP د شبکې ډرایور په کچه د BPF برنامو چلولو لپاره وسیلې چمتو کوي ، د مستقیم DMA پیکټ بفر ته د لاسرسي وړتیا سره ، کوم چې تاسو ته اجازه درکوي د درنو شبکې بار لاندې کار کولو لپاره د لوړ فعالیت پروسیسرونه رامینځته کړئ.

سرچینه: opennet.ru

Add a comment