BGP problem

My network looks like that R1–R2–R3. R1 is a peer with R2, R3 is a peer with R2. Router 2 configured as reflector, to make R1 peer with R3. Also configured R2 nexthop-choice as forse-self. But R1 doesn’t see networks behind R3, nor R3 behind R1. Where’s the problem? Next hop seems didn’t change, R2 still advertising R3’s and R1’s next hop. Seems like forse-self command doesn’t work.

Hardware rb4500, ros 4.13.

Post /ip route print from all three routers
/routing bgp instance print
and
/routing bgp peer print detail

R1:

[admin@MikroTik] > ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit

DST-ADDRESS PREF-SRC GATEWAY DISTANCE

0 ADb 192.168.0.0/24 192.168.1.1 200
1 ADC 192.168.1.0/24 192.168.1.2 ether2 0
2 Db 192.168.1.0/24 192.168.1.1 200
3 ADC 192.168.10.0/24 192.168.10.101 ether1 0
4 Db 192.168.11.0/24 192.168.0.2 200
5 Db 192.168.12.0/24 192.168.0.2 200
[admin@MikroTik] > routing bgp instance print
Flags: X - disabled
0 name="default" as=6500 router-id=2.2.2.2 redistribute-connected=no
redistribute-static=no redistribute-rip=no redistribute-ospf=no
redistribute-other-bgp=no out-filter="" client-to-client-reflection=no
ignore-as-path-len=no routing-table=""
[admin@MikroTik] > routing bgp peer print
Flags: X - disabled, E - established

INSTANCE REMOTE-ADDRESS REMOTE-AS

0 E default 192.168.1.1 6500
[admin@MikroTik] >

R2:

[admin@MikroTik] > ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit

DST-ADDRESS PREF-SRC GATEWAY DISTANCE

0 ADC 192.168.0.0/24 192.168.0.1 ether2 0
1 Db 192.168.0.0/24 192.168.0.2 200
2 ADC 192.168.1.0/24 192.168.1.1 ether3 0
3 Db 192.168.1.0/24 192.168.1.2 200
4 ADb 192.168.10.0/24 192.168.1.2 200
5 ADb 192.168.11.0/24 192.168.0.2 200
6 ADb 192.168.12.0/24 192.168.0.2 200
7 ADC 192.168.89.0/24 192.168.89.1 ether1 0
[admin@MikroTik] > routing bgp instance print
Flags: X - disabled
0 name="default" as=6500 router-id=1.1.1.1 redistribute-connected=no
redistribute-static=no redistribute-rip=no redistribute-ospf=no
redistribute-other-bgp=no out-filter="" client-to-client-reflection=yes
ignore-as-path-len=no routing-table=""
[admin@MikroTik] > routing bgp peer print
Flags: X - disabled, E - established

INSTANCE REMOTE-ADDRESS REMOTE-AS

0 E default 192.168.0.2 6500
1 E default 192.168.1.2 6500
[admin@MikroTik] >

R3:

[admin@MikroTik] > ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit

DST-ADDRESS PREF-SRC GATEWAY DISTANCE

0 ADC 192.168.0.0/24 192.168.0.2 ether2 0
1 Db 192.168.0.0/24 192.168.0.1 200
2 ADb 192.168.1.0/24 192.168.0.1 200
3 Db 192.168.10.0/24 192.168.1.2 200
4 ADC 192.168.11.0/24 192.168.11.1 ether4 0
5 ADC 192.168.12.0/24 192.168.12.1 ether1 0
[admin@MikroTik] > routing bgp instance print
Flags: X - disabled
0 name="default" as=6500 router-id=3.3.3.3 redistribute-connected=no
redistribute-static=no redistribute-rip=no redistribute-ospf=no
redistribute-other-bgp=no out-filter="" client-to-client-reflection=no
ignore-as-path-len=no routing-table=""
[admin@MikroTik] > routing bgp peer print
Flags: X - disabled, E - established

INSTANCE REMOTE-ADDRESS REMOTE-AS

0 E default 192.168.0.1 6500
[admin@MikroTik] >

“/routing bgp peer print detail”
from router R2

R2:
[admin@MikroTik] > routing bgp peer print detail
Flags: X - disabled, E - established
0 E name=“peer1” instance=default remote-address=192.168.0.2 remote-as=6500
tcp-md5-key=“” nexthop-choice=force-self multihop=no route-reflect=yes
hold-time=3m ttl=default in-filter=“” out-filter=“” address-families=ip
default-originate=never remove-private-as=no as-override=no passive=no
use-bfd=no

1 E name=“peer2” instance=default remote-address=192.168.1.2 remote-as=6500
tcp-md5-key=“” nexthop-choice=force-self multihop=no route-reflect=yes
hold-time=3m ttl=default in-filter=“” out-filter=“” address-families=ip
default-originate=never remove-private-as=no as-override=no passive=no
use-bfd=no
[admin@MikroTik] >

You are running iBGP between all three routers. Which means that reflected route is sent out as is.

You can read it here
http://wiki.mikrotik.com/wiki/Manual:BGP_nexthop_selection_and_validation_in_RouterOS_3.x

Basically if iBGP is used you need underlying IGP protocol like ospf