Exporting routes to kernel fail with EHOSTUNREACH

Joachim Desroches j.desroches at e-durable.ch
Fri Apr 2 14:27:45 CEST 2021


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20210402/8c74b9f7/attachment.sig>


More information about the Bird-users mailing list