"bpf_skb_pull_data" unknown function.
Closed this issue · 1 comments
russeree commented
Hey!
Currently I am facing an issue with a member function .pull_data on a socket buffer causing a run time error.
99: (85) call bpf_skb_pull_data#39
unknown func bpf_skb_pull_data#39
verification time 56748 usec
stack depth 24+0
processed 7595 insns (limit 1000000) max_states_per_insn 4 total_states 84 peak_states 84 mark_read 82
Context
// Read payload if present
if payload_len > 0 && payload_len <= 1500 {
let payload = ctx.pull_data(0);
// let key = get_next_key()?;
// PACKET_META.insert(&key, &metadata, 0)?;
// PACKET_PAYLOAD.insert(&key, &*scratch, 0)?;
}
Caused by:
Invalid argument (os error 22)
Here are my bpftool features that are enabled for that function
xxxxx@xxxxxx-xxxx-xxxxxx:~/xxx_stratum_ebpf_telemetry$ sudo bpftool feature probe | grep pull
- bpf_skb_pull_data
- bpf_skb_pull_data
- bpf_skb_pull_data
- bpf_skb_pull_data
- bpf_skb_pull_data
- bpf_skb_pull_data
- bpf_msg_pull_data
- bpf_skb_pull_data
Clang info
clang++-18 -v
Ubuntu clang version 18.1.8 (++20240731025043+3b5b5c1ec4a3-1~exp1~20240731145144.92)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/13
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/13
Candidate multilib: .;@m64
Conclustion
Any help would be appreciated here.
russeree commented
The program type socket filter does not support pull_data
#[socket_filter]