Documentation
¶
Overview ¶
Package bpf provides Go skeletons containing BPF programs.
Index ¶
- Constants
- func LoadPluginsBase() (*ebpf.CollectionSpec, error)
- func LoadPluginsBaseObjects(obj any, opts *ebpf.CollectionOptions) error
- func LoadPluginsHooks() (*ebpf.CollectionSpec, error)
- func LoadPluginsHooksObjects(obj any, opts *ebpf.CollectionOptions) error
- type PluginsBaseMapSpecs
- type PluginsBaseMaps
- type PluginsBaseObjects
- type PluginsBaseProgramSpecs
- type PluginsBasePrograms
- type PluginsBaseSpecs
- type PluginsBaseVariableSpecs
- type PluginsBaseVariables
- type PluginsHooksMapSpecs
- type PluginsHooksMaps
- type PluginsHooksObjects
- type PluginsHooksProgramSpecs
- type PluginsHooksPrograms
- type PluginsHooksSpecs
- type PluginsHooksVariableSpecs
- type PluginsHooksVariables
Constants ¶
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.
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 ¶
PluginsBaseMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type PluginsBaseMaps ¶
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 ¶
type PluginsBaseSpecs struct {
PluginsBaseProgramSpecs
PluginsBaseMapSpecs
PluginsBaseVariableSpecs
}
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 ¶
PluginsHooksMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type PluginsHooksMaps ¶
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 ¶
type PluginsHooksSpecs struct {
PluginsHooksProgramSpecs
PluginsHooksMapSpecs
PluginsHooksVariableSpecs
}
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.