testprogs

package
v1.20.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package bpf provides Go skeletons containing BPF programs.

Index

Constants

View Source
const (
	PluginsBaseMapSeq                    = "seq"
	PluginsBaseProgProgramBind4          = "program_bind4"
	PluginsBaseProgProgramBind6          = "program_bind6"
	PluginsBaseProgProgramConnect4       = "program_connect4"
	PluginsBaseProgProgramConnect6       = "program_connect6"
	PluginsBaseProgProgramGetpeername4   = "program_getpeername4"
	PluginsBaseProgProgramGetpeername6   = "program_getpeername6"
	PluginsBaseProgProgramPostBind4      = "program_post_bind4"
	PluginsBaseProgProgramPostBind6      = "program_post_bind6"
	PluginsBaseProgProgramRecvmsg4       = "program_recvmsg4"
	PluginsBaseProgProgramRecvmsg6       = "program_recvmsg6"
	PluginsBaseProgProgramSendmsg4       = "program_sendmsg4"
	PluginsBaseProgProgramSendmsg6       = "program_sendmsg6"
	PluginsBaseProgProgramSockRelease    = "program_sock_release"
	PluginsBaseProgProgramTc             = "program_tc"
	PluginsBaseProgProgramXdp            = "program_xdp"
	PluginsBaseVarProgramBind4Seq        = "program_bind4_seq"
	PluginsBaseVarProgramBind6Seq        = "program_bind6_seq"
	PluginsBaseVarProgramConnect4Seq     = "program_connect4_seq"
	PluginsBaseVarProgramConnect6Seq     = "program_connect6_seq"
	PluginsBaseVarProgramGetpeername4Seq = "program_getpeername4_seq"
	PluginsBaseVarProgramGetpeername6Seq = "program_getpeername6_seq"
	PluginsBaseVarProgramPostBind4Seq    = "program_post_bind4_seq"
	PluginsBaseVarProgramPostBind6Seq    = "program_post_bind6_seq"
	PluginsBaseVarProgramRecvmsg4Seq     = "program_recvmsg4_seq"
	PluginsBaseVarProgramRecvmsg6Seq     = "program_recvmsg6_seq"
	PluginsBaseVarProgramSendmsg4Seq     = "program_sendmsg4_seq"
	PluginsBaseVarProgramSendmsg6Seq     = "program_sendmsg6_seq"
	PluginsBaseVarProgramSockReleaseSeq  = "program_sock_release_seq"
	PluginsBaseVarProgramTcSeq           = "program_tc_seq"
	PluginsBaseVarProgramXdpSeq          = "program_xdp_seq"
)

Names of all BPF objects in the ELF.

Used for safe lookups in a Collection or CollectionSpec.

View Source
const (
	PluginsHooksMapSeq                              = "seq"
	PluginsHooksProgAfterProgramBind4               = "after_program_bind4"
	PluginsHooksProgAfterProgramBind6               = "after_program_bind6"
	PluginsHooksProgAfterProgramConnect4            = "after_program_connect4"
	PluginsHooksProgAfterProgramConnect6            = "after_program_connect6"
	PluginsHooksProgAfterProgramGetpeername4        = "after_program_getpeername4"
	PluginsHooksProgAfterProgramGetpeername6        = "after_program_getpeername6"
	PluginsHooksProgAfterProgramPostBind4           = "after_program_post_bind4"
	PluginsHooksProgAfterProgramPostBind6           = "after_program_post_bind6"
	PluginsHooksProgAfterProgramRecvmsg4            = "after_program_recvmsg4"
	PluginsHooksProgAfterProgramRecvmsg6            = "after_program_recvmsg6"
	PluginsHooksProgAfterProgramSendmsg4            = "after_program_sendmsg4"
	PluginsHooksProgAfterProgramSendmsg6            = "after_program_sendmsg6"
	PluginsHooksProgAfterProgramSockRelease         = "after_program_sock_release"
	PluginsHooksProgAfterProgramTc                  = "after_program_tc"
	PluginsHooksProgAfterProgramXdp                 = "after_program_xdp"
	PluginsHooksProgBeforeProgramBind4              = "before_program_bind4"
	PluginsHooksProgBeforeProgramBind6              = "before_program_bind6"
	PluginsHooksProgBeforeProgramConnect4           = "before_program_connect4"
	PluginsHooksProgBeforeProgramConnect6           = "before_program_connect6"
	PluginsHooksProgBeforeProgramGetpeername4       = "before_program_getpeername4"
	PluginsHooksProgBeforeProgramGetpeername6       = "before_program_getpeername6"
	PluginsHooksProgBeforeProgramPostBind4          = "before_program_post_bind4"
	PluginsHooksProgBeforeProgramPostBind6          = "before_program_post_bind6"
	PluginsHooksProgBeforeProgramRecvmsg4           = "before_program_recvmsg4"
	PluginsHooksProgBeforeProgramRecvmsg6           = "before_program_recvmsg6"
	PluginsHooksProgBeforeProgramSendmsg4           = "before_program_sendmsg4"
	PluginsHooksProgBeforeProgramSendmsg6           = "before_program_sendmsg6"
	PluginsHooksProgBeforeProgramSockRelease        = "before_program_sock_release"
	PluginsHooksProgBeforeProgramTc                 = "before_program_tc"
	PluginsHooksProgBeforeProgramXdp                = "before_program_xdp"
	PluginsHooksVarAfterProgramBind4Ret             = "after_program_bind4_ret"
	PluginsHooksVarAfterProgramBind4RetParam        = "after_program_bind4_ret_param"
	PluginsHooksVarAfterProgramBind4Seq             = "after_program_bind4_seq"
	PluginsHooksVarAfterProgramBind6Ret             = "after_program_bind6_ret"
	PluginsHooksVarAfterProgramBind6RetParam        = "after_program_bind6_ret_param"
	PluginsHooksVarAfterProgramBind6Seq             = "after_program_bind6_seq"
	PluginsHooksVarAfterProgramConnect4Ret          = "after_program_connect4_ret"
	PluginsHooksVarAfterProgramConnect4RetParam     = "after_program_connect4_ret_param"
	PluginsHooksVarAfterProgramConnect4Seq          = "after_program_connect4_seq"
	PluginsHooksVarAfterProgramConnect6Ret          = "after_program_connect6_ret"
	PluginsHooksVarAfterProgramConnect6RetParam     = "after_program_connect6_ret_param"
	PluginsHooksVarAfterProgramConnect6Seq          = "after_program_connect6_seq"
	PluginsHooksVarAfterProgramGetpeername4Ret      = "after_program_getpeername4_ret"
	PluginsHooksVarAfterProgramGetpeername4RetParam = "after_program_getpeername4_ret_param"
	PluginsHooksVarAfterProgramGetpeername4Seq      = "after_program_getpeername4_seq"
	PluginsHooksVarAfterProgramGetpeername6Ret      = "after_program_getpeername6_ret"
	PluginsHooksVarAfterProgramGetpeername6RetParam = "after_program_getpeername6_ret_param"
	PluginsHooksVarAfterProgramGetpeername6Seq      = "after_program_getpeername6_seq"
	PluginsHooksVarAfterProgramPostBind4Ret         = "after_program_post_bind4_ret"
	PluginsHooksVarAfterProgramPostBind4RetParam    = "after_program_post_bind4_ret_param"
	PluginsHooksVarAfterProgramPostBind4Seq         = "after_program_post_bind4_seq"
	PluginsHooksVarAfterProgramPostBind6Ret         = "after_program_post_bind6_ret"
	PluginsHooksVarAfterProgramPostBind6RetParam    = "after_program_post_bind6_ret_param"
	PluginsHooksVarAfterProgramPostBind6Seq         = "after_program_post_bind6_seq"
	PluginsHooksVarAfterProgramRecvmsg4Ret          = "after_program_recvmsg4_ret"
	PluginsHooksVarAfterProgramRecvmsg4RetParam     = "after_program_recvmsg4_ret_param"
	PluginsHooksVarAfterProgramRecvmsg4Seq          = "after_program_recvmsg4_seq"
	PluginsHooksVarAfterProgramRecvmsg6Ret          = "after_program_recvmsg6_ret"
	PluginsHooksVarAfterProgramRecvmsg6RetParam     = "after_program_recvmsg6_ret_param"
	PluginsHooksVarAfterProgramRecvmsg6Seq          = "after_program_recvmsg6_seq"
	PluginsHooksVarAfterProgramSendmsg4Ret          = "after_program_sendmsg4_ret"
	PluginsHooksVarAfterProgramSendmsg4RetParam     = "after_program_sendmsg4_ret_param"
	PluginsHooksVarAfterProgramSendmsg4Seq          = "after_program_sendmsg4_seq"
	PluginsHooksVarAfterProgramSendmsg6Ret          = "after_program_sendmsg6_ret"
	PluginsHooksVarAfterProgramSendmsg6RetParam     = "after_program_sendmsg6_ret_param"
	PluginsHooksVarAfterProgramSendmsg6Seq          = "after_program_sendmsg6_seq"
	PluginsHooksVarAfterProgramSockReleaseRet       = "after_program_sock_release_ret"
	PluginsHooksVarAfterProgramSockReleaseRetParam  = "after_program_sock_release_ret_param"
	PluginsHooksVarAfterProgramSockReleaseSeq       = "after_program_sock_release_seq"
	PluginsHooksVarAfterProgramTcRet                = "after_program_tc_ret"
	PluginsHooksVarAfterProgramTcRetParam           = "after_program_tc_ret_param"
	PluginsHooksVarAfterProgramTcSeq                = "after_program_tc_seq"
	PluginsHooksVarAfterProgramXdpRet               = "after_program_xdp_ret"
	PluginsHooksVarAfterProgramXdpRetParam          = "after_program_xdp_ret_param"
	PluginsHooksVarAfterProgramXdpSeq               = "after_program_xdp_seq"
	PluginsHooksVarBeforeProgramBind4Ret            = "before_program_bind4_ret"
	PluginsHooksVarBeforeProgramBind4Seq            = "before_program_bind4_seq"
	PluginsHooksVarBeforeProgramBind6Ret            = "before_program_bind6_ret"
	PluginsHooksVarBeforeProgramBind6Seq            = "before_program_bind6_seq"
	PluginsHooksVarBeforeProgramConnect4Ret         = "before_program_connect4_ret"
	PluginsHooksVarBeforeProgramConnect4Seq         = "before_program_connect4_seq"
	PluginsHooksVarBeforeProgramConnect6Ret         = "before_program_connect6_ret"
	PluginsHooksVarBeforeProgramConnect6Seq         = "before_program_connect6_seq"
	PluginsHooksVarBeforeProgramGetpeername4Ret     = "before_program_getpeername4_ret"
	PluginsHooksVarBeforeProgramGetpeername4Seq     = "before_program_getpeername4_seq"
	PluginsHooksVarBeforeProgramGetpeername6Ret     = "before_program_getpeername6_ret"
	PluginsHooksVarBeforeProgramGetpeername6Seq     = "before_program_getpeername6_seq"
	PluginsHooksVarBeforeProgramPostBind4Ret        = "before_program_post_bind4_ret"
	PluginsHooksVarBeforeProgramPostBind4Seq        = "before_program_post_bind4_seq"
	PluginsHooksVarBeforeProgramPostBind6Ret        = "before_program_post_bind6_ret"
	PluginsHooksVarBeforeProgramPostBind6Seq        = "before_program_post_bind6_seq"
	PluginsHooksVarBeforeProgramRecvmsg4Ret         = "before_program_recvmsg4_ret"
	PluginsHooksVarBeforeProgramRecvmsg4Seq         = "before_program_recvmsg4_seq"
	PluginsHooksVarBeforeProgramRecvmsg6Ret         = "before_program_recvmsg6_ret"
	PluginsHooksVarBeforeProgramRecvmsg6Seq         = "before_program_recvmsg6_seq"
	PluginsHooksVarBeforeProgramSendmsg4Ret         = "before_program_sendmsg4_ret"
	PluginsHooksVarBeforeProgramSendmsg4Seq         = "before_program_sendmsg4_seq"
	PluginsHooksVarBeforeProgramSendmsg6Ret         = "before_program_sendmsg6_ret"
	PluginsHooksVarBeforeProgramSendmsg6Seq         = "before_program_sendmsg6_seq"
	PluginsHooksVarBeforeProgramSockReleaseRet      = "before_program_sock_release_ret"
	PluginsHooksVarBeforeProgramSockReleaseSeq      = "before_program_sock_release_seq"
	PluginsHooksVarBeforeProgramTcRet               = "before_program_tc_ret"
	PluginsHooksVarBeforeProgramTcSeq               = "before_program_tc_seq"
	PluginsHooksVarBeforeProgramXdpRet              = "before_program_xdp_ret"
	PluginsHooksVarBeforeProgramXdpSeq              = "before_program_xdp_seq"
)

Names of all BPF objects in the ELF.

Used for safe lookups in a Collection or CollectionSpec.

Variables

This section is empty.

Functions

func LoadPluginsBase

func LoadPluginsBase() (*ebpf.CollectionSpec, error)

LoadPluginsBase returns the embedded CollectionSpec for PluginsBase.

func LoadPluginsBaseObjects

func LoadPluginsBaseObjects(obj any, opts *ebpf.CollectionOptions) error

LoadPluginsBaseObjects loads PluginsBase and converts it into a struct.

The following types are suitable as obj argument:

*PluginsBaseObjects
*PluginsBasePrograms
*PluginsBaseMaps

See ebpf.CollectionSpec.LoadAndAssign documentation for details.

func LoadPluginsHooks

func LoadPluginsHooks() (*ebpf.CollectionSpec, error)

LoadPluginsHooks returns the embedded CollectionSpec for PluginsHooks.

func LoadPluginsHooksObjects

func LoadPluginsHooksObjects(obj any, opts *ebpf.CollectionOptions) error

LoadPluginsHooksObjects loads PluginsHooks and converts it into a struct.

The following types are suitable as obj argument:

*PluginsHooksObjects
*PluginsHooksPrograms
*PluginsHooksMaps

See ebpf.CollectionSpec.LoadAndAssign documentation for details.

Types

type PluginsBaseMapSpecs

type PluginsBaseMapSpecs struct {
	Seq *ebpf.MapSpec `ebpf:"seq"`
}

PluginsBaseMapSpecs contains maps before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsBaseMaps

type PluginsBaseMaps struct {
	Seq *ebpf.Map `ebpf:"seq"`
}

PluginsBaseMaps contains all maps after they have been loaded into the kernel.

It can be passed to LoadPluginsBaseObjects or ebpf.CollectionSpec.LoadAndAssign.

func (*PluginsBaseMaps) Close

func (m *PluginsBaseMaps) Close() error

type PluginsBaseObjects

type PluginsBaseObjects struct {
	PluginsBasePrograms
	PluginsBaseMaps
	PluginsBaseVariables
}

PluginsBaseObjects contains all objects after they have been loaded into the kernel.

It can be passed to LoadPluginsBaseObjects or ebpf.CollectionSpec.LoadAndAssign.

func (*PluginsBaseObjects) Close

func (o *PluginsBaseObjects) Close() error

type PluginsBaseProgramSpecs

type PluginsBaseProgramSpecs struct {
	ProgramBind4        *ebpf.ProgramSpec `ebpf:"program_bind4"`
	ProgramBind6        *ebpf.ProgramSpec `ebpf:"program_bind6"`
	ProgramConnect4     *ebpf.ProgramSpec `ebpf:"program_connect4"`
	ProgramConnect6     *ebpf.ProgramSpec `ebpf:"program_connect6"`
	ProgramGetpeername4 *ebpf.ProgramSpec `ebpf:"program_getpeername4"`
	ProgramGetpeername6 *ebpf.ProgramSpec `ebpf:"program_getpeername6"`
	ProgramPostBind4    *ebpf.ProgramSpec `ebpf:"program_post_bind4"`
	ProgramPostBind6    *ebpf.ProgramSpec `ebpf:"program_post_bind6"`
	ProgramRecvmsg4     *ebpf.ProgramSpec `ebpf:"program_recvmsg4"`
	ProgramRecvmsg6     *ebpf.ProgramSpec `ebpf:"program_recvmsg6"`
	ProgramSendmsg4     *ebpf.ProgramSpec `ebpf:"program_sendmsg4"`
	ProgramSendmsg6     *ebpf.ProgramSpec `ebpf:"program_sendmsg6"`
	ProgramSockRelease  *ebpf.ProgramSpec `ebpf:"program_sock_release"`
	ProgramTc           *ebpf.ProgramSpec `ebpf:"program_tc"`
	ProgramXdp          *ebpf.ProgramSpec `ebpf:"program_xdp"`
}

PluginsBaseProgramSpecs contains programs before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsBasePrograms

type PluginsBasePrograms struct {
	ProgramBind4        *ebpf.Program `ebpf:"program_bind4"`
	ProgramBind6        *ebpf.Program `ebpf:"program_bind6"`
	ProgramConnect4     *ebpf.Program `ebpf:"program_connect4"`
	ProgramConnect6     *ebpf.Program `ebpf:"program_connect6"`
	ProgramGetpeername4 *ebpf.Program `ebpf:"program_getpeername4"`
	ProgramGetpeername6 *ebpf.Program `ebpf:"program_getpeername6"`
	ProgramPostBind4    *ebpf.Program `ebpf:"program_post_bind4"`
	ProgramPostBind6    *ebpf.Program `ebpf:"program_post_bind6"`
	ProgramRecvmsg4     *ebpf.Program `ebpf:"program_recvmsg4"`
	ProgramRecvmsg6     *ebpf.Program `ebpf:"program_recvmsg6"`
	ProgramSendmsg4     *ebpf.Program `ebpf:"program_sendmsg4"`
	ProgramSendmsg6     *ebpf.Program `ebpf:"program_sendmsg6"`
	ProgramSockRelease  *ebpf.Program `ebpf:"program_sock_release"`
	ProgramTc           *ebpf.Program `ebpf:"program_tc"`
	ProgramXdp          *ebpf.Program `ebpf:"program_xdp"`
}

PluginsBasePrograms contains all programs after they have been loaded into the kernel.

It can be passed to LoadPluginsBaseObjects or ebpf.CollectionSpec.LoadAndAssign.

func (*PluginsBasePrograms) Close

func (p *PluginsBasePrograms) Close() error

type PluginsBaseSpecs

PluginsBaseSpecs contains maps and programs before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsBaseVariableSpecs

type PluginsBaseVariableSpecs struct {
	ProgramBind4Seq        *ebpf.VariableSpec `ebpf:"program_bind4_seq"`
	ProgramBind6Seq        *ebpf.VariableSpec `ebpf:"program_bind6_seq"`
	ProgramConnect4Seq     *ebpf.VariableSpec `ebpf:"program_connect4_seq"`
	ProgramConnect6Seq     *ebpf.VariableSpec `ebpf:"program_connect6_seq"`
	ProgramGetpeername4Seq *ebpf.VariableSpec `ebpf:"program_getpeername4_seq"`
	ProgramGetpeername6Seq *ebpf.VariableSpec `ebpf:"program_getpeername6_seq"`
	ProgramPostBind4Seq    *ebpf.VariableSpec `ebpf:"program_post_bind4_seq"`
	ProgramPostBind6Seq    *ebpf.VariableSpec `ebpf:"program_post_bind6_seq"`
	ProgramRecvmsg4Seq     *ebpf.VariableSpec `ebpf:"program_recvmsg4_seq"`
	ProgramRecvmsg6Seq     *ebpf.VariableSpec `ebpf:"program_recvmsg6_seq"`
	ProgramSendmsg4Seq     *ebpf.VariableSpec `ebpf:"program_sendmsg4_seq"`
	ProgramSendmsg6Seq     *ebpf.VariableSpec `ebpf:"program_sendmsg6_seq"`
	ProgramSockReleaseSeq  *ebpf.VariableSpec `ebpf:"program_sock_release_seq"`
	ProgramTcSeq           *ebpf.VariableSpec `ebpf:"program_tc_seq"`
	ProgramXdpSeq          *ebpf.VariableSpec `ebpf:"program_xdp_seq"`
}

PluginsBaseVariableSpecs contains global variables before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsBaseVariables

type PluginsBaseVariables struct {
	ProgramBind4Seq        *ebpf.Variable `ebpf:"program_bind4_seq"`
	ProgramBind6Seq        *ebpf.Variable `ebpf:"program_bind6_seq"`
	ProgramConnect4Seq     *ebpf.Variable `ebpf:"program_connect4_seq"`
	ProgramConnect6Seq     *ebpf.Variable `ebpf:"program_connect6_seq"`
	ProgramGetpeername4Seq *ebpf.Variable `ebpf:"program_getpeername4_seq"`
	ProgramGetpeername6Seq *ebpf.Variable `ebpf:"program_getpeername6_seq"`
	ProgramPostBind4Seq    *ebpf.Variable `ebpf:"program_post_bind4_seq"`
	ProgramPostBind6Seq    *ebpf.Variable `ebpf:"program_post_bind6_seq"`
	ProgramRecvmsg4Seq     *ebpf.Variable `ebpf:"program_recvmsg4_seq"`
	ProgramRecvmsg6Seq     *ebpf.Variable `ebpf:"program_recvmsg6_seq"`
	ProgramSendmsg4Seq     *ebpf.Variable `ebpf:"program_sendmsg4_seq"`
	ProgramSendmsg6Seq     *ebpf.Variable `ebpf:"program_sendmsg6_seq"`
	ProgramSockReleaseSeq  *ebpf.Variable `ebpf:"program_sock_release_seq"`
	ProgramTcSeq           *ebpf.Variable `ebpf:"program_tc_seq"`
	ProgramXdpSeq          *ebpf.Variable `ebpf:"program_xdp_seq"`
}

PluginsBaseVariables contains all global variables after they have been loaded into the kernel.

It can be passed to LoadPluginsBaseObjects or ebpf.CollectionSpec.LoadAndAssign.

type PluginsHooksMapSpecs

type PluginsHooksMapSpecs struct {
	Seq *ebpf.MapSpec `ebpf:"seq"`
}

PluginsHooksMapSpecs contains maps before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsHooksMaps

type PluginsHooksMaps struct {
	Seq *ebpf.Map `ebpf:"seq"`
}

PluginsHooksMaps contains all maps after they have been loaded into the kernel.

It can be passed to LoadPluginsHooksObjects or ebpf.CollectionSpec.LoadAndAssign.

func (*PluginsHooksMaps) Close

func (m *PluginsHooksMaps) Close() error

type PluginsHooksObjects

type PluginsHooksObjects struct {
	PluginsHooksPrograms
	PluginsHooksMaps
	PluginsHooksVariables
}

PluginsHooksObjects contains all objects after they have been loaded into the kernel.

It can be passed to LoadPluginsHooksObjects or ebpf.CollectionSpec.LoadAndAssign.

func (*PluginsHooksObjects) Close

func (o *PluginsHooksObjects) Close() error

type PluginsHooksProgramSpecs

type PluginsHooksProgramSpecs struct {
	AfterProgramBind4         *ebpf.ProgramSpec `ebpf:"after_program_bind4"`
	AfterProgramBind6         *ebpf.ProgramSpec `ebpf:"after_program_bind6"`
	AfterProgramConnect4      *ebpf.ProgramSpec `ebpf:"after_program_connect4"`
	AfterProgramConnect6      *ebpf.ProgramSpec `ebpf:"after_program_connect6"`
	AfterProgramGetpeername4  *ebpf.ProgramSpec `ebpf:"after_program_getpeername4"`
	AfterProgramGetpeername6  *ebpf.ProgramSpec `ebpf:"after_program_getpeername6"`
	AfterProgramPostBind4     *ebpf.ProgramSpec `ebpf:"after_program_post_bind4"`
	AfterProgramPostBind6     *ebpf.ProgramSpec `ebpf:"after_program_post_bind6"`
	AfterProgramRecvmsg4      *ebpf.ProgramSpec `ebpf:"after_program_recvmsg4"`
	AfterProgramRecvmsg6      *ebpf.ProgramSpec `ebpf:"after_program_recvmsg6"`
	AfterProgramSendmsg4      *ebpf.ProgramSpec `ebpf:"after_program_sendmsg4"`
	AfterProgramSendmsg6      *ebpf.ProgramSpec `ebpf:"after_program_sendmsg6"`
	AfterProgramSockRelease   *ebpf.ProgramSpec `ebpf:"after_program_sock_release"`
	AfterProgramTc            *ebpf.ProgramSpec `ebpf:"after_program_tc"`
	AfterProgramXdp           *ebpf.ProgramSpec `ebpf:"after_program_xdp"`
	BeforeProgramBind4        *ebpf.ProgramSpec `ebpf:"before_program_bind4"`
	BeforeProgramBind6        *ebpf.ProgramSpec `ebpf:"before_program_bind6"`
	BeforeProgramConnect4     *ebpf.ProgramSpec `ebpf:"before_program_connect4"`
	BeforeProgramConnect6     *ebpf.ProgramSpec `ebpf:"before_program_connect6"`
	BeforeProgramGetpeername4 *ebpf.ProgramSpec `ebpf:"before_program_getpeername4"`
	BeforeProgramGetpeername6 *ebpf.ProgramSpec `ebpf:"before_program_getpeername6"`
	BeforeProgramPostBind4    *ebpf.ProgramSpec `ebpf:"before_program_post_bind4"`
	BeforeProgramPostBind6    *ebpf.ProgramSpec `ebpf:"before_program_post_bind6"`
	BeforeProgramRecvmsg4     *ebpf.ProgramSpec `ebpf:"before_program_recvmsg4"`
	BeforeProgramRecvmsg6     *ebpf.ProgramSpec `ebpf:"before_program_recvmsg6"`
	BeforeProgramSendmsg4     *ebpf.ProgramSpec `ebpf:"before_program_sendmsg4"`
	BeforeProgramSendmsg6     *ebpf.ProgramSpec `ebpf:"before_program_sendmsg6"`
	BeforeProgramSockRelease  *ebpf.ProgramSpec `ebpf:"before_program_sock_release"`
	BeforeProgramTc           *ebpf.ProgramSpec `ebpf:"before_program_tc"`
	BeforeProgramXdp          *ebpf.ProgramSpec `ebpf:"before_program_xdp"`
}

PluginsHooksProgramSpecs contains programs before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsHooksPrograms

type PluginsHooksPrograms struct {
	AfterProgramBind4         *ebpf.Program `ebpf:"after_program_bind4"`
	AfterProgramBind6         *ebpf.Program `ebpf:"after_program_bind6"`
	AfterProgramConnect4      *ebpf.Program `ebpf:"after_program_connect4"`
	AfterProgramConnect6      *ebpf.Program `ebpf:"after_program_connect6"`
	AfterProgramGetpeername4  *ebpf.Program `ebpf:"after_program_getpeername4"`
	AfterProgramGetpeername6  *ebpf.Program `ebpf:"after_program_getpeername6"`
	AfterProgramPostBind4     *ebpf.Program `ebpf:"after_program_post_bind4"`
	AfterProgramPostBind6     *ebpf.Program `ebpf:"after_program_post_bind6"`
	AfterProgramRecvmsg4      *ebpf.Program `ebpf:"after_program_recvmsg4"`
	AfterProgramRecvmsg6      *ebpf.Program `ebpf:"after_program_recvmsg6"`
	AfterProgramSendmsg4      *ebpf.Program `ebpf:"after_program_sendmsg4"`
	AfterProgramSendmsg6      *ebpf.Program `ebpf:"after_program_sendmsg6"`
	AfterProgramSockRelease   *ebpf.Program `ebpf:"after_program_sock_release"`
	AfterProgramTc            *ebpf.Program `ebpf:"after_program_tc"`
	AfterProgramXdp           *ebpf.Program `ebpf:"after_program_xdp"`
	BeforeProgramBind4        *ebpf.Program `ebpf:"before_program_bind4"`
	BeforeProgramBind6        *ebpf.Program `ebpf:"before_program_bind6"`
	BeforeProgramConnect4     *ebpf.Program `ebpf:"before_program_connect4"`
	BeforeProgramConnect6     *ebpf.Program `ebpf:"before_program_connect6"`
	BeforeProgramGetpeername4 *ebpf.Program `ebpf:"before_program_getpeername4"`
	BeforeProgramGetpeername6 *ebpf.Program `ebpf:"before_program_getpeername6"`
	BeforeProgramPostBind4    *ebpf.Program `ebpf:"before_program_post_bind4"`
	BeforeProgramPostBind6    *ebpf.Program `ebpf:"before_program_post_bind6"`
	BeforeProgramRecvmsg4     *ebpf.Program `ebpf:"before_program_recvmsg4"`
	BeforeProgramRecvmsg6     *ebpf.Program `ebpf:"before_program_recvmsg6"`
	BeforeProgramSendmsg4     *ebpf.Program `ebpf:"before_program_sendmsg4"`
	BeforeProgramSendmsg6     *ebpf.Program `ebpf:"before_program_sendmsg6"`
	BeforeProgramSockRelease  *ebpf.Program `ebpf:"before_program_sock_release"`
	BeforeProgramTc           *ebpf.Program `ebpf:"before_program_tc"`
	BeforeProgramXdp          *ebpf.Program `ebpf:"before_program_xdp"`
}

PluginsHooksPrograms contains all programs after they have been loaded into the kernel.

It can be passed to LoadPluginsHooksObjects or ebpf.CollectionSpec.LoadAndAssign.

func (*PluginsHooksPrograms) Close

func (p *PluginsHooksPrograms) Close() error

type PluginsHooksSpecs

PluginsHooksSpecs contains maps and programs before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsHooksVariableSpecs

type PluginsHooksVariableSpecs struct {
	AfterProgramBind4Ret             *ebpf.VariableSpec `ebpf:"after_program_bind4_ret"`
	AfterProgramBind4RetParam        *ebpf.VariableSpec `ebpf:"after_program_bind4_ret_param"`
	AfterProgramBind4Seq             *ebpf.VariableSpec `ebpf:"after_program_bind4_seq"`
	AfterProgramBind6Ret             *ebpf.VariableSpec `ebpf:"after_program_bind6_ret"`
	AfterProgramBind6RetParam        *ebpf.VariableSpec `ebpf:"after_program_bind6_ret_param"`
	AfterProgramBind6Seq             *ebpf.VariableSpec `ebpf:"after_program_bind6_seq"`
	AfterProgramConnect4Ret          *ebpf.VariableSpec `ebpf:"after_program_connect4_ret"`
	AfterProgramConnect4RetParam     *ebpf.VariableSpec `ebpf:"after_program_connect4_ret_param"`
	AfterProgramConnect4Seq          *ebpf.VariableSpec `ebpf:"after_program_connect4_seq"`
	AfterProgramConnect6Ret          *ebpf.VariableSpec `ebpf:"after_program_connect6_ret"`
	AfterProgramConnect6RetParam     *ebpf.VariableSpec `ebpf:"after_program_connect6_ret_param"`
	AfterProgramConnect6Seq          *ebpf.VariableSpec `ebpf:"after_program_connect6_seq"`
	AfterProgramGetpeername4Ret      *ebpf.VariableSpec `ebpf:"after_program_getpeername4_ret"`
	AfterProgramGetpeername4RetParam *ebpf.VariableSpec `ebpf:"after_program_getpeername4_ret_param"`
	AfterProgramGetpeername4Seq      *ebpf.VariableSpec `ebpf:"after_program_getpeername4_seq"`
	AfterProgramGetpeername6Ret      *ebpf.VariableSpec `ebpf:"after_program_getpeername6_ret"`
	AfterProgramGetpeername6RetParam *ebpf.VariableSpec `ebpf:"after_program_getpeername6_ret_param"`
	AfterProgramGetpeername6Seq      *ebpf.VariableSpec `ebpf:"after_program_getpeername6_seq"`
	AfterProgramPostBind4Ret         *ebpf.VariableSpec `ebpf:"after_program_post_bind4_ret"`
	AfterProgramPostBind4RetParam    *ebpf.VariableSpec `ebpf:"after_program_post_bind4_ret_param"`
	AfterProgramPostBind4Seq         *ebpf.VariableSpec `ebpf:"after_program_post_bind4_seq"`
	AfterProgramPostBind6Ret         *ebpf.VariableSpec `ebpf:"after_program_post_bind6_ret"`
	AfterProgramPostBind6RetParam    *ebpf.VariableSpec `ebpf:"after_program_post_bind6_ret_param"`
	AfterProgramPostBind6Seq         *ebpf.VariableSpec `ebpf:"after_program_post_bind6_seq"`
	AfterProgramRecvmsg4Ret          *ebpf.VariableSpec `ebpf:"after_program_recvmsg4_ret"`
	AfterProgramRecvmsg4RetParam     *ebpf.VariableSpec `ebpf:"after_program_recvmsg4_ret_param"`
	AfterProgramRecvmsg4Seq          *ebpf.VariableSpec `ebpf:"after_program_recvmsg4_seq"`
	AfterProgramRecvmsg6Ret          *ebpf.VariableSpec `ebpf:"after_program_recvmsg6_ret"`
	AfterProgramRecvmsg6RetParam     *ebpf.VariableSpec `ebpf:"after_program_recvmsg6_ret_param"`
	AfterProgramRecvmsg6Seq          *ebpf.VariableSpec `ebpf:"after_program_recvmsg6_seq"`
	AfterProgramSendmsg4Ret          *ebpf.VariableSpec `ebpf:"after_program_sendmsg4_ret"`
	AfterProgramSendmsg4RetParam     *ebpf.VariableSpec `ebpf:"after_program_sendmsg4_ret_param"`
	AfterProgramSendmsg4Seq          *ebpf.VariableSpec `ebpf:"after_program_sendmsg4_seq"`
	AfterProgramSendmsg6Ret          *ebpf.VariableSpec `ebpf:"after_program_sendmsg6_ret"`
	AfterProgramSendmsg6RetParam     *ebpf.VariableSpec `ebpf:"after_program_sendmsg6_ret_param"`
	AfterProgramSendmsg6Seq          *ebpf.VariableSpec `ebpf:"after_program_sendmsg6_seq"`
	AfterProgramSockReleaseRet       *ebpf.VariableSpec `ebpf:"after_program_sock_release_ret"`
	AfterProgramSockReleaseRetParam  *ebpf.VariableSpec `ebpf:"after_program_sock_release_ret_param"`
	AfterProgramSockReleaseSeq       *ebpf.VariableSpec `ebpf:"after_program_sock_release_seq"`
	AfterProgramTcRet                *ebpf.VariableSpec `ebpf:"after_program_tc_ret"`
	AfterProgramTcRetParam           *ebpf.VariableSpec `ebpf:"after_program_tc_ret_param"`
	AfterProgramTcSeq                *ebpf.VariableSpec `ebpf:"after_program_tc_seq"`
	AfterProgramXdpRet               *ebpf.VariableSpec `ebpf:"after_program_xdp_ret"`
	AfterProgramXdpRetParam          *ebpf.VariableSpec `ebpf:"after_program_xdp_ret_param"`
	AfterProgramXdpSeq               *ebpf.VariableSpec `ebpf:"after_program_xdp_seq"`
	BeforeProgramBind4Ret            *ebpf.VariableSpec `ebpf:"before_program_bind4_ret"`
	BeforeProgramBind4Seq            *ebpf.VariableSpec `ebpf:"before_program_bind4_seq"`
	BeforeProgramBind6Ret            *ebpf.VariableSpec `ebpf:"before_program_bind6_ret"`
	BeforeProgramBind6Seq            *ebpf.VariableSpec `ebpf:"before_program_bind6_seq"`
	BeforeProgramConnect4Ret         *ebpf.VariableSpec `ebpf:"before_program_connect4_ret"`
	BeforeProgramConnect4Seq         *ebpf.VariableSpec `ebpf:"before_program_connect4_seq"`
	BeforeProgramConnect6Ret         *ebpf.VariableSpec `ebpf:"before_program_connect6_ret"`
	BeforeProgramConnect6Seq         *ebpf.VariableSpec `ebpf:"before_program_connect6_seq"`
	BeforeProgramGetpeername4Ret     *ebpf.VariableSpec `ebpf:"before_program_getpeername4_ret"`
	BeforeProgramGetpeername4Seq     *ebpf.VariableSpec `ebpf:"before_program_getpeername4_seq"`
	BeforeProgramGetpeername6Ret     *ebpf.VariableSpec `ebpf:"before_program_getpeername6_ret"`
	BeforeProgramGetpeername6Seq     *ebpf.VariableSpec `ebpf:"before_program_getpeername6_seq"`
	BeforeProgramPostBind4Ret        *ebpf.VariableSpec `ebpf:"before_program_post_bind4_ret"`
	BeforeProgramPostBind4Seq        *ebpf.VariableSpec `ebpf:"before_program_post_bind4_seq"`
	BeforeProgramPostBind6Ret        *ebpf.VariableSpec `ebpf:"before_program_post_bind6_ret"`
	BeforeProgramPostBind6Seq        *ebpf.VariableSpec `ebpf:"before_program_post_bind6_seq"`
	BeforeProgramRecvmsg4Ret         *ebpf.VariableSpec `ebpf:"before_program_recvmsg4_ret"`
	BeforeProgramRecvmsg4Seq         *ebpf.VariableSpec `ebpf:"before_program_recvmsg4_seq"`
	BeforeProgramRecvmsg6Ret         *ebpf.VariableSpec `ebpf:"before_program_recvmsg6_ret"`
	BeforeProgramRecvmsg6Seq         *ebpf.VariableSpec `ebpf:"before_program_recvmsg6_seq"`
	BeforeProgramSendmsg4Ret         *ebpf.VariableSpec `ebpf:"before_program_sendmsg4_ret"`
	BeforeProgramSendmsg4Seq         *ebpf.VariableSpec `ebpf:"before_program_sendmsg4_seq"`
	BeforeProgramSendmsg6Ret         *ebpf.VariableSpec `ebpf:"before_program_sendmsg6_ret"`
	BeforeProgramSendmsg6Seq         *ebpf.VariableSpec `ebpf:"before_program_sendmsg6_seq"`
	BeforeProgramSockReleaseRet      *ebpf.VariableSpec `ebpf:"before_program_sock_release_ret"`
	BeforeProgramSockReleaseSeq      *ebpf.VariableSpec `ebpf:"before_program_sock_release_seq"`
	BeforeProgramTcRet               *ebpf.VariableSpec `ebpf:"before_program_tc_ret"`
	BeforeProgramTcSeq               *ebpf.VariableSpec `ebpf:"before_program_tc_seq"`
	BeforeProgramXdpRet              *ebpf.VariableSpec `ebpf:"before_program_xdp_ret"`
	BeforeProgramXdpSeq              *ebpf.VariableSpec `ebpf:"before_program_xdp_seq"`
}

PluginsHooksVariableSpecs contains global variables before they are loaded into the kernel.

It can be passed ebpf.CollectionSpec.Assign.

type PluginsHooksVariables

type PluginsHooksVariables struct {
	AfterProgramBind4Ret             *ebpf.Variable `ebpf:"after_program_bind4_ret"`
	AfterProgramBind4RetParam        *ebpf.Variable `ebpf:"after_program_bind4_ret_param"`
	AfterProgramBind4Seq             *ebpf.Variable `ebpf:"after_program_bind4_seq"`
	AfterProgramBind6Ret             *ebpf.Variable `ebpf:"after_program_bind6_ret"`
	AfterProgramBind6RetParam        *ebpf.Variable `ebpf:"after_program_bind6_ret_param"`
	AfterProgramBind6Seq             *ebpf.Variable `ebpf:"after_program_bind6_seq"`
	AfterProgramConnect4Ret          *ebpf.Variable `ebpf:"after_program_connect4_ret"`
	AfterProgramConnect4RetParam     *ebpf.Variable `ebpf:"after_program_connect4_ret_param"`
	AfterProgramConnect4Seq          *ebpf.Variable `ebpf:"after_program_connect4_seq"`
	AfterProgramConnect6Ret          *ebpf.Variable `ebpf:"after_program_connect6_ret"`
	AfterProgramConnect6RetParam     *ebpf.Variable `ebpf:"after_program_connect6_ret_param"`
	AfterProgramConnect6Seq          *ebpf.Variable `ebpf:"after_program_connect6_seq"`
	AfterProgramGetpeername4Ret      *ebpf.Variable `ebpf:"after_program_getpeername4_ret"`
	AfterProgramGetpeername4RetParam *ebpf.Variable `ebpf:"after_program_getpeername4_ret_param"`
	AfterProgramGetpeername4Seq      *ebpf.Variable `ebpf:"after_program_getpeername4_seq"`
	AfterProgramGetpeername6Ret      *ebpf.Variable `ebpf:"after_program_getpeername6_ret"`
	AfterProgramGetpeername6RetParam *ebpf.Variable `ebpf:"after_program_getpeername6_ret_param"`
	AfterProgramGetpeername6Seq      *ebpf.Variable `ebpf:"after_program_getpeername6_seq"`
	AfterProgramPostBind4Ret         *ebpf.Variable `ebpf:"after_program_post_bind4_ret"`
	AfterProgramPostBind4RetParam    *ebpf.Variable `ebpf:"after_program_post_bind4_ret_param"`
	AfterProgramPostBind4Seq         *ebpf.Variable `ebpf:"after_program_post_bind4_seq"`
	AfterProgramPostBind6Ret         *ebpf.Variable `ebpf:"after_program_post_bind6_ret"`
	AfterProgramPostBind6RetParam    *ebpf.Variable `ebpf:"after_program_post_bind6_ret_param"`
	AfterProgramPostBind6Seq         *ebpf.Variable `ebpf:"after_program_post_bind6_seq"`
	AfterProgramRecvmsg4Ret          *ebpf.Variable `ebpf:"after_program_recvmsg4_ret"`
	AfterProgramRecvmsg4RetParam     *ebpf.Variable `ebpf:"after_program_recvmsg4_ret_param"`
	AfterProgramRecvmsg4Seq          *ebpf.Variable `ebpf:"after_program_recvmsg4_seq"`
	AfterProgramRecvmsg6Ret          *ebpf.Variable `ebpf:"after_program_recvmsg6_ret"`
	AfterProgramRecvmsg6RetParam     *ebpf.Variable `ebpf:"after_program_recvmsg6_ret_param"`
	AfterProgramRecvmsg6Seq          *ebpf.Variable `ebpf:"after_program_recvmsg6_seq"`
	AfterProgramSendmsg4Ret          *ebpf.Variable `ebpf:"after_program_sendmsg4_ret"`
	AfterProgramSendmsg4RetParam     *ebpf.Variable `ebpf:"after_program_sendmsg4_ret_param"`
	AfterProgramSendmsg4Seq          *ebpf.Variable `ebpf:"after_program_sendmsg4_seq"`
	AfterProgramSendmsg6Ret          *ebpf.Variable `ebpf:"after_program_sendmsg6_ret"`
	AfterProgramSendmsg6RetParam     *ebpf.Variable `ebpf:"after_program_sendmsg6_ret_param"`
	AfterProgramSendmsg6Seq          *ebpf.Variable `ebpf:"after_program_sendmsg6_seq"`
	AfterProgramSockReleaseRet       *ebpf.Variable `ebpf:"after_program_sock_release_ret"`
	AfterProgramSockReleaseRetParam  *ebpf.Variable `ebpf:"after_program_sock_release_ret_param"`
	AfterProgramSockReleaseSeq       *ebpf.Variable `ebpf:"after_program_sock_release_seq"`
	AfterProgramTcRet                *ebpf.Variable `ebpf:"after_program_tc_ret"`
	AfterProgramTcRetParam           *ebpf.Variable `ebpf:"after_program_tc_ret_param"`
	AfterProgramTcSeq                *ebpf.Variable `ebpf:"after_program_tc_seq"`
	AfterProgramXdpRet               *ebpf.Variable `ebpf:"after_program_xdp_ret"`
	AfterProgramXdpRetParam          *ebpf.Variable `ebpf:"after_program_xdp_ret_param"`
	AfterProgramXdpSeq               *ebpf.Variable `ebpf:"after_program_xdp_seq"`
	BeforeProgramBind4Ret            *ebpf.Variable `ebpf:"before_program_bind4_ret"`
	BeforeProgramBind4Seq            *ebpf.Variable `ebpf:"before_program_bind4_seq"`
	BeforeProgramBind6Ret            *ebpf.Variable `ebpf:"before_program_bind6_ret"`
	BeforeProgramBind6Seq            *ebpf.Variable `ebpf:"before_program_bind6_seq"`
	BeforeProgramConnect4Ret         *ebpf.Variable `ebpf:"before_program_connect4_ret"`
	BeforeProgramConnect4Seq         *ebpf.Variable `ebpf:"before_program_connect4_seq"`
	BeforeProgramConnect6Ret         *ebpf.Variable `ebpf:"before_program_connect6_ret"`
	BeforeProgramConnect6Seq         *ebpf.Variable `ebpf:"before_program_connect6_seq"`
	BeforeProgramGetpeername4Ret     *ebpf.Variable `ebpf:"before_program_getpeername4_ret"`
	BeforeProgramGetpeername4Seq     *ebpf.Variable `ebpf:"before_program_getpeername4_seq"`
	BeforeProgramGetpeername6Ret     *ebpf.Variable `ebpf:"before_program_getpeername6_ret"`
	BeforeProgramGetpeername6Seq     *ebpf.Variable `ebpf:"before_program_getpeername6_seq"`
	BeforeProgramPostBind4Ret        *ebpf.Variable `ebpf:"before_program_post_bind4_ret"`
	BeforeProgramPostBind4Seq        *ebpf.Variable `ebpf:"before_program_post_bind4_seq"`
	BeforeProgramPostBind6Ret        *ebpf.Variable `ebpf:"before_program_post_bind6_ret"`
	BeforeProgramPostBind6Seq        *ebpf.Variable `ebpf:"before_program_post_bind6_seq"`
	BeforeProgramRecvmsg4Ret         *ebpf.Variable `ebpf:"before_program_recvmsg4_ret"`
	BeforeProgramRecvmsg4Seq         *ebpf.Variable `ebpf:"before_program_recvmsg4_seq"`
	BeforeProgramRecvmsg6Ret         *ebpf.Variable `ebpf:"before_program_recvmsg6_ret"`
	BeforeProgramRecvmsg6Seq         *ebpf.Variable `ebpf:"before_program_recvmsg6_seq"`
	BeforeProgramSendmsg4Ret         *ebpf.Variable `ebpf:"before_program_sendmsg4_ret"`
	BeforeProgramSendmsg4Seq         *ebpf.Variable `ebpf:"before_program_sendmsg4_seq"`
	BeforeProgramSendmsg6Ret         *ebpf.Variable `ebpf:"before_program_sendmsg6_ret"`
	BeforeProgramSendmsg6Seq         *ebpf.Variable `ebpf:"before_program_sendmsg6_seq"`
	BeforeProgramSockReleaseRet      *ebpf.Variable `ebpf:"before_program_sock_release_ret"`
	BeforeProgramSockReleaseSeq      *ebpf.Variable `ebpf:"before_program_sock_release_seq"`
	BeforeProgramTcRet               *ebpf.Variable `ebpf:"before_program_tc_ret"`
	BeforeProgramTcSeq               *ebpf.Variable `ebpf:"before_program_tc_seq"`
	BeforeProgramXdpRet              *ebpf.Variable `ebpf:"before_program_xdp_ret"`
	BeforeProgramXdpSeq              *ebpf.Variable `ebpf:"before_program_xdp_seq"`
}

PluginsHooksVariables contains all global variables after they have been loaded into the kernel.

It can be passed to LoadPluginsHooksObjects or ebpf.CollectionSpec.LoadAndAssign.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL