yep that one can't hurt

On Wed, Dec 2, 2015 at 9:22 AM, Donald Sharp <[email protected]>
wrote:

> Paul -
>
> I believe that this patch should fix your issue:
>
>
> https://github.com/CumulusNetworks/quagga/commit/f4eeff72d5be6c1065f11face168a4bcd832de78
>
> From my notes it should apply cleanly to master.
>
> donald
>
> On Wed, Dec 2, 2015 at 5:11 AM, Paul Jakma <[email protected]> wrote:
>
>> Is it just me, or does the mpath code do strange stuff, at least under
>> asp-ath relaxed? E.g. if I run a set of bgpds in a ring, with each
>> connected to the previous and next 2 bgpd instances in the ring (using a
>> tweaked version of tools/multiple-bgpd.sh), current master without mpath
>> gives:
>>
>> # sh ip bg 10.7.0.0/24
>> BGP routing table entry for 10.7.0.0/24
>> Paths: (4 available, best #4, table Default-IP-Routing-Table)
>>   Advertised to non peer-group peers:
>>   192.168.145.2 192.168.145.3 192.168.145.5
>>   64563 64561 64567
>>     192.168.145.3 from 192.168.145.3 (192.168.145.3)
>>       Origin IGP, localpref 100, valid, external
>>       Community: 64563:1
>>       Extended Community: RT:64561:1 RT:64563:1 RT:64567:1 SoO:64561:2
>> SoO:64563:2 SoO:64567:2
>>       Last update: Wed Dec  2 09:47:14 2015
>>
>>   64562 64568 64567
>>     192.168.145.2 from 192.168.145.2 (192.168.145.2)
>>       Origin IGP, localpref 100, valid, external
>>       Community: 64562:1
>>       Extended Community: RT:64562:1 RT:64567:1 RT:64568:1 SoO:64562:2
>> SoO:64567:2 SoO:64568:2
>>       Last update: Wed Dec  2 09:46:45 2015
>>
>>   64565 64567
>>     192.168.145.5 from 192.168.145.5 (192.168.145.5)
>>       Origin IGP, localpref 100, valid, external
>>       Community: 64565:1
>>       Extended Community: RT:64565:1 RT:64567:1 SoO:64565:2 SoO:64567:2
>>       Last update: Wed Dec  2 09:46:44 2015
>>
>>   64566 64567
>>     192.168.145.6 from 192.168.145.6 (192.168.145.6)
>>       Origin IGP, localpref 100, valid, external, best
>>       Community: 64566:1
>>       Extended Community: RT:64566:1 RT:64567:1 SoO:64566:2 SoO:64567:2
>>       Last update: Wed Dec  2 09:46:15 2015
>>
>> The ASNs are 64560+x and each advertises 10.x.0.0/24 (amongst other
>> things). There are 8 in total in the ring, and the above is x == 4 /
>> AS64564. So the peerings are:
>>
>> peers x peers
>>   7 8 1 2 3
>>   8 1 2 3 4
>>   1 2 3 4 5
>>   2 3 4 5 6
>>   3 4 5 6 7
>>   4 5 6 7 8
>>   5 6 7 8 1
>>   6 7 8 1 2
>>
>>
>> 4 has paths 453, 423 and 43 to 3; and paths 457, 467, 4287 and 4317 to 7.
>>
>> Look what happens if I set:
>>
>>   maximum-paths 32
>>   bgp bestpath as-path multipath-relax
>>
>> on all the bgpds. This is the view from 4:
>>
>> # sh ip bg 10.7.0.0/24
>> BGP routing table entry for 10.7.0.0/24
>> Paths: (4 available, best #4, table Default-IP-Routing-Table)
>>   Advertised to non peer-group peers:
>>   192.168.145.2 192.168.145.3 192.168.145.6
>>   64563 {64561,64562,64565,64567,64568}
>>     192.168.145.3 from 192.168.145.3 (192.168.145.3)
>>       Origin IGP, localpref 100, valid, external, multipath
>>       Community: 64563:1
>>       Extended Community: RT:64561:1 RT:64562:1 RT:64563:1 RT:64565:1
>> RT:64567:1 RT:64568:1 SoO:64561:2 SoO:64562:2 SoO:64563:2 SoO:64565:2
>> SoO:64567:2 SoO:64568:2
>>       Last update: Wed Dec  2 09:55:33 2015
>>
>>   64562 {64561,64567,64568}
>>     192.168.145.2 from 192.168.145.2 (192.168.145.2)
>>       Origin IGP, localpref 100, valid, external, multipath
>>       Community: 64562:1
>>       Extended Community: RT:64561:1 RT:64562:1 RT:64567:1 RT:64568:1
>> SoO:64561:2 SoO:64562:2 SoO:64567:2 SoO:64568:2
>>       Last update: Wed Dec  2 09:55:32 2015
>>
>>   64566 64567
>>     192.168.145.6 from 192.168.145.6 (192.168.145.6)
>>       Origin IGP, localpref 100, valid, external, multipath
>>       Community: 64566:1
>>       Extended Community: RT:64566:1 RT:64567:1 SoO:64566:2 SoO:64567:2
>>       Last update: Wed Dec  2 09:53:32 2015
>>
>>   64565 64567
>>     192.168.145.5 from 192.168.145.5 (192.168.145.5)
>>       Origin IGP, localpref 100, valid, external, multipath, best
>>       Community: 64565:1
>>       Extended Community: RT:64565:1 RT:64567:1 SoO:64565:2 SoO:64567:2
>>       Last update: Wed Dec  2 09:53:03 2015
>>
>> That looks like it's multipathing over /all/ the paths to 7, including
>> the longer 3-hop paths. Also, the aggregates don't really make sense, do
>> they?
>>
>> It is advertising this aggregate back to the neighbours from whose routes
>> the aggregate was constructed:
>>
>> # sh ip bgp neighbors 192.168.145.2 advertised-routes *> 10.7.0.0/24
>>   192.168.145.4                          0
>> {64561,64562,64563,64565,64566,64567,64568} i
>> # sh ip bgp neighbors 192.168.145.3 advertised-routes
>> *> 10.7.0.0/24      192.168.145.4                          0
>> {64561,64562,64563,64565,64566,64567,64568} i
>> # sh ip bgp neighbors 192.168.145.5 advertised-routes
>> # sh ip bgp neighbors 192.168.145.6 advertised-routes
>> *> 10.7.0.0/24      192.168.145.4                          0
>> {64561,64562,64565,64566,64567,64568} i
>>
>> So, in terms of the advertised routes and deciding who to advertise a
>> route onto, it is taking only the 'best' path via 6 into consideration.
>>
>> Does this make sense to anyone? It seems seriously borken to me...
>>
>> Also, the mpath code probably should have been implemented using the
>> existing aggregation code...
>>
>> regards,
>> --
>> Paul Jakma      [email protected]  @pjakma Key ID: 64A2FF6A
>> Fortune:
>> I have discovered the art of deceiving diplomats. I tell them the truth
>> and they never believe me.
>>                 -- Camillo Di Cavour
>>
>> _______________________________________________
>> Quagga-dev mailing list
>> [email protected]
>> https://lists.quagga.net/mailman/listinfo/quagga-dev
>>
>
>
> _______________________________________________
> Quagga-dev mailing list
> [email protected]
> https://lists.quagga.net/mailman/listinfo/quagga-dev
>
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to