[c-nsp] bgp multipath-relax + dmzlink

bill fumerola billf at mu.org
Tue Dec 16 19:04:05 EST 2008


config:
 bgp bestpath as-path multipath-relax
 bgp dmzlink-bw

  neighbor aa.bb.cc.73 dmzlink-bw
  neighbor xxx.yyy.zzz.77 dmzlink-bw

interface bandwidth settings:

rtr1#show ip route aa.bb.cc.73 | i direct
  * directly connected, via GigabitEthernet0/0.5
rtr1#show int gi0/0.5 | i BW
  MTU 1500 bytes, BW 9000 Kbit, DLY 10 usec,
rtr1#show ip route xxx.yyy.zzz.77 | i direc
  * directly connected, via GigabitEthernet0/0.3
rtr1#show int gi0/0.3 | i BW 
  MTU 1500 bytes, BW 55000 Kbit, DLY 10 usec,
rtr1#

bgp shows the proper DMZ-link BW:

rtr1#show ip bgp 4.23.94.0
[...]
  2914 7018 46164
    xxx.yyy.zzz.77 from xxx.yyy.zzz.77 (129.250.0.19)
      Origin IGP, metric 0, localpref 100, weight 10000, valid, external, multipath
      Community: 2914:420 2914:2000 2914:3000 36692:10210 no-export
      DMZ-Link Bw 6875 kbytes
  701 7018 46164
    aa.bb.cc.73 from aa.bb.cc.73 (137.39.2.70)
      Origin IGP, metric 0, localpref 100, weight 10000, valid, external, multipath, best
      Community: 36692:10210 no-export
      DMZ-Link Bw 1125 kbytes

here's the problem:

rtr1#show ip route 4.23.94.0
Routing entry for 4.23.94.0/23
  Known via "bgp 36692", distance 20, metric 0
  Tag 701, type external
  Last update from aa.bb.cc.73 00:24:40 ago
  Routing Descriptor Blocks:
  * xxx.yyy.zzz.77, from xxx.yyy.zzz.77, 00:24:40 ago
      Route metric is 0, traffic share count is 1
      AS Hops 3
      Route tag 701
    aa.bb.cc.73, from aa.bb.cc.73, 00:24:40 ago
      Route metric is 0, traffic share count is 10
      AS Hops 3
      Route tag 701

the traffic share count is the inverse of what it should be (1:10 when
it should be 7:1).

this is confirmed by cef:

rtr1#show ip cef 4.23.94.0 int     
4.23.94.0/23, epoch 0, RIB[B], refcount 5, per-destination sharing
  sources: RIB
  feature space:
   IPRM: 0x00018000
  ifnums:
   GigabitEthernet0/0.3(14): xxx.yyy.zzz.77
   GigabitEthernet0/0.5(15): aa.bb.cc.73
   path_list contains at least one resolved destination(s). HW not notified
  path 63DC37C4, path list 502C51E0, share 1/1, type recursive nexthop, for IPv4, flags resolved
  recursive via xxx.yyy.zzz.77[IPv4:Default], fib 2A195DFC, 1 terminal fib
    path 28F39760, path list 28ACD5A8, share 0/1, type adjacency prefix, for IPv4
    attached to GigabitEthernet0/0.3, adjacency IP adj out of GigabitEthernet0/0.3, addr xxx.yyy.zzz.77 5038CE40
  path 28F3A664, path list 502C51E0, share 10/10, type recursive nexthop, for IPv4, flags resolved
  recursive via aa.bb.cc.73[IPv4:Default], fib 2026A89C, 1 terminal fib
    path 63DC5360, path list 502C6E90, share 0/1, type adjacency prefix, for IPv4
    attached to GigabitEthernet0/0.5, adjacency IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
  output chain:
    loadinfo 63DBB918, per-session, 2 choices, flags 0003, 126665 locks
    flags: Per-session, for-rx-IPv4
    11 hash buckets
      < 0 > IP adj out of GigabitEthernet0/0.3, addr xxx.yyy.zzz.77 5038CE40
      < 1 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 2 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 3 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 4 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 5 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 6 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 7 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 8 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      < 9 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0
      <10 > IP adj out of GigabitEthernet0/0.5, addr aa.bb.cc.73 5038CFC0

soooo.. is it possible to get working unequal load sharing across two
different ASNs? i wouldn't need the hidden 'bgp bestpath as-path
multipath-relax' if they were the same ASN, but if they were the same
ASN i wouldn't be trying to meet different target commit rates.

i tried to simply flip the bandwidths to get what i want, but that made
things even worse:

  2914 7018 46164
    xxx.yyy.zzz.77 from xxx.yyy.zzz.77 (129.250.0.19)
      Origin IGP, metric 0, localpref 100, weight 10000, valid, external, multipath
      Community: 2914:420 2914:2000 2914:3000 36692:10210 no-export
      DMZ-Link Bw 1250 kbytes
  701 7018 46164
    aa.bb.cc.73 from aa.bb.cc.73 (137.39.2.70)
      Origin IGP, metric 0, localpref 100, weight 10000, valid, external, multipath, best
      Community: 36692:10210 no-export

Routing entry for 4.23.94.0/23
  Known via "bgp 36692", distance 20, metric 0
  Tag 701, type external
  Last update from aa.bb.cc.73 00:00:33 ago
  Routing Descriptor Blocks:
  * xxx.yyy.zzz.77, from xxx.yyy.zzz.77, 00:00:33 ago
      Route metric is 0, traffic share count is 1
      AS Hops 3
      Route tag 701
    aa.bb.cc.73, from aa.bb.cc.73, 00:00:33 ago
      Route metric is 0, traffic share count is 48
      AS Hops 3
      Route tag 701

i set the bandwidth on the 2914 link to be 100:1 the bandwidth of the
701 link and no matter what, i always get the 1:10 ratio in the wrong
direction.

this is on 12.2(31)SB11.

-- bill


More information about the cisco-nsp mailing list