/DragonOS/user/apps/test_ebpf/src/ |
H A D | main.rs | 17 let mut bpf = Ebpf::load(include_bytes_aligned!( in main() localVariable 22 if let Err(e) = EbpfLogger::init(&mut bpf) { in main() 27 let program: &mut KProbe = bpf.program_mut("syscall_ebpf").unwrap().try_into()?; in main() 36 HashMap::try_from(bpf.map("SYSCALL_LIST").unwrap()).unwrap(); in main()
|
/DragonOS/user/apps/test_ebpf/syscall_ebpf/ |
H A D | README.md | 5 1. Install bpf-linker: `cargo install bpf-linker`
|
/DragonOS/docs/kernel/trace/ |
H A D | eBPF.md | 48 5. 根据内核版本,对eBPF程序中的bpf to bpf call进行处理 111 1. 增加bpf to bpf call 的支持:通过增加新的栈抽象和保存和恢复必要的寄存器数据 119 eBPF相关的系统调用都集中在`bpf()` 上,通过参数cmd来进一步区分功能,目前对其支持如下: 122 pub fn bpf(cmd: bpf_cmd, attr: &bpf_attr) -> Result<usize> { 137 error!("bpf cmd {:?} not implemented", cmd); 141 unimplemented!("bpf cmd {:?} not implemented", ty) 164 error!("bpf map type {:?} not implemented", map_meta.map_type); 251 // For bpf prog output 257 let bpf_event = bpf::perf_event_open_bpf(args); 263 - 其中一个`PERF_TYPE_SOFTWARE`是用来创建软件定义的事件,`PERF_COUNT_SW_BPF_OUTPUT` 确保这个事件用来采集bpf的输出。
|
/DragonOS/kernel/src/bpf/prog/ |
H A D | verifier.rs | 2 use crate::bpf::map::BpfMap; 3 use crate::bpf::prog::util::VerifierLogLevel; 4 use crate::bpf::prog::BpfProg;
|
H A D | mod.rs | 5 use crate::bpf::map::BpfMap; 6 use crate::bpf::prog::util::{BpfProgMeta, BpfProgVerifierInfo}; 7 use crate::bpf::prog::verifier::BpfProgVerifier;
|
/DragonOS/kernel/src/bpf/ |
H A D | mod.rs | 18 bpf(cmd, attr) in sys_bpf() 22 pub fn bpf(cmd: bpf_cmd, attr: &bpf_attr) -> Result<usize> { in bpf() function
|
/DragonOS/ |
H A D | triagebot.toml | 90 "/kernel/src/bpf", 118 [mentions."kernel/src/bpf"] 173 "/kernel/src/bpf" = ["sig-obs"]
|
/DragonOS/kernel/src/perf/ |
H A D | kprobe.rs | 4 use crate::bpf::helper::BPF_HELPER_FUN_SET; 5 use crate::bpf::prog::BpfProg;
|
H A D | mod.rs | 1 mod bpf; module 18 use crate::perf::bpf::BpfPerfEvent; 294 let bpf_event = bpf::perf_event_open_bpf(args); in perf_event_open()
|
/DragonOS/kernel/src/bpf/map/ |
H A D | hash_map.rs | 2 use crate::bpf::map::util::{round_up, BpfMapUpdateElemFlags}; 3 use crate::bpf::map::{BpfCallBackFn, BpfMapCommonOps, BpfMapMeta};
|
H A D | mod.rs | 8 use crate::bpf::map::array_map::{ArrayMap, PerCpuArrayMap, PerfEventArrayMap}; 9 use crate::bpf::map::hash_map::PerCpuHashMap; 10 use crate::bpf::map::util::{BpfMapGetNextKeyArg, BpfMapMeta, BpfMapUpdateArg};
|
H A D | queue.rs | 2 use crate::bpf::map::util::{BpfMapMeta, BpfMapUpdateElemFlags};
|
H A D | array_map.rs | 7 use crate::bpf::map::util::round_up; 8 use crate::bpf::map::{BpfCallBackFn, BpfMapCommonOps, BpfMapMeta};
|
H A D | lru.rs | 2 use crate::bpf::map::util::BpfMapMeta;
|
/DragonOS/kernel/src/init/ |
H A D | init.rs | 92 crate::bpf::init_bpf_system(); in do_start_kernel()
|
/DragonOS/kernel/src/ |
H A D | lib.rs | 50 mod bpf; module
|
/DragonOS/kernel/src/bpf/helper/ |
H A D | mod.rs | 4 use crate::bpf::helper::print::trace_printf; 5 use crate::bpf::map::{BpfCallBackFn, BpfMap};
|
/DragonOS/tools/ |
H A D | bootstrap.sh | 235 cargo install bpf-linker
|
/DragonOS/kernel/crates/rbpf/ |
H A D | README.md | 735 Guide_](http://docs.cilium.io/en/latest/bpf/) 737 * [Kernel documentation about BPF](https://docs.kernel.org/bpf/) 740 material_](https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-bpf),
|