G'morning people, I've been fighting a problem all day and thought I'd ask here out of desperation. I'll describe my setup, the problem I'm facing and what I've figured out.
Setup: I have an APU running Alpine called edge1 serving as a router. It has three interfaces, a bunch of VLANs and is dual-stacked, with IPv6 as the main backbone for everything. It runs bird with OSPF and BGP in v4 and v6; each address family has it's own BGP session. Lil' edge1 is connected directly to my upstream's router over copper, the interface has an IPv4 and an IPv6 transfer address. The BGP sessions connect and the routes are correctly synced. As a multihomed customer AS, I simply import all routes and only export a few hand-picked prefixes. I import no routes from the kernel and export all routes to the kernel. Problem: I noticed my logs were filling up with warnings from bird telling me that netlink gave Host unreachable errors. I confirmed with strace that messages sent to netlink with IPv6 routes via my upstream's transfer address were replied to with an EHOSTUNREACH error msg by netlink. Trying to add the same routes by hand using `ip(8)` also fails with the same error code. Trying to add by hand using `ip(8)` routes that bird has sucessfully put in the table **also** fails with EHOSTUNREACH. What I've checked: * The upstream is up, pings, routes, etc... * Bird has the proper routes in the master6 table: it really is only the kernel that refuses to install the route. * I've rebooted the router (who knows...) * master6 contains 113338 routes, but `ip -6 r | wc -l` gives me only 8172 routes. * The kernel routing table size is big enough. If anyone has an idea, I'm starting to run out of things to try here... and I don't understand what's going on. Ave atque vale, -- Joachim Desroches
signature.asc
Description: PGP signature
