Documentation
¶
Index ¶
- type KABPFLink
- type KABPFLinkType
- type KABPFMap
- func (m *KABPFMap) DeleteElement(elem KABPFMapElement) error
- func (m *KABPFMap) FD() int
- func (m *KABPFMap) InitPerfBuf(eventsChan chan []byte, lostChan chan uint64, pageCnt int) (*KABPFPerfBuffer, error)
- func (m *KABPFMap) InitRingBuf(eventsChan chan []byte) (*KABPFRingBuffer, error)
- func (m *KABPFMap) IsPinned() bool
- func (m *KABPFMap) KeySize() int
- func (m *KABPFMap) LookupElement(elem KABPFMapElement) ([]byte, error)
- func (m *KABPFMap) MaxEntries() uint32
- func (m *KABPFMap) Name() string
- func (m *KABPFMap) Object() *KABPFObject
- func (m *KABPFMap) Pin(pinPath string) error
- func (m *KABPFMap) PinPath() string
- func (m *KABPFMap) SetMaxEntries(maxEntries uint32) error
- func (m *KABPFMap) SetPinPath(pinPath string) error
- func (m *KABPFMap) Unpin(pinPath string) error
- func (m *KABPFMap) UpdateElement(elem KABPFMapElement) error
- func (m *KABPFMap) ValueSize() int
- type KABPFMapElement
- type KABPFObject
- func (o *KABPFObject) Close()
- func (o *KABPFObject) FindMapByName(mapName string) (*KABPFMap, error)
- func (o *KABPFObject) FindProgramByName(progName string) (*KABPFProgram, error)
- func (o *KABPFObject) InitPerfBuf(mapName string, eventsChan chan []byte, lostChan chan uint64, pageCnt int) (*KABPFPerfBuffer, error)
- func (o *KABPFObject) InitRingBuf(mapName string, eventsChan chan []byte) (*KABPFRingBuffer, error)
- func (o *KABPFObject) Load() error
- type KABPFPerfBuffer
- type KABPFProgType
- type KABPFProgram
- func (p *KABPFProgram) AttachKprobe(eventName string) (*KABPFLink, error)
- func (p *KABPFProgram) AttachKretprobe(eventName string) (*KABPFLink, error)
- func (p *KABPFProgram) AttachLSM() (*KABPFLink, error)
- func (p *KABPFProgram) AttachRawTracepoint(eventName string) (*KABPFLink, error)
- func (p *KABPFProgram) AttachTracepoint(category, eventName string) (*KABPFLink, error)
- func (p *KABPFProgram) FD() int
- func (p *KABPFProgram) GetType() KABPFProgType
- func (p *KABPFProgram) Name() string
- func (p *KABPFProgram) Object() *KABPFObject
- type KABPFRingBuffer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KABPFLink ¶
type KABPFLink struct {
// contains filtered or unexported fields
}
KubeArmor BPFLink wrapper structure
func (*KABPFLink) Program ¶
func (l *KABPFLink) Program() *KABPFProgram
Get program pointer to which link belongs
type KABPFLinkType ¶
type KABPFLinkType uint32
KABPFLinkType type
const ( KABPFLinkTypeUnspec KABPFLinkType = iota KABPFLinkTypeLSM KABPFLinkTypeKprobe KABPFLinkTypeKretprobe KABPFLinkTypeRawTracepoint KABPFLinkTypeTracepoint )
KABPFLinkType constants
type KABPFMap ¶
type KABPFMap struct {
// contains filtered or unexported fields
}
KubeArmor BPFMap wrapper structure
func (*KABPFMap) DeleteElement ¶
func (m *KABPFMap) DeleteElement(elem KABPFMapElement) error
Delete map element
func (*KABPFMap) InitPerfBuf ¶
func (m *KABPFMap) InitPerfBuf(eventsChan chan []byte, lostChan chan uint64, pageCnt int) (*KABPFPerfBuffer, error)
Initialize perf buffer
func (*KABPFMap) InitRingBuf ¶
func (m *KABPFMap) InitRingBuf(eventsChan chan []byte) (*KABPFRingBuffer, error)
Initialize ring buffer
func (*KABPFMap) LookupElement ¶
func (m *KABPFMap) LookupElement(elem KABPFMapElement) ([]byte, error)
Lookup map element The elem will have its value updated
func (*KABPFMap) Object ¶
func (m *KABPFMap) Object() *KABPFObject
Get object pointer to which map belongs
func (*KABPFMap) SetMaxEntries ¶
Set map max entries
func (*KABPFMap) UpdateElement ¶
func (m *KABPFMap) UpdateElement(elem KABPFMapElement) error
Update map element
type KABPFMapElement ¶
type KABPFMapElement interface { KeyPointer() unsafe.Pointer ValuePointer() unsafe.Pointer MapName() string SetFoundValue(value []byte) }
KubeArmor BPFMap Element interface
type KABPFObject ¶
type KABPFObject struct {
// contains filtered or unexported fields
}
KubeArmor BPFObject wrapper structure
func OpenObjectFromFile ¶
func OpenObjectFromFile(bpfObjFile string) (*KABPFObject, error)
Open object file
func (*KABPFObject) FindMapByName ¶
func (o *KABPFObject) FindMapByName(mapName string) (*KABPFMap, error)
Get map from object
func (*KABPFObject) FindProgramByName ¶
func (o *KABPFObject) FindProgramByName(progName string) (*KABPFProgram, error)
Get program from object
func (*KABPFObject) InitPerfBuf ¶
func (o *KABPFObject) InitPerfBuf(mapName string, eventsChan chan []byte, lostChan chan uint64, pageCnt int) (*KABPFPerfBuffer, error)
Initialize perf buffer
func (*KABPFObject) InitRingBuf ¶
func (o *KABPFObject) InitRingBuf(mapName string, eventsChan chan []byte) (*KABPFRingBuffer, error)
Initialize ring buffer
type KABPFPerfBuffer ¶
type KABPFPerfBuffer struct {
// contains filtered or unexported fields
}
KubeArmor PerfBuffer wrapper structure
func (*KABPFPerfBuffer) Map ¶
func (pb *KABPFPerfBuffer) Map() *KABPFMap
Get map pointer to which perf buffer relates
func (*KABPFPerfBuffer) StartPoll ¶
func (pb *KABPFPerfBuffer) StartPoll()
Start to poll perf buffer
type KABPFProgType ¶
type KABPFProgType uint32
KABPFProgType type
const ( KABPFProgTypeUnspec KABPFProgType = unix.BPF_PROG_TYPE_UNSPEC KABPFProgTypeSocketFilter KABPFProgType = unix.BPF_PROG_TYPE_SOCKET_FILTER KABPFProgTypeKprobe KABPFProgType = unix.BPF_PROG_TYPE_KPROBE KABPFProgTypeSchedCls KABPFProgType = unix.BPF_PROG_TYPE_SCHED_CLS KABPFProgTypeSchedAct KABPFProgType = unix.BPF_PROG_TYPE_SCHED_ACT KABPFProgTypeTracepoint KABPFProgType = unix.BPF_PROG_TYPE_TRACEPOINT KABPFProgTypeXDP KABPFProgType = unix.BPF_PROG_TYPE_XDP KABPFProgTypePerfEvent KABPFProgType = unix.BPF_PROG_TYPE_PERF_EVENT KABPFProgTypeCgroupSKB KABPFProgType = unix.BPF_PROG_TYPE_CGROUP_SKB KABPFProgTypeCgroupSock KABPFProgType = unix.BPF_PROG_TYPE_CGROUP_SOCK KABPFProgTypeLwtIn KABPFProgType = unix.BPF_PROG_TYPE_LWT_IN KABPFProgTypeLwtOut KABPFProgType = unix.BPF_PROG_TYPE_LWT_OUT KABPFProgTypeLwtXmit KABPFProgType = unix.BPF_PROG_TYPE_LWT_XMIT KABPFProgTypeSockOps KABPFProgType = unix.BPF_PROG_TYPE_SOCK_OPS KABPFProgTypeSkSKB KABPFProgType = unix.BPF_PROG_TYPE_SK_SKB KABPFProgTypeCgroupDevice KABPFProgType = unix.BPF_PROG_TYPE_CGROUP_DEVICE KABPFProgTypeSkMsg KABPFProgType = unix.BPF_PROG_TYPE_SK_MSG KABPFProgTypeRawTracepoint KABPFProgType = unix.BPF_PROG_TYPE_RAW_TRACEPOINT KABPFProgTypeCgroupSockAddr KABPFProgType = unix.BPF_PROG_TYPE_CGROUP_SOCK_ADDR KABPFProgTypeLwtSeg6Local KABPFProgType = unix.BPF_PROG_TYPE_LWT_SEG6LOCAL KABPFProgTypeLircMode2 KABPFProgType = unix.BPF_PROG_TYPE_LIRC_MODE2 KABPFProgTypeSkReuseport KABPFProgType = unix.BPF_PROG_TYPE_SK_REUSEPORT KABPFProgTypeFlowDissector KABPFProgType = unix.BPF_PROG_TYPE_FLOW_DISSECTOR KABPFProgTypeCgroupSysctl KABPFProgType = unix.BPF_PROG_TYPE_CGROUP_SYSCTL KABPFProgTypeRawTracepointWritable KABPFProgType = unix.BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE KABPFProgTypeCgroupSockopt KABPFProgType = unix.BPF_PROG_TYPE_CGROUP_SOCKOPT KABPFProgTypeTracing KABPFProgType = unix.BPF_PROG_TYPE_TRACING KABPFProgTypeStructOps KABPFProgType = unix.BPF_PROG_TYPE_STRUCT_OPS KABPFProgTypeExt KABPFProgType = unix.BPF_PROG_TYPE_EXT KABPFProgTypeLSM KABPFProgType = unix.BPF_PROG_TYPE_LSM KABPFProgTypeSkLookup KABPFProgType = unix.BPF_PROG_TYPE_SK_LOOKUP )
KABPFProgType constants
type KABPFProgram ¶
type KABPFProgram struct {
// contains filtered or unexported fields
}
KubeArmor BPFProgram wrapper structure
func (*KABPFProgram) AttachKprobe ¶
func (p *KABPFProgram) AttachKprobe(eventName string) (*KABPFLink, error)
Attach Kprobe This should be used for kernels > 4.17
func (*KABPFProgram) AttachKretprobe ¶
func (p *KABPFProgram) AttachKretprobe(eventName string) (*KABPFLink, error)
Attach Kretprobe This should be used for kernels > 4.17
func (*KABPFProgram) AttachRawTracepoint ¶
func (p *KABPFProgram) AttachRawTracepoint(eventName string) (*KABPFLink, error)
Attach Raw Tracepoint
func (*KABPFProgram) AttachTracepoint ¶
func (p *KABPFProgram) AttachTracepoint(category, eventName string) (*KABPFLink, error)
Attach Tracepoint
func (*KABPFProgram) Object ¶
func (p *KABPFProgram) Object() *KABPFObject
Get object pointer to which program belongs
type KABPFRingBuffer ¶
type KABPFRingBuffer struct {
// contains filtered or unexported fields
}
KubeArmor RingBuffer wrapper structure
func (*KABPFRingBuffer) Map ¶
func (rb *KABPFRingBuffer) Map() *KABPFMap
Get map pointer to which ring buffer relates
func (*KABPFRingBuffer) StartPoll ¶
func (rb *KABPFRingBuffer) StartPoll()
Start to poll ring buffer