<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace;font-size:small">Yep Ondrej!<br><br>This L2/L3 redundancy layer would not be addressed by the Bird itself...<br>Would be a solution composed by Bird(or even other Engines) and some other tools.<br><br>I brought this suggestion here because I believe that here are the most interested in this possible solution.<br><br><br>Perhaps one of the few things that could be done in Bird to help this scalability solution is to add some support to Multi-Bird.<br><br>As it is done today, each instance of Bird does not even know that it is part of a "cluster", so, for example, when making a query via API to know information about Peers, it is necessary to make this query to several servers, merge that data and then use that information.<br><br>Reminding that this optimization would serve both models "connection forwarded in the same box" and "distributed in L2/L3".<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em ter., 19 de jan. de 2021 às 18:35, Ondrej Zajicek <<a href="mailto:santiago@crfreenet.org">santiago@crfreenet.org</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Jan 19, 2021 at 09:17:57AM -0300, Douglas Fischer wrote:<br>
> I was studying the concepts of multi-bird for large environments of IXPs.<br>
> <br>
> And, beyond the extra complexity that it brings to the environment, one of<br>
> the weak points I saw was the fact that all the Bird instances are at the<br>
> same box(vm, container, etc...).<br>
> <br>
> A friend mentioned that some tests were made with a LoadBalancer<br>
> redirecting the post-nated connections to other boxes.<br>
> But even in that scenario, that load balancer would be a<br>
> single-point-of-failure/bottleneck.<br>
> <br>
> So I was remembering Cisco GLBP and Heart-Beat protocol.<br>
> Those protocols inform different Mac-Addresses to the same IPv4/IPv6<br>
> Address, based on the source of the ARP/ND query.<br>
> Making a load-balance/fail-over based on the glue between layer2 and layer3.<br>
> P.S.: Several scenarios uses that concept. Corosync, Windows Cluster, Orale<br>
> RAC, etc...<br>
> <br>
> Considering that concept, and joining it with multibird:<br>
>  Would be possible to create groups of sources and assigning different<br>
> priorities to those groups on each instance of Bird.<br>
>  In this case, each Bird instance could run on a different box, or even on<br>
> a different site.<br>
<br>
Hi<br>
<br>
That is an interesting idea. Seems like it is something that could be<br>
done outside of BIRD, just by firewall tricks with ARP (at least with<br>
static balancing). Perhaps something as simple as dropping ARP requests<br>
(on each route server) from clients outside of allowed subset of clients.<br>
<br>
But personally, if i had to run multiple multi-BIRD  setup on multiple<br>
servers, i would just assign them different IPs and announce the<br>
appropriate server IP to each group of users (instead of trying to<br>
pretend it is one IP / one server). It can be even done preemptively -<br>
have one RS IP for each say 64 clients, and then assign multiple IPs<br>
to real route servers according to needs and resources.<br>
<br>
-- <br>
Elen sila lumenn' omentielvo<br>
<br>
Ondrej 'Santiago' Zajicek (email: <a href="mailto:santiago@crfreenet.org" target="_blank">santiago@crfreenet.org</a>)<br>
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, <a href="http://wwwkeys.pgp.net" rel="noreferrer" target="_blank">wwwkeys.pgp.net</a>)<br>
"To err is human -- to blame it on a computer is even more so."<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><font size="2"><span style="font-family:"courier new",monospace">Douglas Fernando Fischer</span><br style="font-family:"courier new",monospace"><span style="font-family:"courier new",monospace">Engº de Controle e Automação</span></font><div style="padding:0px;margin-left:0px;margin-top:0px;overflow:hidden;color:black;text-align:left;line-height:130%;font-family:"courier new",monospace"></div></div>