extern structstd.os.linux.bpf.ProgLoadAttr[src]

struct used by Cmd.prog_load command

Fields

prog_type: u32

one of ProgType

insn_cnt: u32
insns: u64
license: u64
log_level: u32

verbosity level of verifier

log_size: u32

size of user buffer

log_buf: u64

user supplied buffer

kern_version: u32

not used

prog_flags: u32
prog_name: [obj_name_len]u8
prog_ifindex: u32

ifindex of netdev to prep for.

expected_attach_type: 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).

prog_btf_fd: fd_t

fd pointing to BTF type data

func_info_rec_size: u32

userspace bpf_func_info size

func_info: u64
func_info_cnt: u32

number of bpf_func_info records

line_info_rec_size: u32

userspace bpf_line_info size

line_info: u64
line_info_cnt: u32

number of bpf_line_info records

attact_btf_id: u32

in-kernel BTF type id to attach to

attach_prog_id: u32

0 to attach to vmlinux

Source Code

Source code
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,
}