github.com/fafucoder/cilium@v1.6.11/test/bpf/bpf-event-test.c (about) 1 #include "event.h" 2 3 #ifndef __NR_CPUS__ 4 #define __NR_CPUS__ 1 5 #endif 6 7 struct bpf_elf_map __section_maps perf_test_events = { 8 .type = BPF_MAP_TYPE_PERF_EVENT_ARRAY, 9 .size_key = sizeof(int), 10 .size_value = sizeof(int), 11 .pinning = PIN_GLOBAL_NS, 12 .max_elem = __NR_CPUS__, 13 }; 14 15 __section_cls_entry 16 int cls_entry(struct __sk_buff *skb) 17 { 18 struct event_msg msg = {0}; 19 20 msg.type = EVENT_TYPE_SAMPLE; 21 22 skb_load_bytes(skb, 0, &msg.data, sizeof(msg.data)); 23 skb_event_output(skb, &perf_test_events, BPF_F_CURRENT_CPU, 24 &msg, sizeof(msg)); 25 26 return TC_ACT_OK; 27 } 28 29 BPF_LICENSE("GPL");