Then, at the end, for each compute node in your deployment add one of
the following blocks, replacing <node_shortname> with a purely
alphabetical name for the host (this must be unique for each host, but
the shortname is only used within this file), <node_ip> with the
node’s IPv4 address, and <as_number> with the AS number you’re using:

Step 3 (Optional): Set your BIRD IPv6 configuration

If you want to use IPv6 connectivity, you’ll need to repeat step 2 but
using /etc/bird/bird6.conf. The only differences between the two
are:

the filter needs to filter out ::/0 instead of 0.0.0.0/0

where before you set <node_ip> to the compute node’s IPv4 address,
this time you need to set it to the compute node’s IPv6 address

Note that <router_id> should still be set to the route reflector’s
IPv4 address: you cannot use an IPv6 address in that field.

Step 4: Restart BIRD

Ubuntu 14.04

Restart BIRD:

sudo service bird restart

Optionally, if you configured IPv6 in step 3, also restart BIRD6:

sudo service bird6 restart

RHEL 7

Restart BIRD:

systemctl restart bird
systemctl enable bird

Optionally, if you configured IPv6 in step 3, also restart BIRD6:

systemctl restart bird6
systemctl enable bird6

Step 5: Reconfigure compute nodes

If you used the calico-gen-bird-conf.sh script to configure your
compute hosts, and you used the route reflector IP when you did, you do
not need to do anything further.

Otherwise, on each of your compute nodes, edit /etc/bird/bird.conf
(and, if you’re using IPv6, /etc/bird/bird6.conf) to remove all their
peer relationships (the blocks beginning with protocol bgp) except for
one. Edit that one’s neighbor field IP address to be the IP address of
the route reflector (either IPv4 or IPv6). Then, restart their BIRD
instances as detailed in step 4.