[Bird2] Doubt about Route Server function and iBGP

heisenbug at xpto heisenbug at xpto.eng.br
Tue Sep 25 15:28:45 CEST 2018


Thanks Ondrej,

As workaround I have changed the source to not validate if rs client
function is applied on iBGP neighbors, I know that is not the common use
case, I just need that for this particular use case, do you see any
complications on that?

~/source/bird-v2.0.2/proto/bgp# diff -u bgp.c.orig bgp.c
--- bgp.c.orig  2018-09-25 10:19:04.406376518 -0300
+++ bgp.c       2018-09-24 14:05:55.690726481 -0300
@@ -1657,8 +1657,8 @@
   if (!internal && cf->rr_client)
     cf_error("Only internal neighbor can be RR client");

-  if (internal && cf->rs_client)
-    cf_error("Only external neighbor can be RS client");
+/*  if (internal && cf->rs_client)
+    cf_error("Only external neighbor can be RS client");*/

   if (!cf->confederation && cf->confederation_member)
     cf_error("Confederation ID must be set for member sessions");


And without the validation:

Customer1 <-> RS1[pid0] <-rs client-> iBGP <-rs client-> RS2[pid1] <->
Customer2

Now everything is working fine for my use case, because is not
prepending the AS and changing the NH.


[]s

On 25/09/2018 10:14, Ondrej Zajicek wrote:
> On Mon, Sep 24, 2018 at 02:21:42PM -0300, heisenbug at xpto wrote:
>> Hello Guys,
>>
>> On bird1.6, I have deployed our Route Servers using the below
>> architecture to split the load from the control plane:
>>
>> Customer1 <-> RS1[pid0] <-> iBGP <-> RS2[pid1] <-> Customer2
>>
>> And is working fine as RS until now [not inserting local AS on AS-PATH
>> and not changing NH]. I'm planing to migrate to Bird2.0.2 with some new
>> features, but when I do the same on Bird2.0.2, I have the AS from iBGP
>> inserted on AS-PATH, just to let me know, this is an expected behavior
>> on Bird2? I have tested in a lot of ways, but still the same results.
> 
> Hi
> 
> You are right, BIRD 2 would not insert local AS only if propagated from
> EBGP-RS to EBGP-RS. The main motivation for the change is to better
> handle the case when a route is propagated from EBGP to EBGP-RS, where it
> makes sense to prepend local AS. You are right that in your case the old
> behavior makes more sense.
> 


More information about the Bird-users mailing list