package ringbuf

import "github.com/cilium/ebpf/ringbuf"

Package ringbuf allows interacting with Linux BPF ring buffer.

BPF allows submitting custom events to a BPF ring buffer map set up by userspace. This is very useful to push things like packet samples from BPF to a daemon running in user space.

Index

Variables

var (
	ErrClosed = os.ErrClosed
)

Types

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

Reader allows reading bpf_ringbuf_output from user space.

func NewReader

func NewReader(ringbufMap *ebpf.Map) (*Reader, error)

NewReader creates a new BPF ringbuf reader.

func (*Reader) Close

func (r *Reader) Close() error

Close frees resources used by the reader.

It interrupts calls to Read.

func (*Reader) Read

func (r *Reader) Read() (Record, error)

Read the next record from the BPF ringbuf.

Calling Close interrupts the function.

type Record

type Record struct {
	RawSample []byte
}

Source Files

doc.go reader.go ring.go

Version
v0.8.1
Published
Feb 11, 2022
Platform
windows/amd64
Imports
13 packages
Last checked
1 minute ago

Tools for package owners.