Re: Possible bug ? Re: 4.7 Release - bgpd not passing IBGP routes
Thanks for the heads up Claudio, will look into it a bit more in light of your comments.
Re: Possible bug ? Re: 4.7 Release - bgpd not passing IBGP routes
On Sun, May 30, 2010 at 10:38:01PM +, a b wrote: (1) With set localpref 500 on EBGP session on BSD02 bgpctl sh rib on BSD01 : I* 0.0.0.0/0172.16.99.254500065432i * 0.0.0.0/0172.16.99.254100065432i bgpctl sh rib on BSD02 : * 0.0.0.0/0172.16.99.254500065432i This looks right. BSD02 is propegating the route to BSD01 and BSD01 selects that one as more prefered over the non iBGP route. (2) With no localpref set on EBGP session on BGP02 bgpctl sh rib on BSD01 : * 0.0.0.0/0172.16.99.254100065432i I* 0.0.0.0/0172.16.99.254100065432i bgpctl sh rib on BSD02 : * 0.0.0.0/0172.16.99.254100065432i I* 0.0.0.0/0172.16.99.254100065432i Again correct, both routers select the eBGP route since the prefixes have the same metrics until the tiebreaker reaches the ebgp vs ibgp check. In both cases the router select the eBGP route and propagate that route to the other iBGP router. (3) With set localpref 25 on EBGP session on BSD02 bgpctl sh rib on BSD01 : *0.0.0.0/0172.16.99.254 100065432i bgpctl sh rib on BSD02 : I* 0.0.0.0/0 172.16.99.254100065432i *0.0.0.0/0 172.16.99.25425 065432i Again everything is fine. BSD01 selects the eBGP route and propagets that route as iBGP route the BSD02 where that route is more prefered because of the higher localpref. Note, only the active route is redistributed and over iBGP sessions only the active routes that are not internal are redistributed. That is the reason why in case 1 and 3 only one router ends up with both routes. PS: please fix your mailclient. It is almost impossible to read the mails because of the insane linewrapping. -- :wq Claudio
Re: 4.7 Release - bgpd not passing IBGP routes
Hi, On Sat, 29 May 2010 18:25:12 +0700, a b obsdmisc...@yahoo.co.uk wrote: Hi, I've got a curious problem with a test I've been doing with bgpd on 4.7 release. Hopefully someone can point out where I am going wrong. Test Layout : BSD01 - EBGP01 BSD02 - EBGP01 BSDxx are both 4.7 release BGP speakers in private ASN 64550 (OSPF running between them as IGP) EBGP01 is a non OpenBSD BGP speaker in private ASN 65432 (just sending default route for test purposes) BSD01 does not appear to be receiving routes from BSD02 (in this case, it should be learning a higher pref default route from BSD02 over IBGP) on BSD01 : # bgpctl show sum Neighbor ASMsgRcvd MsgSent OutQ Up/Down State/PrfRcvd BSD0264550 19 19 0 00:15:25 0 EBGP BOX 65432 20 19 0 00:17:09 1 #bgpctl show rib * 0.0.0.0/0 172.16.99.254 400 0 65432 i on BSD02 : # bgpctl show sum Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd BSD0164550 121 125 0 00:20:25 1 EBGP BOX 65432 1163 1188 0 01:17:09 1 #bgpctl show rib I* 0.0.0.0/0 172.16.99.254 400 0 65432 i * 0.0.0.0/0 172.16.99.254 100 0 65432 i bgpd.conf from BSD01 : PEER_ASN=65432 LOCAL_ASN=64550 MY_ID=192.168.152.1 REMOTE_IP=172.16.99.254 IBGP_PEER=192.168.152.2 LO1_IP=192.168.152.1 AS $LOCAL_ASN router-id $MY_ID holdtime 180 holdtime min 3 fib-update yes group transit 65432 { set localpref 400 remote-as $PEER_ASN neighbor $REMOTE_IP { descr EBGP BOX announce self ^ I think you need to re-assess that. from man (5) bgpd.conf announce (all|none|self|default-route) If set to none, no UPDATE messages will be sent to the neighbor. If set to default-route, only the default route will be announced to the neighbor. If set to all, all generated UPDATE messages will be sent to the neighbor. This is usually used for transit AS's and IBGP peers. The default value for EBGP peers is self, which limits the sent UPDATE messages to announcements of the local AS. The default for IBGP peers is all. Which, you need to have sth like: network 0.0.0.0/0 } } group IBGP Mesh { remote-as $LOCAL_ASN local-address $LO1_IP neighbor $IBGP_PEER { descr BSD02 } } bgpd.conf from BSD02 : PEER_ASN=65432 LOCAL_ASN=64550 MY_ID=192.168.152.2 REMOTE_IP=172.16.99.254 IBGP_PEER=192.168.152.1 LO1_IP=192.168.152.2 AS $LOCAL_ASN router-id $MY_ID holdtime 180 holdtime min 3 fib-update yes group transit 65432 { set localpref 400 remote-as $PEER_ASN neighbor $REMOTE_IP { descr EBGP BOX announce self } } group IBGP Mesh { remote-as $LOCAL_ASN local-address $LO1_IP neighbor $IBGP_PEER { descr BSD01 } } HTH, -- insandotpraja(at)gmaildotcom
Re: 4.7 Release - bgpd not passing IBGP routes
Hello, Thank you for your reply. Ref. your pointing out group transit 65432 { set localpref 400 remote-as $PEER_ASN neighbor $REMOTE_IP { descr EBGP BOX announce self ^ Please explain why, therefore, when I remove set localpref 400, the IBGP mesh defined in the next section of the config occurs correctly ? When set localpref 400 is removed, both primary and secondary routes (with default pref 100) are visible on both IGBP peers. As soon as set localpref 400 is reinserted, the issue originally presented reappears. Many thanks again for your kind assistance.
Re: Possible bug ? Re: 4.7 Release - bgpd not passing IBGP routes
Hi, On Sun, 30 May 2010 02:34:12 +0700, a b obsdmisc...@yahoo.co.uk wrote: Hi, Further to my earlier email, additional experimentation shows that removal of set localpref from my config file on BSD02 allows full mesh IBGP to correctly occur. Reinsertion of set localpref makes the issue originally reported reappear. By setting received prefixes to localpref 400, it would be preferable to the router thus made other similar prefixes with lower localpref unselected. But, yes, it should appeared on RIB. Please show us bgpctl sh rib output from all routers. And, if I'm not mistaken, if there are prefixes with the same metrics comes from both eBGP and iBGP, prefixes from eBGP peers will be chosen. HTH, -- insandotpraja(at)gmaildotcom
Re: Possible bug ? Re: 4.7 Release - bgpd not passing IBGP routes
(1) With set localpref 500 on EBGP session on BSD02 bgpctl sh rib on BSD01 : I*0.0.0.0/0172.16.99.254500065432i * 0.0.0.0/0172.16.99.254100065432i bgpctl sh rib on BSD02 : *0.0.0.0/0172.16.99.254500065432i (2) With no localpref set on EBGP session on BGP02 bgpctl sh rib on BSD01 : * 0.0.0.0/0172.16.99.254100065432i I*0.0.0.0/0 172.16.99.254100065432i bgpctl sh rib on BSD02 : * 0.0.0.0/0172.16.99.254100065432i I*0.0.0.0/0 172.16.99.254100065432i (3) With set localpref 25 on EBGP session on BSD02 bgpctl sh rib on BSD01 : *0.0.0.0/0172.16.99.254 100065432i bgpctl sh rib on BSD02 : I*0.0.0.0/0 172.16.99.254100065432i *0.0.0.0/0172.16.99.25425 065432i
4.7 Release - bgpd not passing IBGP routes
Hi, I've got a curious problem with a test I've been doing with bgpd on 4.7 release. Hopefully someone can point out where I am going wrong. Test Layout : BSD01 - EBGP01 BSD02 - EBGP01 BSDxx are both 4.7 release BGP speakers in private ASN 64550 (OSPF running between them as IGP) EBGP01 is a non OpenBSD BGP speaker in private ASN 65432 (just sending default route for test purposes) BSD01 does not appear to be receiving routes from BSD02 (in this case, it should be learning a higher pref default route from BSD02 over IBGP) on BSD01 : # bgpctl show sum Neighbor ASMsgRcvd MsgSent OutQ Up/Down State/PrfRcvd BSD0264550 19 19 0 00:15:25 0 EBGP BOX 65432 20 19 0 00:17:09 1 #bgpctl show rib * 0.0.0.0/0 172.16.99.254 400 0 65432 i on BSD02 : # bgpctl show sum Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd BSD0164550 121 125 0 00:20:25 1 EBGP BOX 65432 1163 1188 0 01:17:09 1 #bgpctl show rib I* 0.0.0.0/0 172.16.99.254 400 0 65432 i * 0.0.0.0/0 172.16.99.254 100 0 65432 i bgpd.conf from BSD01 : PEER_ASN=65432 LOCAL_ASN=64550 MY_ID=192.168.152.1 REMOTE_IP=172.16.99.254 IBGP_PEER=192.168.152.2 LO1_IP=192.168.152.1 AS $LOCAL_ASN router-id $MY_ID holdtime 180 holdtime min 3 fib-update yes group transit 65432 { set localpref 400 remote-as $PEER_ASN neighbor $REMOTE_IP { descr EBGP BOX announce self } } group IBGP Mesh { remote-as $LOCAL_ASN local-address $LO1_IP neighbor $IBGP_PEER { descr BSD02 } } bgpd.conf from BSD02 : PEER_ASN=65432 LOCAL_ASN=64550 MY_ID=192.168.152.2 REMOTE_IP=172.16.99.254 IBGP_PEER=192.168.152.1 LO1_IP=192.168.152.2 AS $LOCAL_ASN router-id $MY_ID holdtime 180 holdtime min 3 fib-update yes group transit 65432 { set localpref 400 remote-as $PEER_ASN neighbor $REMOTE_IP { descr EBGP BOX announce self } } group IBGP Mesh { remote-as $LOCAL_ASN local-address $LO1_IP neighbor $IBGP_PEER { descr BSD01 } }
Possible bug ? Re: 4.7 Release - bgpd not passing IBGP routes
Hi, Further to my earlier email, additional experimentation shows that removal of set localpref from my config file on BSD02 allows full mesh IBGP to correctly occur. Reinsertion of set localpref makes the issue originally reported reappear.