Hello, youm this question was asked like a gazillion times, but so far I faled to google the answer. So, I have a network softrouter on Linux which was clearly written by some ignorant folks; it operates the p2p tunX interface that doesn't have the remote IP set, only a local one. So bird does complain about "strange next-hop" when walking through the kernel routing table and seeing the local/self address as a gateway. Still, this is partially valid setup, because the hosts this softrouter injects into the kernel RT are reachable via p2p interface directly. I can declare these as a static routes reachable via tunX, but this setup lacks the automation (I will had to refresh thhe routes manually). So, my though is like this: is it possible to convert these from "strange next-hop" routes to this ===Cut=== 10.24.123.0/21 unicast [direct1 2023-12-07] * (200) dev tun0 ===Cut=== via the export filter ? I tried the following approach but it seems like I'm missing something: ===Cut=== filter exportkernelv4 { if ifname = "tun0" then { print "attempting to change route attributes: ifname ", ifname, ", gw: ", gw, ", dest: ", dest; onlink = true; #unset(gw); } accept; }; protocol kernel { learn; persist; scan time 20; ipv4 { import all; export filter exportkernelv4; }; } ===Cut=== What am I missing ? Seems like for some reason I just cannot merey unsert the gw attribute. Thanks. Eugene.