Document not found (404)
+This URL is invalid, sorry. Please use the navigation bar or search to continue.
+ +diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..f1731109 --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ +This file makes sure that Github Pages doesn't process mdBook's output. diff --git a/404.html b/404.html new file mode 100644 index 00000000..78e0349d --- /dev/null +++ b/404.html @@ -0,0 +1,167 @@ + + +
+ + +This URL is invalid, sorry. Please use the navigation bar or search to continue.
+ +The eBPF Virtual Machine, where our eBPF programs will be run, is a constrained runtime environment:
+Even applications written in C are restricted to a subset of language features:
+While these limitations do not map 1:1 with Rust, we are still constrained:
+core
instead.core::fmt
may not be used and neither can traits that rely on it, for example Display
and Debug
alloc
or collections
.panic
as the eBPF VM does not support stack unwinding, or the abort
instruction.main
functionAlongside this, a lot of the code that we write is unsafe
, as we are reading directly from kernel memory.
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.
+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:
+The goals of this book are:
+Get developers up to speed with eBPF Rust development. i.e. How to set +up a development environment.
+Share current best practices about using Rust for eBPF
+This book caters towards people with either some eBPF or some Rust background. For those without any prior knowledge we suggest you read the "Assumptions and Prerequisites" section first. You can check out the "Other Resources" section to find resources on topics you might want to read up on.
+If you are unfamiliar with anything mentioned above or if you want more information about a specific topic mentioned in this book you might find some of these resources helpful.
+Topic | Resource | Description |
---|---|---|
Rust | Rust Book | If you are not yet comfortable with Rust, we highly suggest reading this book. |
eBPF | Cilium BPF and XDP Reference Guide | If you are not yet comfortable with eBPF, this guide is excellent. |
This book generally assumes that you’re reading it front-to-back. Later +chapters build on concepts in earlier chapters, and earlier chapters may +not dig into details on a topic, revisiting the topic in a later chapter.
+The source files from which this book is generated can be found on GitHub.
+ +