Re: [EVL] Kernel WARNING: notifier callback netevent_handler already registered
Florian Bezdeka <[email protected]>
| Newsgroups | dev.linux.lists.xenomai |
|---|---|
| Message-ID | <[email protected]> |
On Sun, 2026-04-26 at 23:32 +0200, Hannes Diethelm wrote: > Am 26.04.26 um 21:24 schrieb Philippe Gerum: > > Hannes Diethelm <[email protected]> writes: > > > > > Am 25.04.26 um 20:50 schrieb Philippe Gerum: > > > > Hannes Diethelm <[email protected]> writes: > > > > > > > > > Hello > > > > > > > > > > There is a Kernel WARNING: "notifier callback netevent_handler already registered right after boot". It is repeated 5 times. > > > > > > > > > > Config: > > > > > Debian Trixie with xfce4 Desktop > > > > > libevl: r56 > > > > > linux-evl: v6.12.67-evl2-rebase > > > > > > > > > > I traced the issue already trough the following code: > > > > > net/core/net_namespace.c:355 > > > > > kernel/evl/net/net.c:35 > > > > > kernel/evl/net/ipv4/ipv4.c:41 > > > > > kernel/evl/net/ipv4/arp.c:323 > > > > > > > > > > However, I lack the knowledge to do a proper fix. One way would be to just check in evl_net_init_arp() if it is already > > > > > registered and don't do it more than once but that doesn't feel right. > > > > It looks like the system is instantiating multiple network > > > > namespaces, > > > > for each of which we set up an ARP front cache by calling > > > > evl_net_init_arp(). Bad idea to hook a system-wide handler there as > > > > well. Could you confirm this fix [1] works for you? > > > > Thanks for reporting this. > > > > [1] > > > > https://gitlab.com/Xenomai/xenomai4/linux-evl/-/commit/569beef061321c2c00d775b13ad0aec1a1d2a416 > > > > > > > > > > Thanks, that was fast. The WARNING is gone now. > > > > > > But now after just updating to the kernel including your fix, I have a different behavior on > > > incoming packages. It seams that the default when no filter is set has changed from EVL_RX_SKIP to EVL_RX_ACCEPT. > > > > > > linux-evl: v6.12.67-evl2-rebase > > > -After evl net -ei enp7s0, I can ping another host. > > > -oob-net-icmp does only receive packages when I use an eBPF filter with EVL_RX_ACCEPT > > > -After that, ping doesn't work any more > > > > > > linux-evl: v6.12.y-cip-evl-rebase > > > -After evl net -ei enp7s0, I can NOT ping another host. > > > -oob-net-icmp does receive packages > > > -If I use an eBPF filter returning EVL_RX_SKIP, I can ping again > > > > > > I am not using VLAN's. > > > > > > Was that changed on purpose? > > > > Yes, this is implemented by this commit [1]. The rationale here is that > > if you turn on the oob port directly on a base device, then the evl net > > stack may assume that the device is entirely dedicated to oob traffic, > > as opposed to enabling such port on some upper device based on the > > former (e.g. a VLAN interface). As a result, all ingress traffic > > received by such base device is diverted (RX_ACCEPT) to the evl net > > stack. > > > > [1] https://gitlab.com/Xenomai/xenomai4/linux-evl/-/commit/3026e69cee2a1de047818fa06ad8c44623461a0d > > > > This makes sense. It took me some time to get evl reading packages by > activating an eBPF filter and it's mostly save to assume that you don't > have mixed traffic on an real time network interface. With this change, > a filter is not needed any more. > > A bit off topic: > > Is there anything like rtping for evl? I have seen oob-net-icmp.c but > this is answering requests. > > In Xenomai3, there is a debian package configuration. Any interest in > one for libevl? I have one working but it's still very basic. If it's > presentable, I can send a patch. There is a debianization for x4 in xenomai-images already. See [1]. Can't tell why it hasn't been upstreamed yet. Maybe Tobias or Philippe can comment on that. [1] https://gitlab.com/Xenomai/xenomai-images/-/tree/master/recipes-xenomai/libevl/files/debian