I'm testing in a network where every router peers only with physically connected routers, every peer is configured as a route-reflector client, every peering is configured with set next-hop self and set metric +100, all routers in the same AS. Every router also peers with a route-server which runs quagga.
A config in a router looks like this: cr203-STO# cat /etc/bgpd.conf # $OpenBSD: bgpd.conf,v 1.7 2004/10/01 15:12:16 henning Exp $ # sample bgpd configuration file # see bgpd.conf(5) AS 65000 router-id 10.0.0.2 network connected network static network 10.0.0.2/32 group "ibgp" { remote-as 65000 route-reflector set metric +100 set nexthop self holdtime 10 neighbor 172.16.1.5 { local-address 172.16.1.6 } neighbor 10.1.1.1 { local-address 10.1.1.2 } neighbor 10.1.1.14 { local-address 10.1.1.13 } } neighbor 192.168.30.10 { remote-as 65000 local-address 10.0.0.2 } cr203-STO# ifconfig lo1 lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224 groups: lo inet 10.0.0.2 netmask 0xffffffff cr203-STO# With this setup I can introduce routing loops into the network by flapping prefixes. Here flapped a prefix with an intervall of a few seconds: cr203-STO# bgpctl network add 12.0.0.0/8 request sent. cr203-STO# bgpctl network del 12.0.0.0/8 request sent. cr203-STO# bgpctl network add 12.0.0.0/8 request sent. cr203-STO# bgpctl network del 12.0.0.0/8 request sent. cr203-STO# bgpctl network add 12.0.0.0/8 request sent. cr203-STO# bgpctl network del 12.0.0.0/8 request sent. cr203-STO# bgpctl network add 12.0.0.0/8 request sent. cr203-STO# bgpctl network del 12.0.0.0/8 request sent. cr203-STO# bgpctl network add 12.0.0.0/8 request sent. cr203-STO# bgpctl network del 12.0.0.0/8 request sent. cr203-STO# After this every router in the network except cr203-STO which originated it sees this prefix. They all consider the 10.0.0.2 (cr203-STO) to be the originator. A look from the route-server: quagga-bgpd# sh ip bgp summary BGP router identifier 192.168.30.10, local AS number 65000 1 BGP AS-PATH entries 0 BGP community entries Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.1 4 65000 1185 897 0 0 0 00:58:20 31 10.0.0.2 4 65000 1128 880 0 0 0 00:56:51 30 10.0.0.3 4 65000 1142 899 0 0 0 00:58:13 31 10.0.0.4 4 65000 1141 901 0 0 0 00:57:58 31 10.0.0.5 4 65000 1179 901 0 0 0 00:57:32 31 10.0.0.6 4 65000 1192 900 0 0 0 00:57:19 31 10.0.0.7 4 65000 1182 916 0 0 0 00:58:21 31 10.0.0.8 4 65000 1222 901 0 0 0 00:58:09 31 172.16.0.1 4 65000 1256 898 0 0 0 00:57:00 31 172.16.0.2 4 65000 1208 902 0 0 0 00:57:46 31 172.16.0.3 4 65000 1471 1107 0 0 0 02:41:01 31 Total number of neighbors 11 quagga-bgpd# quagga-bgpd# sh ip bgp 12.0.0.0 BGP routing table entry for 12.0.0.0/8 Paths: (10 available, best #6, table Default-IP-Routing-Table) Not advertised to any peer Local 172.16.1.2 from 172.16.0.1 (10.0.0.2) Origin IGP, metric 500, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 172.16.0.1 10.0.0.1 10.0.0.3 172.16.0.2 10.0.0.4 Last update: Mon Apr 10 19:20:05 2006 Local 10.1.1.6 from 10.0.0.1 (10.0.0.2) Origin IGP, metric 400, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 10.0.0.1 10.0.0.3 172.16.0.2 10.0.0.4 Last update: Mon Apr 10 19:20:05 2006 Local 10.1.1.17 from 10.0.0.5 (10.0.0.2) Origin IGP, metric 400, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 10.0.0.5 10.0.0.3 172.16.0.2 10.0.0.4 Last update: Mon Apr 10 19:20:05 2006 Local 172.16.1.13 from 172.16.0.2 (10.0.0.2) Origin IGP, metric 400, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 172.16.0.2 10.0.0.4 10.0.0.3 10.0.0.1 Last update: Mon Apr 10 19:20:04 2006 Local 10.1.1.21 from 10.0.0.6 (10.0.0.2) Origin IGP, metric 500, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 10.0.0.6 10.0.0.5 10.0.0.3 172.16.0.2 10.0.0.4 Last update: Mon Apr 10 19:20:05 2006 Local 172.16.1.10 from 10.0.0.3 (10.0.0.2) Origin IGP, metric 300, localpref 100, valid, internal, best Originator: 10.0.0.2, Cluster list: 10.0.0.3 172.16.0.2 10.0.0.4 Last update: Mon Apr 10 19:20:05 2006 Local 10.1.1.9 from 10.0.0.4 (10.0.0.2) Origin IGP, metric 300, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 10.0.0.4 10.0.0.3 10.0.0.1 Last update: Mon Apr 10 19:20:04 2006 Local 10.1.1.25 from 10.0.0.7 (10.0.0.2) Origin IGP, metric 400, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 10.0.0.7 10.0.0.4 10.0.0.3 10.0.0.1 Last update: Mon Apr 10 19:20:04 2006 Local 10.1.1.29 from 10.0.0.8 (10.0.0.2) Origin IGP, metric 500, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 10.0.0.8 10.0.0.7 10.0.0.4 10.0.0.3 10.0.0.1 Last update: Mon Apr 10 19:20:05 2006 Local 172.16.1.18 from 172.16.0.3 (10.0.0.2) Origin IGP, metric 500, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 172.16.0.3 10.0.0.7 10.0.0.4 10.0.0.3 10.0.0.1 Last update: Mon Apr 10 19:20:04 2006 quagga-bgpd# If I look into the rib of the boxes I find that one of the routers has a next-hop which actually has a higher metric than itself. cr204-CPH# ifconfig lo1 lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224 groups: lo inet 10.0.0.3 netmask 0xffffffff cr204-CPH# bgpctl sh rib 12.0.0.0 flags: * = Valid, > = Selected, I = via IBGP, A = Announced origin: i = IGP, e = EGP, ? = Incomplete flags destination gateway lpref med aspath origin I*> 12.0.0.0/8 172.16.1.10 100 300 i cr204-CPH# ssh 172.16.1.10 [EMAIL PROTECTED]'s password: Last login: Mon Apr 10 19:43:04 2006 from 192.168.3.11 OpenBSD 3.9-current (GENERIC) #5: Sun Apr 2 21:42:28 BST 2006 Welcome to OpenBSD: The proactively secure Unix-like operating system. Please use the sendbug(1) utility to report bugs in the system. Before reporting a bug, please try to reproduce it with the latest version of the code. With bug reports, please try to ensure that enough information to reproduce the problem is enclosed, and if a known fix for it exists, include that as well. Terminal type? [screen] ar206-CPH# ifconfig lo1 lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224 groups: lo inet 172.16.0.2 netmask 0xffffffff ar206-CPH# bgpctl sh rib 12.0.0.0 flags: * = Valid, > = Selected, I = via IBGP, A = Announced origin: i = IGP, e = EGP, ? = Incomplete flags destination gateway lpref med aspath origin I*> 12.0.0.0/8 172.16.1.13 100 400 i ar206-CPH# I have so far been unable to find a fixed pattern of where/why this happens. Any ideas ? /Tony -- Tony Sarendal - [EMAIL PROTECTED] IP/Unix -= The scorpion replied, "I couldn't help it, it's my nature" =-