[Bird2] Doubt about Route Server function and iBGP

heisenbug at xpto heisenbug at xpto.eng.br
Wed Sep 26 15:43:02 CEST 2018


Hi,

Just to check, I tried on a lab environment with Cisco devices, using
the same topology/idea, two eBGP with rs client capability passing
through an iBGP do not prepend AS on AS-PATH.


[]s

On 25/09/2018 10:28, heisenbug at xpto wrote:
> 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