On Wed, 2 Dec 2015, Daniel Walton wrote:

On Wed, Dec 2, 2015 at 9:58 AM, Paul Jakma <[email protected]> wrote:

On Wed, 2 Dec 2015, Daniel Walton wrote:

# 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?


The AS_SET only counts as 1 hop though (no matter how man ASNs are in it)
so "64563 {64561,64562,64565,64567,64568}" and "64566 64567" both have an
as-path length of 2.


Sure, the aggregate has an AS_PATH length hop of 2 - that's not the issue.

The issue is the mpath aggregate seems to include the paths 2 and 3
judging by the left-most AS and the 'from...' - which are the 3-hop paths.


Can you grab the "show ip bgp 10.7.0.0/24" from 192.168.145.3
and 192.168.145.2? They are the ones creating the aggregate.

Using the 10.1.0.0/24 one, cause the .7 seems to be transitory (but, still looks like a problem).

On .1:

*> 10.1.0.0/24      0.0.0.0                  0         32768 i
# sh ip bg  10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.2 192.168.145.3 192.168.145.7 192.168.145.8
  Local
    0.0.0.0 from 0.0.0.0 (192.168.145.1)
      Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, 
best
      Last update: Mon Dec  7 14:33:45 2015


On .2 (direct):

*  10.1.0.0/24      192.168.145.8                          0 64568 64561 i
*                   192.168.145.3                          0 64563 64561 i
*>                  192.168.145.1            0             0 64561 i
# sh ip bg 10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (3 available, best #3, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.3 192.168.145.4 192.168.145.8
  64568 64561
    192.168.145.8 from 192.168.145.8 (192.168.145.8)
      Origin IGP, localpref 100, valid, external
      Community: 64568:1
      Extended Community: RT:64561:1 RT:64568:1 SoO:64561:2 SoO:64568:2
      Last update: Mon Dec  7 14:34:22 2015

  64563 64561
    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 SoO:64561:2 SoO:64563:2
      Last update: Mon Dec  7 14:33:53 2015

  64561
    192.168.145.1 from 192.168.145.1 (192.168.145.1)
      Origin IGP, metric 0, localpref 100, valid, external, best
      Community: 64561:1
      Extended Community: RT:64561:1 SoO:64561:2
      Last update: Mon Dec  7 14:33:53 2015

on .3 (direct):

*  10.1.0.0/24      192.168.145.2                          0 64562 64561 i
*>                  192.168.145.1            0             0 64561 i
# sh ip bg  10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (2 available, best #2, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.2 192.168.145.4 192.168.145.5
  64562 64561
    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:64561:1 RT:64562:1 SoO:64561:2 SoO:64562:2
      Last update: Mon Dec  7 14:34:24 2015

  64561
    192.168.145.1 from 192.168.145.1 (192.168.145.1)
      Origin IGP, metric 0, localpref 100, valid, external, best
      Community: 64561:1
      Extended Community: RT:64561:1 SoO:64561:2
      Last update: Mon Dec  7 14:33:53 2015


On .4:

Has paths: 431, 421, 4681, 4671, 4571. Seems to be forwarding via 2, 3 and 6. The forward via 6 seems wrong. 6 is advertising an aggregate of length 2 to 4 apparently, of:

*> 10.1.0.0/24      192.168.145.6                          0 64566 
{64561,64562,64563,64564,64565,64567,64568} i

Which 4 is filtering out, as that's clearly a looping route, apparently based on 4's own advertised route...


*= 10.1.0.0/24      192.168.145.6                          0 64566 
{64561,64563,64565,64567,64568} i
*=                  192.168.145.2                          0 64562 64561 i
*>                  192.168.145.3                          0 64563 64561 i

# sh ip bg 10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (3 available, best #3, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.2 192.168.145.5 192.168.145.6
  64565 {64561,64563,64567}
    192.168.145.5 from 192.168.145.5 (192.168.145.5)
      Origin IGP, localpref 100, valid, external, multipath
      Community: 64565:1
      Extended Community: RT:64561:1 RT:64563:1 RT:64565:1 RT:64567:1 
SoO:64561:2 SoO:64563:2 SoO:64565:2 SoO:64567:2
      Last update: Mon Dec  7 14:36:53 2015

  64562 64561
    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 SoO:64561:2 SoO:64562:2
      Last update: Mon Dec  7 14:34:22 2015

  64563 64561
    192.168.145.3 from 192.168.145.3 (192.168.145.3)
      Origin IGP, localpref 100, valid, external, multipath, best
      Community: 64563:1
      Extended Community: RT:64561:1 RT:64563:1 SoO:64561:2 SoO:64563:2
      Last update: Mon Dec  7 14:33:53 2015

on 5:

Has paths 571, 531, also receiving agg

*= 10.1.0.0/24      192.168.145.6                          0 64566 
{64561,64562,64563,64564,64567,64568} i
*=                  192.168.145.4                          0 64564 
{64561,64562,64563} i
*=                  192.168.145.7                          0 64567 64561 i
*>                  192.168.145.3                          0 64563 64561 i

# sh ip bg  10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (2 available, best #2, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.4 192.168.145.6 192.168.145.7
  64567 64561
    192.168.145.7 from 192.168.145.7 (192.168.145.7)
      Origin IGP, localpref 100, valid, external, multipath
      Community: 64567:1
      Extended Community: RT:64561:1 RT:64567:1 SoO:64561:2 SoO:64567:2
      Last update: Mon Dec  7 14:34:23 2015

  64563 64561
    192.168.145.3 from 192.168.145.3 (192.168.145.3)
      Origin IGP, localpref 100, valid, external, multipath, best
      Community: 64563:1
      Extended Community: RT:64561:1 RT:64563:1 SoO:64561:2 SoO:64563:2
      Last update: Mon Dec  7 14:34:23 2015

on 6:

*= 10.1.0.0/24      192.168.145.4                          0 64564 
{64561,64562,64563,64565,64567} i
*=                  192.168.145.8                          0 64568 64561 i
*>                  192.168.145.7                          0 64567 64561 i

# sh ip bg  10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (3 available, best #3, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.4 192.168.145.5 192.168.145.8
  64564 {64561,64562,64563,64565,64567}
    192.168.145.4 from 192.168.145.4 (192.168.145.4)
      Origin IGP, localpref 100, valid, external, multipath
      Community: 64564:1
      Extended Community: RT:64561:1 RT:64562:1 RT:64563:1 RT:64564:1 
RT:64565:1 RT:64567:1 SoO:64561:2 SoO:64562:2 SoO:64563:2 SoO:64564:2 
SoO:64565:2 SoO:64567:2
      Last update: Mon Dec  7 14:43:52 2015

  64568 64561
    192.168.145.8 from 192.168.145.8 (192.168.145.8)
      Origin IGP, localpref 100, valid, external, multipath
      Community: 64568:1
      Extended Community: RT:64561:1 RT:64568:1 SoO:64561:2 SoO:64568:2
      Last update: Mon Dec  7 14:34:22 2015

  64567 64561
    192.168.145.7 from 192.168.145.7 (192.168.145.7)
      Origin IGP, localpref 100, valid, external, multipath, best
      Community: 64567:1
      Extended Community: RT:64561:1 RT:64567:1 SoO:64561:2 SoO:64567:2
      Last update: Mon Dec  7 14:33:53 2015


on 7:

*  10.1.0.0/24      192.168.145.8                          0 64568 64561 i
*>                  192.168.145.1            0             0 64561 i
# sh ip bg  10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (2 available, best #2, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.5 192.168.145.6 192.168.145.8
  64568 64561
    192.168.145.8 from 192.168.145.8 (192.168.145.8)
      Origin IGP, localpref 100, valid, external
      Community: 64568:1
      Extended Community: RT:64561:1 RT:64568:1 SoO:64561:2 SoO:64568:2
      Last update: Mon Dec  7 14:34:23 2015

  64561
    192.168.145.1 from 192.168.145.1 (192.168.145.1)
      Origin IGP, metric 0, localpref 100, valid, external, best
      Community: 64561:1
      Extended Community: RT:64561:1 SoO:64561:2
      Last update: Mon Dec  7 14:33:52 2015

on .8:

*  10.1.0.0/24      192.168.145.2                          0 64562 64561 i
*>                  192.168.145.1            0             0 64561 i
*                   192.168.145.7                          0 64567 64561 i
# sh ip bg 10.1.0.0/24
BGP routing table entry for 10.1.0.0/24
Paths: (3 available, best #2, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:
  192.168.145.2 192.168.145.6 192.168.145.7
  64562 64561
    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:64561:1 RT:64562:1 SoO:64561:2 SoO:64562:2
      Last update: Mon Dec  7 14:34:23 2015

  64561
    192.168.145.1 from 192.168.145.1 (192.168.145.1)
      Origin IGP, metric 0, localpref 100, valid, external, best
      Community: 64561:1
      Extended Community: RT:64561:1 SoO:64561:2
      Last update: Mon Dec  7 14:33:54 2015

  64567 64561
    192.168.145.7 from 192.168.145.7 (192.168.145.7)
      Origin IGP, localpref 100, valid, external
      Community: 64567:1
      Extended Community: RT:64561:1 RT:64567:1 SoO:64561:2 SoO:64567:2
      Last update: Mon Dec  7 14:33:54 2015


And actually, BGP doesn't seem to be stable:

2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.7.0.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.7.3.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.7.2.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.7.1.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.1.0.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.1.3.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.1.2.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 send UPDATE 10.1.1.0/24
2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE w/ attr: nexthop 192.168.145.2, origin i, community 64562:1, path 64562 {64561,64563,64564,64565,64567} 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.5.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.5.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.5.2.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.5.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE w/ attr: nexthop 192.168.145.2, origin i, community 64562:1, path 64562 {64561,64563,64564,64565,64566,64567,64568} 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.6.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.7.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.7.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.7.2.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.7.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.6.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.6.2.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.2 rcvd UPDATE about 10.6.3.0/24 -- DENIED due to: as-path contains our own AS;
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.1.0.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.1.3.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.1.2.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.1.1.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.8.1.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.8.2.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.8.3.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.8.0.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.7.0.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.7.3.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.7.2.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 send UPDATE 10.7.1.0/24
2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE w/ attr: nexthop 192.168.145.6, origin i, community 64566:1, path 64566 {64561,64562,64563,64564,64565,64567,64568} 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.1.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.3.2.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.3.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.3.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.3.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.1.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.1.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:22 BGP: 192.168.145.6 rcvd UPDATE about 10.1.2.0/24 -- DENIED due to: as-path contains our own AS;
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.8.1.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.8.2.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.8.3.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.8.0.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.7.0.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.7.3.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.7.2.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 send UPDATE 10.7.1.0/24
2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE w/ attr: nexthop 192.168.145.3, origin i, community 64563:1, path 64563 {64561,64562,64564,64566,64568} 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.8.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.8.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.8.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.8.2.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE w/ attr: nexthop 192.168.145.3, origin i, community 64563:1, path 64563 {64561,64562,64564,64565,64566,64567,64568} 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.7.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.7.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.7.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.3 rcvd UPDATE about 10.7.2.0/24 -- DENIED due to: as-path contains our own AS;
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.1.0.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.1.3.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.1.2.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.1.1.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.8.1.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.8.2.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.8.3.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 send UPDATE 10.8.0.0/24
2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE w/ attr: nexthop 192.168.145.5, origin i, community 64565:1, path 64565 {64561,64562,64563,64564,64566,64567,64568} 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.8.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.1.0.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.1.1.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.1.2.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.1.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.8.2.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.8.3.0/24 -- DENIED due to: as-path contains our own AS; 2015/12/07 14:57:23 BGP: 192.168.145.5 rcvd UPDATE about 10.8.0.0/24 -- DENIED due to: as-path contains our own AS;

That's just one burst.

The mpath code seems borken, at least this aggregating, across-AS_PATHs, relaxed mpath feature. ??

regards,
--
Paul Jakma      [email protected]  @pjakma Key ID: 64A2FF6A
Fortune:
"Protozoa are small, and bacteria are small, but viruses are smaller
than the both put together."

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to