You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aya/searchindex.json

1 line
122 KiB
JSON

{"doc_urls":["intro/index.html#introduction","intro/index.html#who-aya-is-for","intro/index.html#scope","intro/index.html#who-this-book-is-for","intro/index.html#assumptions-and-prerequisites","intro/index.html#other-resources","intro/index.html#how-to-use-this-book","intro/index.html#source-code","ebpf/index.html#ebpf-program-constraints","start/index.html#getting-started","start/development.html#development-environment","start/development.html#prerequisites","start/development.html#starting-a-new-project","start/hello-xdp.html#hello-xdp","start/hello-xdp.html#example-project","start/hello-xdp.html#ebpf-component","start/hello-xdp.html#permit-all","start/hello-xdp.html#verifying-the-program","start/hello-xdp.html#completed-program","start/hello-xdp.html#user-space-component","start/hello-xdp.html#starting-out","start/hello-xdp.html#the-lifecycle-of-an-ebpf-program"],"index":{"documentStore":{"docInfo":{"0":{"body":20,"breadcrumbs":2,"title":1},"1":{"body":65,"breadcrumbs":2,"title":1},"10":{"body":0,"breadcrumbs":6,"title":2},"11":{"body":48,"breadcrumbs":5,"title":1},"12":{"body":18,"breadcrumbs":7,"title":3},"13":{"body":0,"breadcrumbs":6,"title":2},"14":{"body":36,"breadcrumbs":6,"title":2},"15":{"body":0,"breadcrumbs":6,"title":2},"16":{"body":109,"breadcrumbs":5,"title":1},"17":{"body":62,"breadcrumbs":6,"title":2},"18":{"body":35,"breadcrumbs":6,"title":2},"19":{"body":18,"breadcrumbs":7,"title":3},"2":{"body":20,"breadcrumbs":2,"title":1},"20":{"body":144,"breadcrumbs":6,"title":2},"21":{"body":79,"breadcrumbs":7,"title":3},"3":{"body":27,"breadcrumbs":2,"title":1},"4":{"body":24,"breadcrumbs":3,"title":2},"5":{"body":36,"breadcrumbs":2,"title":1},"6":{"body":22,"breadcrumbs":3,"title":2},"7":{"body":6,"breadcrumbs":3,"title":2},"8":{"body":86,"breadcrumbs":6,"title":3},"9":{"body":13,"breadcrumbs":4,"title":2}},"docs":{"0":{"body":"Welcome to Building eBPF Programs with Aya: An introductory book about using the Rust Programming Language and Aya library to build extended Berkley Packet Filter (eBPF) programs.","breadcrumbs":"Introduction » Introduction","id":"0","title":"Introduction"},"1":{"body":"Rust is proving to be a popular systems programming language because of its safety features and excellent C interoperability. The safety features are less important in the context of eBPF as programs often need to read kernel memory, which is considered unsafe. However, what Rust combined with Aya does offer is a fast and efficient development experience: Cargo for project scaffolding, build, test and debugging Generation of Rust bindings to Kernel Headers with Compile-Once, Run-Everywhere (CO-RE) support Easy code sharing between user-space and eBPF programs Fast compile times No runtime dependency on LLVM or BCC","breadcrumbs":"Introduction » Who Aya Is For","id":"1","title":"Who Aya Is For"},"10":{"body":"","breadcrumbs":"Getting Started » Development Environment » Development Environment","id":"10","title":"Development Environment"},"11":{"body":"Before getting started you will need the Rust stable and nightly tool-chains installed on your system. This is easily achieved with [rustup]: rustup install stable\nrustup install nightly --component rust-src Once you have the Rust tool-chains installed, you must also install the bpf-linker - for linking our eBPF program - and cargo-generate - for generating the project skeleton. cargo +nightly install bpf-linker\ncargo install cargo-generate","breadcrumbs":"Getting Started » Development Environment » Prerequisites","id":"11","title":"Prerequisites"},"12":{"body":"To start a new project, you can use cargo-generate: cargo generate https://github.com/dave-tucker/aya-template This will prompt you for a project name. We'll be using myapp in this example","breadcrumbs":"Getting Started » Development Environment » Starting A New Project","id":"12","title":"Starting A New Project"},"13":{"body":"","breadcrumbs":"Getting Started » Hello XDP! » Hello XDP!","id":"13","title":"Hello XDP!"},"14":{"body":"While there are myriad trace points to attach to and program types to