summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_community.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-06-12 16:59:10 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-06-12 16:59:10 +0200
commit31a4638f7d49753e904c3518de2b1aa51a47ab94 (patch)
treeef28ba9a8677f129d5c7e6549d6ba2e7f1fb4f5e /bgpd/bgp_community.h
parentRemove the '(ignored)' output for nexthops, instead display 'used' for the us... (diff)
downloadfrr-31a4638f7d49753e904c3518de2b1aa51a47ab94.tar.xz
frr-31a4638f7d49753e904c3518de2b1aa51a47ab94.zip
BGP: bestpath needs to prefer confed-external over confed-internal
Topology: +-----------------------------------------+ | | | AS 100 | | | | +----------------+ | +-----------+ | | | | | | | | SubAS 65001 | | | AS 90 | | | | +-------------+ | | r9----------------r1---------r2----\ | | | | | | | | | | | | | SubAS 65002 | | +-----|-----+ | | \--- r3 --/ | \-------r4 | | \---------------------/ \---------------/ | | | | | | | | | | | +----------------+ | | | | | | | | | | +----------------+ | r5 | | +-----------+ | | | | | | | | | | | SubAS 65003 | +-----|-------+ | | AS 80 | | | | | | | r8----------------r7--------r6--------------/ | | | | | | | +-----------+ | +----------------+ | +-----------------------------------------+ Important info: - r8 originates 8.8.8.8/32 - r1, r2, r3 -> r7 are 10.0.0.1, 10.0.0.2, etc - 'bgp bestpath compare-routerid' is configured everywhere (we could still hit the problem without this though) Bestpath selection for 8.8.8.8/32 on r2 and r3 is inconsistent. Here r4 advertised the 8.8.8.8/32 to r2 first, r2 then advertised it to r3, r3 selected the path from r2 as the bestpath due to lowest router-id. r2 BGP routing table entry for 8.8.8.8/32 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.0.0.1 10.0.0.3 10.0.0.4 (65002 65003) 80 10.0.0.7 (metric 50) from 10.0.0.4 (10.0.0.4) Origin IGP, metric 0, localpref 100, valid, confed-external, best Last update: Fri May 1 14:46:57 2015 r3 BGP routing table entry for 8.8.8.8/32 Paths: (2 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.0.0.4 90.1.1.6 (65002 65003) 80 10.0.0.7 (metric 50) from 10.0.0.2 (10.0.0.2) Origin IGP, metric 0, localpref 100, valid, confed-internal, best Last update: Fri May 1 14:46:58 2015 (65002 65003) 80 10.0.0.7 (metric 50) from 10.0.0.4 (10.0.0.4) Origin IGP, metric 0, localpref 100, valid, confed-external Last update: Fri May 1 14:46:57 2015 Here r4 advertised the 8.8.8.8/32 to r3 first, r3 then advertised it to r2, r2 selected the path from r3 as the bestpath due to lowest router-id. r2 BGP routing table entry for 8.8.8.8/32 Paths: (2 available, best #2, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.0.0.4 (65002 65003) 80 10.0.0.7 (metric 50) from 10.0.0.4 (10.0.0.4) Origin IGP, metric 0, localpref 100, valid, confed-external Last update: Fri May 1 15:37:27 2015 (65002 65003) 80 10.0.0.7 (metric 50) from 10.0.0.3 (10.0.0.3) Origin IGP, metric 0, localpref 100, valid, confed-internal, best Last update: Fri May 1 15:37:27 2015 r3 BGP routing table entry for 8.8.8.8/32 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.0.0.1 10.0.0.2 10.0.0.4 90.1.1.6 (65002 65003) 80 10.0.0.7 (metric 50) from 10.0.0.4 (10.0.0.4) Origin IGP, metric 0, localpref 100, valid, confed-external, best Last update: Fri May 1 15:37:22 2015 The fix is to have bestpath prefer a confed-external path over a confed-internal path. I added this just after the "nexthop IGP cost" step because some confed customers will have one IGP covering multiple sub-ASs, in that case you want to compare nexthop IGP cost.
Diffstat (limited to 'bgpd/bgp_community.h')
0 files changed, 0 insertions, 0 deletions