You could add 'ignore-connected-check' on the IOS-XR side of the session. This will stop the Cisco from populating the link-local field.
On Fri, 10 Aug 2018 at 06:39, Sebastian Neuner <neu...@belwue.de> wrote: > Hi all, > > we currently have an issue, where Bird kind of misses the right config > option to fix. > > So we have a Cisco (XR) router peering with Bird on a Linux server. It's > an eBGP-Session though a /127 link. > > We're announcing a prefix from the Cisco to bird, which has a foreign > next-hop (i.e. not in this /127). Cisco apparently misinterprets RFC2545 > (or has a bug, I'm still discussing this with TAC) and adds the peering > interfaces link-local address. > > So now the next-hop in the BGP update looks like this: > > > Next hop network address (32 bytes) > > Next Hop: xxxx:xxxx:c02::28 > > Next Hop: fe80::28a:96ff:fecc:c10 > > The GUA next-hop is correct and points to a VM on the server (i.e. not > on the /127). The link-local next-hop points to the Cisco. > Unfortunately, this is the one, bird uses to install the route in the > kernel. > > Am I missing something? Can I work around this somehow? > > Or would it make sense for bird to have a switch for that? Similar to > "missing lladdr ignore" which works outbound, it could be something like > "next hop lladdr ignore"? > > Best regards, > Sebastian >