{"id":100527,"date":"2021-06-16T16:22:37","date_gmt":"2021-06-16T14:22:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/predstavlena-biblioteka-aya-dlya-sozdaniya-ebpf-obrabotchikov-na-yazyke-rust"},"modified":"2021-06-16T16:22:37","modified_gmt":"2021-06-16T14:22:37","slug":"predstavlena-biblioteka-aya-dlya-sozdaniya-ebpf-obrabotchikov-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/predstavlena-biblioteka-aya-dlya-sozdaniya-ebpf-obrabotchikov-na-yazyke-rust","title":{"rendered":"Esitletud on Aya teek eBPF- t\u00f6\u00f6tlejate loomiseks Rusti keeles","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Esitatud on Aya teegi esimene v\u00e4ljaanne, mis v\u00f5imaldab luua Rusti keeles eBPF t\u00f6\u00f6tlejaid, mida k\u00e4ivitatakse Linuxi tuumas spetsiaalses virtuaalmasinas JIT-iga. Erinevalt teistest eBPF programmide arendamiseks m\u00f5eldud t\u00f6\u00f6riistadest, ei kasuta Aya libbpf-i ega bcc kompilatorit, vaid pakub oma teostust, mis on kirjutatud Rustis ja kasutab crate-paketti libc tuuma s\u00fcsteemi k\u00f5nede otse kutsumiseks. Aya koostamiseks ei ole vajalik C-keele t\u00f6\u00f6riistade ja tuuma p\u00e4iste failide olemasolu. Teegi kood on levitatud MIT ja Apache 2.0 litsentside alusel.    <\/p>\n<p>P\u00f5hifunktsioonid:  <\/p>\n<ul>\n<li class=\"l\"> Toetatakse BTF (BPF Type Format) formaati, mis pakub t\u00fc\u00fcbi teavet BPF pseudokoodis t\u00fc\u00fcpide kontrollimiseks ja v\u00f5rdsustamiseks, mida praegune tuum pakub. BTF rakendamine v\u00f5imaldab luua universaalseid eBPF t\u00f6\u00f6tlejaid, mida saab kasutada ilma \u00fcmberkompileerimiseta erinevate Linuxi tuumade versioonidega.\n<li class=\"l\"> Toetada k\u00f5nede puhul \"bpf-to-bpf\", globaalseid muutujaid ja algv\u00e4\u00e4rtustajaid, mis v\u00f5imaldab luua eBPF programeerimise programme tavaliste programmide sarnasel viisil, kasutades Ayal runtime'ina, mis \u00fcmberdefineerib funktsioone, arvestades eBPF t\u00f6\u00f6p\u00f5him\u00f5tteid.\n<li class=\"l\"> Toetatakse erinevaid tuuma t\u00fc\u00fcpe, sealhulgas tavalisi massiive, hash kaartide (hash map) struktuure, stacke, j\u00e4rjekordi, stacki j\u00e4lgimist, samuti struktuure socketite jaoks ja j\u00f5udluse j\u00e4lgimiseks.\n<li class=\"l\"> V\u00f5imalus luua erinevat t\u00fc\u00fcpi eBTF programme, sealhulgas programmesid liikluse filterdamiseks ja haldamiseks, cgroup t\u00f6\u00f6tlejaid ja erinevaid operatsioone socketitega, XDP programme.\n<li class=\"l\"> Toetatakse platvorme as\u00fcnkroonsete taotluste t\u00f6\u00f6tlemiseks mitteblokeerivas re\u017eiimis tokio ja async-std.\n<li class=\"l\"> Kiire koostamine, ilma tuuma koostamise ja tuuma p\u00e4iste failide sidumiseta.    <\/ul>\n<p>Projekt on endiselt katsefaasis - API ei ole veel stabiliseerunud ja j\u00e4tkab arengut. Samuti ei ole veel k\u00f5ik kavad ellu viidud. Arendajad loodavad sel aastal viia Ayan funktsionaalsuse libbpf tasemele ja jaanuaris 2022 vormistada esimese stabiilse v\u00e4ljaande. Samuti plaanitakse \u00fchendada Ayan osad, mis on vajalikud Rustis Linuxi tuuma koodi kirjutamiseks, kasutatavatele komponentidele, mis t\u00f6\u00f6tavad kasutajaruumi ja mida kasutatakse eBPF programmide laadimiseks, kinnitamiseks ja interaktsiooniks.   <\/p>\n<p>Tuletame meelde, et eBPF on Linuxi tuuma sisseehitatud baidikoodi t\u00f5lgendaja, mis v\u00f5imaldab luua v\u00f5rguoperatsioonide t\u00f6\u00f6tlejaid, j\u00e4lgida s\u00fcsteemide t\u00f6\u00f6d, kinni pidada s\u00fcsteemik\u00f5nesid, kontrollida juurdep\u00e4\u00e4su, t\u00f6\u00f6delda ajasimisega seotud s\u00fcndmusi, arvestada operatsioonide sagedust ja kestust ning teostada j\u00e4lgimist kprobes\/uprobes\/tracepoints abil. T\u00e4nu JIT kompileerimisele t\u00f5lgitakse baidikood reaalajas masinakeelsetesse k\u00e4sklustesse ja t\u00e4idetakse kohalik koodiga samasuguse j\u00f5udlusega. XDP pakub vahendeid BPF-programmide k\u00e4ivitamiseks v\u00f5rgu draiveri tasemel, otse DMA-pakettide puutepunkti juurde p\u00e4\u00e4semine, mis v\u00f5imaldab luua k\u00f5rgj\u00f5udlusega t\u00f6\u00f6tlejaid suure v\u00f5rgu koormuse tingimustes.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55340\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Aya, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 eBPF, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u044f\u0434\u0440\u0430 Linux \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 JIT. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 eBPF-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, Aya \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 libbpf \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 bcc, \u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u043d\u0430 Rust, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 crate-\u043f\u0430\u043a\u0435\u0442 libc \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0432\u044b\u0437\u043e\u0432\u0430\u043c \u044f\u0434\u0440\u0430. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-100527","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Aya, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 eBPF, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u044f\u0434\u0440\u0430 Linux \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 JIT.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/news\/predstavlena-biblioteka-aya-dlya-sozdaniya-ebpf-obrabotchikov-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Aya \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f eBPF-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Aya, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 eBPF, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u044f\u0434\u0440\u0430 Linux \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 JIT.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/predstavlena-biblioteka-aya-dlya-sozdaniya-ebpf-obrabotchikov-na-yazyke-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-06-16T14:22:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-06-16T14:22:37+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Esitletud on Aya teek eBPF t\u00f6\u00f6tlejate loomiseks Rust keeles | ProHoster","description":"Esimene Aya teegi v\u00e4ljaanne on esitletud, mis v\u00f5imaldab luua Rust keeles eBPF t\u00f6\u00f6tlejaid, mis k\u00e4ivitatakse Linuxi tuumas spetsiaalses virtuaalses masinas JIT-iga.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/predstavlena-biblioteka-aya-dlya-sozdaniya-ebpf-obrabotchikov-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Aya \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f eBPF-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Aya, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 eBPF, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u044f\u0434\u0440\u0430 Linux \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 JIT.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/predstavlena-biblioteka-aya-dlya-sozdaniya-ebpf-obrabotchikov-na-yazyke-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-06-16T14:22:37+00:00","article:modified_time":"2021-06-16T14:22:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100527","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-06-16 15:44:50","updated":"2022-09-29 11:27:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/100527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=100527"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/100527\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=100527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=100527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=100527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}