pub enum ProgramSection {
Show 32 variants
KRetProbe,
KProbe,
UProbe {
sleepable: bool,
},
URetProbe {
sleepable: bool,
},
TracePoint,
SocketFilter,
Xdp {
frags: bool,
attach_type: XdpAttachType,
},
SkMsg,
SkSkbStreamParser,
SkSkbStreamVerdict,
SockOps,
SchedClassifier,
CgroupSkb,
CgroupSkbIngress,
CgroupSkbEgress,
CgroupSockAddr {
attach_type: CgroupSockAddrAttachType,
},
CgroupSysctl,
CgroupSockopt {
attach_type: CgroupSockoptAttachType,
},
LircMode2,
PerfEvent,
RawTracePoint,
Lsm {
sleepable: bool,
},
LsmCgroup,
BtfTracePoint,
FEntry {
sleepable: bool,
},
FExit {
sleepable: bool,
},
FlowDissector,
Extension,
SkLookup,
CgroupSock {
attach_type: CgroupSockAttachType,
},
CgroupDevice,
Iter {
sleepable: bool,
},
}Expand description
Section types containing eBPF programs
§Section Name Parsing
Section types are parsed from the section name strings.
In order for Aya to treat a section as a ProgramSection, there are a few requirements:
- The section must be an executable code section.
- The section name must conform to Program Types and ELF Sections.
§Unsupported Sections
Currently, the following section names are not supported yet:
flow_dissector:BPF_PROG_TYPE_FLOW_DISSECTORksyscall+orkretsyscall+usdt+kprobe.multi+orkretprobe.multi+:BPF_TRACE_KPROBE_MULTIlsm_cgroup+lwt_in,lwt_out,lwt_seg6local,lwt_xmitraw_tp.w+,raw_tracepoint.w+actionsk_reuseport/migrate,sk_reuseportsyscallstruct_ops+fmod_ret+,fmod_ret.s+iter+,iter.s+
Variants§
KRetProbe
KProbe
UProbe
URetProbe
TracePoint
SocketFilter
Xdp
SkMsg
SkSkbStreamParser
SkSkbStreamVerdict
SockOps
SchedClassifier
CgroupSkb
CgroupSkbIngress
CgroupSkbEgress
CgroupSockAddr
Fields
§
attach_type: CgroupSockAddrAttachTypeCgroupSysctl
CgroupSockopt
Fields
§
attach_type: CgroupSockoptAttachTypeLircMode2
PerfEvent
RawTracePoint
Lsm
LsmCgroup
BtfTracePoint
FEntry
FExit
FlowDissector
Extension
SkLookup
CgroupSock
Fields
§
attach_type: CgroupSockAttachTypeCgroupDevice
Iter
Trait Implementations§
Source§impl Clone for ProgramSection
impl Clone for ProgramSection
Source§fn clone(&self) -> ProgramSection
fn clone(&self) -> ProgramSection
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProgramSection
impl Debug for ProgramSection
Source§impl FromStr for ProgramSection
impl FromStr for ProgramSection
Auto Trait Implementations§
impl Freeze for ProgramSection
impl RefUnwindSafe for ProgramSection
impl Send for ProgramSection
impl Sync for ProgramSection
impl Unpin for ProgramSection
impl UnwindSafe for ProgramSection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more