github.com/cilium/ebpf@v0.15.1-0.20240517100537-8079b37aa138/docs/ebpf/index.md (about)

     1  <style>
     2    .md-content .md-typeset h1 {
     3      display: none;
     4    }
     5  </style>
     6  
     7  <p align="center" class="tagline">The eBPF Library for Go</p>
     8  
     9  ![Honeygopher](ebpf-go.png){ align=right width="180" }
    10  
    11  [![PkgGoDev](https://pkg.go.dev/badge/github.com/cilium/ebpf)](https://pkg.go.dev/github.com/cilium/ebpf)
    12  
    13  :ebpf-go: {{ proj }} is a Go library for working with :ebee-color: eBPF. It does
    14  not depend on C, libbpf, or any other Go libraries other than the standard
    15  library, making it an excellent choice for writing self-contained, portable
    16  tools that run on a variety of architectures.
    17  
    18  This documentation aims to provide a central resource for learning how to build
    19  Go applications that use eBPF.
    20  
    21  ## Installing
    22  
    23  To add {{ proj }} as a dependency to an existing Go module, run this from within
    24  the module's directory:
    25  
    26  ```
    27  go get github.com/cilium/ebpf
    28  ```
    29  
    30  ## Target Audience
    31  
    32  This documentation assumes familiarity with the basic concepts and terminology
    33  of eBPF, as well as a basic understanding of the Go toolchain and how to write
    34  idiomatic Go code.
    35  
    36  For a high-level understanding of what eBPF is and how it works, please see [the
    37  eBPF introduction at :ebee-color: ebpf.io](https://ebpf.io/what-is-ebpf).
    38  
    39  ## Examples
    40  
    41  Discover [projects using {{ proj }} here](users.md). The repository contains an
    42  [examples/ directory](https://github.com/cilium/ebpf/tree/main/examples) with
    43  minimal demo applications that can be tested on any supported Linux machine.