The trouble called Vultr and BGP

I had decided that I want to try their services, but long after getting the account setup I found the first issue, which is that if my Bird config had import all set, the BGP multihop session would die.

It was the result of having no static route configured to my BGP neighbor, but how were I supposed to know that?
All the documentation on their website, only has import none which does not even use the full table, but they do ask when setting up BGP if you want full table or just default routes from it, which to me sounds weird if their support cannot help me with a import all config.

For reference, they said multiple times that the config should look something like:

protocol bgp vultr
{
	local as 213021;
	source address 2a05:f480:1400:7f1:5400:02ff:fee7:f862;
	import none;
	export all;
	graceful restart on;
	multihop 2;
	neighbor 2001:19f0:ffff::1 as 64515;
	password "<censored>";
}

My actual protocol definition:

protocol bgp vultrv6 {
        local 2a05:f480:1400:7f1:5400:2ff:fee7:f862 as 213021;
        neighbor 2001:19f0:ffff::1 as 64515;

        graceful restart on;
        multihop 2;
        password "<censored>";

        ipv6 {
            import all;
            export filter internal_nets_v6;
            export limit 4;
        };
}

They however did not say at any point that I need a static route to address 2001:19f0:ffff::1, so I did not have that and thus all the imported routes were unreachable as a result.

You need to add a static route though your default gateway address, which you find after RA has been accepted. After adding a static route, it started to work correctly.

For reference, my static protocol looks like:

protocol static STATIC6 {
        ipv6;
        route 2001:19f0:ffff::1/128 via fe80::fc00:2ff:fee7:f862%ens3;
}

© 2018-2020 Skyler Mäntysaari