Hi,

An earlier paragraph under "Protocol configuration" (<https://bird.network.cz/?get_doc&v=20&f=bird-6.html#bgp-proto-config>) gives a bit more context (emphasis added):

---8<---
Each instance of the BGP corresponds to **one neighboring router**. This allows to set routing policy and all the other parameters differently for each neighbor using the following configuration parameters:

local [ip] [port number] [as number]
[..] The parameter may be used multiple times with different sub-options (e.g., both local 10.0.0.1 as 65000; and local 10.0.0.1; local as 65000; are valid).

neighbor [ip | range prefix] [port number] [as number] [internal|external]
[..] Like local parameter, this parameter may also be used multiple times with different sub-options.
--->8---

With the context of "one neighboring router" and the examples from the `local` stanza, the example Nico gives in

protocol bgp client1  {
        neighbor 10.0.1.1 as 65000;
        neighbor 10.0.1.2 as 65000;

    ipv4;
}

is indeed not possible. It would be possible to say (as noted by Alexander):

```
protocol bgp client1  {
        neighbor 10.0.1.1;
        neighbor as 65000;

        ipv4;
}
```

On 30/12/2023 14:30, Nico Schottelius via Bird-users wrote:
  - a) the documentation wrong
  - b) the code wrong or
  - c) the reader wrong?

I'm opting for c in this case :-).

One option for multiple BGP instances is by using templates, e.g.

```
template bgp TPL_CLIENT {
        local as 65042;
        neighbor as 65000;
        ipv4;
}

protocol bgp client1 from TPL_CLIENT {
        neighbor 10.0.1.1;
}

protocol bgp client2 from TPL_CLIENT {
        neighbor 10.0.1.2;
}
```

Best regards,
Gerdriaan Mulder

Reply via email to