<div dir="ltr"><div>Hi Alexander,</div><div><br></div><div>Many thanks for the clarification!</div><div><br></div><div>I found a solution that works. It seems to be possible to specify link-local as a range and the neighbor as external.</div><div>Not sure how this works with bfd, but I'll do some more investigations. Obviously needs more testing and what not before rolling it out to production.<br></div><div><br></div><div>Pasting config in case someone else stumble on the same use-case. But essentially I know have leaf switches dialing up my servers and establishing a session.<br></div><div><br></div><div>template bgp ebgp_client_v6 {<br>  local as system_as_number;<br>  ipv6 {<br>    import none;<br>    export none;<br>  };<br>  bfd graceful;<br>  connect delay time 1;<br>  connect retry time 5;<br>  error wait time 1,5;<br>  error forget time 10;<br>};<br><br>protocol bgp leaf_auto_1 from ebgp_client_v6 {<br>  interface "enp67s0f0np0";<br>  neighbor range fe80::0/64 external;<br>  dynamic name "leaf";<br>  dynamic name digits 2;<br>};<br><br>protocol bgp leaf_auto_2 from ebgp_client_v6 {<br>  interface "enp67s0f1np1";<br>  neighbor range fe80::0/64 external;<br>  dynamic name "leaf";<br>  dynamic name digits 2;<br>};</div><div><br></div><div>Best regards,</div><div>Sander<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 10, 2024 at 9:25 AM Alexander Zubkov <<a href="mailto:green@qrator.net" target="_blank">green@qrator.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi Sander,<div dir="auto"><br></div><div dir="auto">Yes, a specific interface often not required, because it can be determined by the routing table. But, for example, in case when you neighbor IP is considered directly reachable (connected) on several interfaces, connection might be initiated not on the interface that you expect. And for IPv6 given its link local addresses idea, this situation is very common.</div><div dir="auto">And I'm not aware of the protocol to autodetermine a bgp neighbor. And I do not remember of something like that in BIRD. The best you can get, I think, is dynamic BGP on one side, that accepts a connection from any neighbor. So only one side has to know the exact neighbor IP.</div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Alexander</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 10, 2024, 08:44 Sander P <<a href="mailto:me@sanderp.se" target="_blank">me@sanderp.se</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Alexander,</div><div><br></div><div>Thanks for the fast reply!</div><div><br></div><div>Yes, that I do understand. But what I'm trying to do here is to auto discover the peers via the interface (IPv6 link-local).</div><div>So, I'm struggling to understand what the interface option is for if you still need to define the list of neighbors and their ip addresses. It kinda defeats the purpose (I think).</div><div><br></div><div>Br,</div><div>Sander<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 9, 2024 at 6:31 PM Alexander Zubkov <<a href="mailto:green@qrator.net" rel="noreferrer" target="_blank">green@qrator.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Sander,<br>
<br>
The error indicates that you are missing the neighbor's address in<br>
your configuration.<br>
<br>
Regards,<br>
Alexander<br>
<br>
On Mon, Sep 9, 2024 at 4:54 PM Sander P <<a href="mailto:me@sanderp.se" rel="noreferrer" target="_blank">me@sanderp.se</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I'm on Bird 2.0.8<br>
> The background is that I'm trying to configure link local BGP sessions towards Juniper switches.<br>
> I'm trying to follow the the documentation that indicates that it should be possible to define a interface.<br>
><br>
> <a href="https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.4" rel="noreferrer noreferrer" target="_blank">https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.4</a><br>
> interface string<br>
><br>
> Define interface we should use for link-local BGP IPv6 sessions. Interface can also be specified as a part of neighbor address (e.g., neighbor fe80::1234%eth0 as 65000;). The option may also be used for non link-local sessions when it is necessary to explicitly specify an interface, but only for direct (not multihop) sessions<br>
><br>
> Here is my config:<br>
><br>
> template bgp ebgp_client_v6 {<br>
>   local as system_as_number;<br>
>   ipv6 {<br>
>     import all;<br>
>     export filter export_bgp;<br>
>   };<br>
>   bfd graceful;<br>
>   connect delay time 1;<br>
>   connect retry time 5;<br>
>   error wait time 1,5;<br>
>   error forget time 10;<br>
> };<br>
><br>
> protocol bgp auto_disc_2 from ebgp_client_v6 {<br>
>   interface "enp67s0f0np0";<br>
> };<br>
><br>
> and from my understanding it should be enough with just that. But I do get the error:<br>
> /etc/bird/peers.conf:53:1 Neighbor must be configured<br>
><br>
> I've also tried to add "neighbor as asn_of_neighbor;" To the config with the same results.<br>
><br>
> Any help would be much appreciated!<br>
><br>
> Br,<br>
> Sander<br>
</blockquote></div>
</blockquote></div>
</blockquote></div>