Michael Zimmermann <sigmaepsilon92@xxxxxxxxx> writes: > On Thu, May 12, 2022 at 9:48 AM Toke Høiland-Jørgensen <toke@xxxxxxxxxx> wrote: >> >> Michael Zimmermann <sigmaepsilon92@xxxxxxxxx> writes: >> >> > On Thu, May 12, 2022 at 5:21 AM Andrii Nakryiko >> > <andrii.nakryiko@xxxxxxxxx> wrote: >> >> >> >> On Mon, May 9, 2022 at 10:12 PM Michael Zimmermann >> >> <sigmaepsilon92@xxxxxxxxx> wrote: >> >> > >> >> > Thank you for your answer. >> >> > What I'm ultimately trying to do is: Use aya-rs to watch egress on a >> >> > network interface and notify userspace through a map (for certain IPs >> >> > only). >> >> > >> >> > In my actual use case, the userspace is supposed to do more complex >> >> > stuff but for testing I simply logged the receival of a message >> >> > through the BPF map on the console. And that is what I expect to >> >> > happen and which does happen as long as CONFIG_TRACING/CONFIG_FTRACE >> >> > are active. If not, I simply never receive any messages on any map. >> >> > >> >> > I've also tried this using an XDP program which sends a message every >> >> > time it sees a packet. And while the program seemed to be >> >> > working(since it did block certain traffic), I never saw any data in >> >> > the map when those configs were disabled. >> >> > >> >> > Also, I'm giving you two configs(tracing and ftrace) since the other >> >> > one seems to get y-selected automatically if one of them is active. >> >> >> >> Please don't top post, reply inline instead. >> > Sorry for that, GMail does that by default and even hides that it's >> > quoting at all. >> > >> >> >> >> I don't think we have enough to investigate here, even "receive any >> >> messages on any map" is so ambiguous that it's hard to even guess what >> >> you are really trying to do. BPF maps are not sending/receiving >> >> messages. So please provide some pieces of code and what you are doing >> >> to check. CONFIG_TRACING and CONFIG_FTRACE shouldn't have any effect >> >> on functioning of BPF maps, so it's most probably that you are doing >> >> something besides BPF map update/lookup, but you don't provide enough >> >> information to check anything. >> > >> > An aya project I tested where I don't receive any events: >> > https://github.com/aya-rs/book/tree/6b52a6fac5fa3e5a1165f98591b2eaff9692048a/examples/myapp-03 >> >> It's using a PERF_EVENT_ARRAY map to send events to userspace. This >> requires CONFIG_BPF_EVENTS to work, which depends on CONFIG_PERF_EVENTS. >> Not sure if this depends on CONFIG_TRACING specifically, but maybe you >> disabled PERF_EVENTS as well? > > PERF_EVENTS is enabled in both my working and my broken config. > But both directly and through others, BPF_EVENTS depends on FTRACE > (which then also selects TRACING). > > So is this some weird dependency chain or expected behavior? > If it's expected, are there alternatives to achieve similar > functionality or do I have to convince my distro to enable tracing > support? Andrii can probably answer for sure, but I *think* this is expected. There's the BPF_MAP_TYPE_RINGBUF which can be used as an alternative; not sure what the dependencies are for that, but from a cursory glance it looks like it doesn't depend on anything in TRACING... -Toke