Packet access from bpf_perf_event_output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Networking Development]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite Campsites]

  Powered by Linux