Commit Graph

184 Commits (dc3b0b87308fdac5ff8f472de9a5e849b52d9fee)

Author SHA1 Message Date
Tw d1b7b024dc bpf: fix a minor bug due to stackid allocation
The type casting introduces an allocation, this will cause compiling failure when linking final bpf target.
So remove this casting to fix this issue.

BTW, the following is the failure I met:

= note: 07:24:12 [ERROR] fatal error: "unable to allocate function return #1"
          PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
          Stack dump:
          0.    Running pass 'Function Pass Manager' on module 'trace_bpf-001a275b17e9eb12'.
          1.    Running pass 'BPF DAG->DAG Pattern Instruction Selection' on function '@_ZN7aya_bpf4maps11stack_trace10StackTrace11get_stackid17h32b649bc3780c0aaE'

Signed-off-by: Tw <wei.tan@intel.com>
Alessandro Decina 7eddffb962
Merge pull request from tw4452852/stacktrace
bpf: add support for STACK_TRACE map
Tw fd20bd5e23 bpf: add support for STACK_TRACE map
This path support initial support for BPF_MAP_TYPE_STACK_TRACE.

Signed-off-by: Tw <wei.tan@intel.com>
Alessandro Decina ef39e0ebd2 bpf: sk_skb: add ::cb() and ::cb_mut() to work with skb->cb
Alessandro Decina 35e9b4e639 bpf: don't generate bpf_map_def and fix aya_bpf::bindings overrides
Alessandro Decina ec5822d78e bpf: sk_skb: wrap more helpers
Alessandro Decina 122a5306e7 aya, aya-bpf-bindings: regenerate bindings
Alessandro Decina 8cd669ca9a xtask: fix include paths for kernel headers bundled with libbpf
Alessandro Decina 97cb0db0ad bpf/aya-bpf-cty: target_arch for bpf*-unknown-none was renamed to "bpf"
Alessandro Decina 67d35cc1d3 bpf: fix PerfMap::output() API when appending context data
map.output(&ctx, &data, nr_bytes) can be used to append nr_bytes from
the current context to the &data event.
Alessandro Decina 73c48a5029 bpf: add support for BPF_PROG_TYPE_CGROUP_SKB programs
Example:

fn cgroup_skb_egress(skb: SkSkbContext) -> i32 {
    // allow data to go through
    1
}
Arnabjyoti Kalita 6974d349e8
programs: add support for attaching and detaching TC programs
This change adds support for attaching TC programs directly from aya, without
having to use iproute2/tc.
Alessandro Decina 240c65507b bpf: add HashMap::remove()
Alessandro Decina 696ae6079c bpf: Add HashMap::pinned API
Alessandro Decina 97c96383bd bpf: improve SockOpsContext API
Alessandro Decina cb3d71429c bpf: improve SkMsgContext API
Alessandro Decina bf4892d0db bpf: add support for Queue and SockMap maps
Alessandro Decina 157c0e2831 bpf: generate bindings for SOL_SOCKET and SO_* socket options
This is needed for bpf_getsockopt() and bpf_setsockopt()
Alessandro Decina 575e85c412 bpf: add id and pinning fields to bpf_map_def
Alessandro Decina ab8d512b60 bpf: add HashMap::insert
Alessandro Decina 8f55cd728c bpf: SkSkbContext: add ::l3_csum_replace
Alessandro Decina 4febbc3fae bpf: perf_map: fix type error
Alessandro Decina 8e6f447e9b bpf: sk_skb: add helper methods
This adds support for skb_store_bytes, skb_load_bytes and
l4_csum_replace to SkSkbContext.
Alessandro Decina 274ea91b5e bpf: aya-bpf-bindings: commit generated bindings
Alessandro Decina afcc5dc662 bpf: add support for BPF_PROG_TYPE_SCHED_CLS programs
Alessandro Decina 1b314ded2f bpf: add SockHash::redirect
Alessandro Decina e11edc072b bpf: add more bindings
Initial support for Array, HashMap and SockHash maps, and for SkSkb,
SkMsg, SockOps and XDP programs.
Alessandro Decina 696ca1ffa8 aya-bpf-bindings: generate bindings for pt_regs and sk_action
Alessandro Decina bdca32cebf aya-bpf-bindings: fix anonymous enums
Alessandro Decina 713494609e aya-bpf-bindings: remove unused code
Alessandro Decina 7815711196 bpf: add aya-bpf-bindings
Move the generated bindings to aya-bpf-bindings.
Alessandro Decina 1bb3846071 xtask: fix getters source order
Generate getters in the same order as the fields they access. Avoids git
noise and makes for better docs.
Alessandro Decina dc15c978f5 aya-bpf: generate bpf_probe_read getters for kernel types
Alessandro Decina cdf960aaa1 bpf: initial bpf bindings