extern struct ProgLoadAttr [src]
struct used by Cmd.prog_load command
Fields
prog_type: u32one of ProgType
insn_cnt: u32
insns: u64
license: u64
log_level: u32verbosity level of verifier
log_size: u32size of user buffer
log_buf: u64user supplied buffer
kern_version: u32not used
prog_flags: u32
prog_name: [obj_name_len]u8
prog_ifindex: u32ifindex of netdev to prep for.
expected_attach_type: u32For some prog types expected attach type must be known at load time to
verify attach type specific parts of prog (context accesses, allowed
helpers, etc).
prog_btf_fd: fd_tfd pointing to BTF type data
func_info_rec_size: u32userspace bpf_func_info size
func_info: u64
func_info_cnt: u32number of bpf_func_info records
line_info_rec_size: u32userspace bpf_line_info size
line_info: u64
line_info_cnt: u32number of bpf_line_info records
attact_btf_id: u32in-kernel BTF type id to attach to
attach_prog_id: u320 to attach to vmlinux
Source
pub const ProgLoadAttr = extern struct {
/// one of ProgType
prog_type: u32,
insn_cnt: u32,
insns: u64,
license: u64,
/// verbosity level of verifier
log_level: u32,
/// size of user buffer
log_size: u32,
/// user supplied buffer
log_buf: u64,
/// not used
kern_version: u32,
prog_flags: u32,
prog_name: [obj_name_len]u8,
/// ifindex of netdev to prep for.
prog_ifindex: u32,
/// For some prog types expected attach type must be known at load time to
/// verify attach type specific parts of prog (context accesses, allowed
/// helpers, etc).
expected_attach_type: u32,
/// fd pointing to BTF type data
prog_btf_fd: fd_t,
/// userspace bpf_func_info size
func_info_rec_size: u32,
func_info: u64,
/// number of bpf_func_info records
func_info_cnt: u32,
/// userspace bpf_line_info size
line_info_rec_size: u32,
line_info: u64,
/// number of bpf_line_info records
line_info_cnt: u32,
/// in-kernel BTF type id to attach to
attact_btf_id: u32,
/// 0 to attach to vmlinux
attach_prog_id: u32,
}