Hi all, I am playing around with VRFs in our network, and I am having trouble getting bird6 to establish its BGP sessions inside a VRF. Strangely, bird for IPv4 works with pretty much the same configuration. I have attached the full configuration. The (I think) interesting bits are
template bgp ffrl_uplink { table ffrl; vrf "vrf_freifunk"; local as 64899; import keep filtered; import filter ebgp_ffrl_import_filter; export filter ebgp_ffrl_export_filter; next hop self; direct; };
protocol bgp ffrl_b_ak from ffrl_uplink { source address 2a03:2260:0:195::2; neighbor 2a03:2260:0:195::1 as 201701; };
In the logs, all I get (with `debug all;` added) is
Dez 28 13:05:25 gw1.saar.freifunk.net bird6[24900]: ffrl_b_ak: Connecting to 2a03:2260:0:195::1 from local address 2a03:2260:0:195::2 Dez 28 13:05:25 gw1.saar.freifunk.net bird6[24900]: ffrl_b_ak: Socket error: bind: Cannot assign requested address Dez 28 13:05:25 gw1.saar.freifunk.net bird6[24900]: ffrl_b_ak: Connection closed Dez 28 13:05:26 gw1.saar.freifunk.net bird6[24900]: ffrl_b_ak: Connect delayed by 5 seconds
I tried adding `interface "tun-up-ffrl_b_ak";` (that's the interface which has the address 2a03:2260:0:194::2), to no avail. I also tried adding `interface "vrf_freifunk";`, which made the error messages go away but still no peer is listed in `birdc6 show route table ffrl`. My IPv4 configuration is almost the same, and yet there finding peers works. (Actually routing traffic doesn't work yet, but that may also be a problem with our NAT setup.) Note that I have very little experience with BGP, we use it only in an internal instance for peering with our uplink.
From some googling I found <https://bird.network.cz/pipermail/bird-users/2017-August/011440.html> which recommends adding `direct;`, but I already have that set.
This is using bird 1.6.4, Linux 4.18, Debian stable. Any help would be greatly appreciated. Kind regards, Ralf