bpf_link_opsRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: Absent ⚠️
4.13: Absent ⚠️
4.15: Absent ⚠️
4.18: Absent ⚠️
5.0: Absent ⚠️
5.3: Absent ⚠️
5.4: Absent ⚠️
5.8: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
};
5.11: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*detach)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
};
5.13: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*detach)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
};
5.15: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*detach)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
};
5.19: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*detach)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
};
6.2: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*detach)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
};
6.5: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*detach)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
int (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *);
};
6.8: ✅struct bpf_link_ops {
void (*release)(struct bpf_link *);
void (*dealloc)(struct bpf_link *);
int (*detach)(struct bpf_link *);
int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *);
void (*show_fdinfo)(const struct bpf_link *, struct seq_file *);
int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *);
int (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *);
};
arm64: Absent ⚠️
armhf: Absent ⚠️
ppc64el: Absent ⚠️
riscv64: Absent ⚠️
aws: Absent ⚠️
azure: Absent ⚠️
gcp: Absent ⚠️
lowlatency: Absent ⚠️
Regular
5.8 and 5.11 ⚠️int (*detach)(struct bpf_link *)
5.11 and 5.13 ✅
5.13 and 5.15 ✅
5.15 and 5.19 ✅
5.19 and 6.2 ✅
6.2 and 6.5 ⚠️int (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *)
6.5 and 6.8 ✅