Skip to content

Latest commit

 

History

History
75 lines (51 loc) · 1.94 KB

README.md

File metadata and controls

75 lines (51 loc) · 1.94 KB

Go ebpf development (go-ebpf)

Installs clang and llvm, and on top Cilium's bpf2go.

Example Usage

"features": {
    "ghcr.io/thediveo/devcontainer-features/go-ebpf:1": {}
}

Options

Options Id Description Type Default Value
bfp2go-version version of bpf2go to install string latest

Customizations

VS Code Extensions

  • ms-vscode.cpptools-extension-pack

Feature Dependency

This feature has only a soft dependecy on ghcr.io/devcontainers/features/go so that you have full control over from where and how you bring in the go toolchain.

For example:

{
    "features": {
        "ghcr.io/devcontainers/features/go:1": {},
        "ghcr.io/thediveo/devcontainer-features/go-ebpf:1": {}
    }
}

PID Namespace

Depending on what your eBPF is doing inside the devcontainer (or inside a container inside your devcontainer), consider deploying your devcontainer in the root PID namespace, as follows:

"runArgs": [
    "--pid=host"
]

Otherwise, your eBPF programs see root PID namespace PIDs and TIDs, but your user space code sees child PID namespace PIDs and TIDs, ensuring an endless supply of surprise.

OS Support

Tested with:

Acknowledgement

@cilium for their incredibly useful ebpf Go module.


Note: This file was auto-generated from the devcontainer-feature.json. Add additional notes to a NOTES.md.