{"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 raamatukogu eBPF t\u00f6\u00f6tlejatena Rust keeles.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Esitleme esimese Aya raamatukogu v\u00e4ljaande, mis v\u00f5imaldab luua Rusti keeles eBPF t\u00f6\u00f6tlejaid, mis k\u00e4ivituvad Linuxi kerneli sees spetsiaalses JIT-virtuaalmasinas. Erinevalt teistest eBPF-programmide arendamiseks m\u00f5eldud t\u00f6\u00f6riistadest ei kasuta Aya libbpf-i ega bcc kompilaatorit, vaid pakub oma teostust, mis on loodud Rustis ja kasutab crate-paketti libc, et otse s\u00fcsteemikutsungitele juurde p\u00e4\u00e4seda. Aya koostamiseks ei ole C keele t\u00f6\u00f6riistade v\u00f5i kerneli p\u00e4iste failide olemasolu vajalik. Raamatukogu kood on litsenseeritud MIT ja Apache 2.0 litsentside alusel.    <\/p>\n<p>P\u00f5hifunktsioonid:  <\/p>\n<ul>\n<li class=\"l\"> BTF (BPF T\u00fc\u00fcbi Formaat) toe pakkumine, mis annab teavet t\u00fc\u00fcpide kohta BPF pseudokoodis t\u00fc\u00fcpide kontrollimiseks ja nende vastavuse kontrollimiseks, mida pakub praegune kerneli. BTF rakendamine v\u00f5imaldab luua universaalseid eBPF-t\u00f6\u00f6tlejaid, mida saab kasutada ilma erinevate Linuxi kerneli versioonide jaoks uuesti kompileerimata.\n<li class=\"l\"> Toetab bpf-to-bpf kutsed, globaalset muutujaid ja initsialisaatoreid, v\u00f5imaldades eBPF programme koostada sarnaselt tavalistele programmidele, mis kasutavad aya-d runtime'ina, \u00fcletades funktsioone eBPF'is t\u00f6\u00f6tamise arvestamiseks.\n<li class=\"l\"> Toetab erinevaid tuuma t\u00fc\u00fcpe, sealhulgas tavalisi massiive, hash-kaarte, kuhje, j\u00e4rjekordi, j\u00e4lgimispuude, samuti soklite ja j\u00f5udluse j\u00e4lgimise struktuure.\n<li class=\"l\"> V\u00f5imalus luua erinevaid eBTF programme, sealhulgas programme liiklusfiltreerimiseks ja haldamiseks, cgroup'i k\u00e4sitlejate ning erinevate soklit\u00f6\u00f6tluste jaoks, samuti XDP programme.\n<li class=\"l\"> Toetab platvorme as\u00fcnkroonsete p\u00e4ringute t\u00f6\u00f6tlemiseks mitteblokeerivas re\u017eiimis tokio ja async-std.\n<li class=\"l\"> Kiire kogumine, ilma s\u00f5ltuvuseta tuuma kogumisest ja tuuma p\u00e4isefailidest.    <\/ul>\n<p>Projekt on praegu katsete faasis - API ei ole veel stabiliseeritud ja j\u00e4tkab arengut. Samuti pole veel rakendatud k\u00f5iki etten\u00e4htud v\u00f5imalusi. Arendajad loodavad, et Aya funktsionaalsus j\u00f5uab aasta l\u00f5puks libbpf-iga tasemele ja esimest stabiilset v\u00e4ljalaset kavandatakse jaanuaris 2022. Samuti plaanitakse \u00fchendada Aya komponente, mis on vajalikud Linuxi tuuma koodi kirjutamiseks Rustis, kasutajaruumi t\u00f6\u00f6tavate komponentidega, mida kasutatakse programmide eBPF laadimiseks, kinnitamiseks ja nendega suhtlemiseks.   <\/p>\n<p>Tulet meelde, et eBPF on Linuxi tuumas sisseehitatud bytecode'i t\u00f5lgendaja, mis v\u00f5imaldab luua v\u00f5rgutegevuste k\u00e4sitlejaid, j\u00e4lgida s\u00fcsteemide t\u00f6\u00f6d, vahele v\u00f5tta s\u00fcsteemik\u00f5nesid, kontrollida ligip\u00e4\u00e4su, t\u00f6\u00f6tlema s\u00fcndmusi ajatempli s\u00e4ilitamisega, arvutama toimingute sagedust ja kestust, teostama j\u00e4lgimist kprobes'i\/uprobes'i\/track points'i abil. JIT-kompileerimise kasutamise t\u00f5ttu t\u00f5lgitakse bytecode reaalajas masiinijuhisteks ja seda t\u00e4idetakse kohaliku koodi j\u00f5udlusega. XDP pakub v\u00f5imalusi BPF-programmide k\u00e4ivitamiseks v\u00f5rgudraiveri tasemel, v\u00f5imaldades otsest juurdep\u00e4\u00e4su DMA-pakettide puhvrile, mis v\u00f5imaldab luua suure j\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.0.1 - 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.0.1\" \/>\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\udd47Esitatud on Aya teek eBPF-i t\u00f6\u00f6tlejate loomiseks Rusti keeles | ProHoster","description":"Esitles esimene Aya teegi v\u00e4ljaanne, mis v\u00f5imaldab luua Rusti keeles eBPF t\u00f6\u00f6tlejaid, mis k\u00e4ivituvad Linuxi tuumas spetsiaalses JIT virtuaalmasinas.","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}]}}