Hi XDPeople! In /include/uapi/linux/bpf.h, (in 4.18-rc1) the comment describing bpf_perf_event_output says: /* * Note that this helper is not restricted to tracing use cases * and can be used with programs attached to TC or XDP as well, * where it allows for passing data to user space listeners. Data * can be: * * * Only custom structs, * * Only the packet payload, or * * A combination of both. */ This seems to imply that for both TC and XDP, the packet can be used for passing data. When I try this, the verifier rejects the program with "helper access to the packet is not allowed". Looking through the kernel it doesn't look like bpf_perf_output_event has been tagged with the appropriate metadata to allow it to access the packet structure, either for TC or for XDP. Neither bpf_skb_event_output_proto nor bpf_xdp_event_output_proto have pkt_acess set to true. Is the documentation incorrect, should that metadata be updated to allow packet access, or is there something I'm missing? Thank you! --Zvi