# Subnet router BGP advertisement

Last validated Jan 5, 2026

When using [high availability subnet routers][kb-high-availability] in network environments using [Reverse Path Filtering (RPF)][xt-rfc-3704-reverse-path-forwarding], it is necessary to know which subnet router is active and to be used for return traffic. `tailscaled` can work with a local [BIRD][xt-bird-network] daemon to make the active subnet router inject a route to `100.64.0.0/10`.

There is a sample [BIRD configuration file][xt-gh-tailscale-bird-sample] and [Tailscale stanza][xt-gh-tailscale-bird-config] available.

To configure `tailscaled` to communicate with a local BIRD process to manage route injection:

1. Make sure to copy both configuration files from `https://github.com/tailscale/tailscale/tree/main/docs/bird`
2. Update the following [BGP (border gateway protocol)][xt-rfc-1267-bgp] settings in the `sample_bird.conf` file.
   1. AS numbers
   2. Neighbor/Router address
3. Launch BIRD: `sudo bird -c /path/to/sample_bird.conf`.
4. Launch `tailscaled` with the `--bird-socket` argument.

In addition to adding arguments to `tailscaled`, you can create a `/etc/default/tailscaled` file and add a `FLAGS` variable:

```shell
FLAGS="--bird-socket=/var/run/bird.ctl"
```

[BIRD][xt-bird-network] supports [Bidirectional Forwarding Detection][xt-rfc-5880-bfd], and has more options for BGP than the ones defined in the sample file.

[kb-high-availability]: /docs/how-to/set-up-high-availability

[xt-bird-network]: https://bird.network.cz/?get_doc&f=bird.html&v=20

[xt-gh-tailscale-bird-config]: https://github.com/tailscale/tailscale/blob/main/docs/bird/tailscale_bird.conf

[xt-gh-tailscale-bird-sample]: https://github.com/tailscale/tailscale/blob/main/docs/bird/sample_bird.conf

[xt-rfc-3704-reverse-path-forwarding]: https://www.rfc-editor.org/rfc/rfc3704.html

[xt-rfc-1267-bgp]: https://www.rfc-editor.org/rfc/rfc1267.html

[xt-rfc-5880-bfd]: https://www.rfc-editor.org/rfc/rfc5880.html
