Tested BGP Confederations with ROS v7.10.1 and still does not seem to work.
Steps to reproduce:
1) Set-up 2 X ROS 6.48.7 CHR/routers with BGP Confederations etc. See example config below.
CORE1:
/interface bridge
add name=loopback0 protocol-mode=none
/interface ethernet
set [ find default-name=ether1 ] comment=CORE2 disable-running-check=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/routing bgp instance
set default as=64600 cluster-id=0.0.0.2 confederation=64555 router-id=192.168.61.25
/routing ospf instance
set [ find default=yes ] router-id=192.168.61.255
/user group
set full policy=local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,password,web,sniff,sensitive,api,romon,dude,tikapp
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip address
add address=192.168.61.1/30 interface=ether1 network=192.168.61.0
add address=192.168.61.254 interface=loopback0 network=192.168.61.254
/ip dns
set allow-remote-requests=yes
/routing bgp peer
add default-originate=if-installed name=CORE2 remote-address=192.168.61.254 remote-as=64600 update-source=loopback0
/routing ospf interface
add passive=yes
add interface=ether1 network-type=point-to-point use-bfd=yes
add interface=loopback0 network-type=broadcast passive=yes
/routing ospf network
add area=backbone network=192.168.61.0/24
/system identity
set name=CORE1
/system package update
set channel=long-term
CORE2:
/interface bridge
add name=loopback0 protocol-mode=none
/interface ethernet
set [ find default-name=ether1 ] comment=CORE1 disable-running-check=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/routing bgp instance
set default as=64600 cluster-id=0.0.0.2 confederation=64555 router-id=192.168.61.254
/routing ospf instance
set [ find default=yes ] router-id=192.168.61.254
/user group
set full policy=local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,password,web,sniff,sensitive,api,romon,dude,tikapp
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip address
add address=192.168.61.2/30 interface=ether1 network=192.168.61.0
add address=192.168.61.254 interface=loopback0 network=192.168.61.254
/ip dns
set servers=192.168.61.1
/routing bgp peer
add name=CORE1 remote-address=192.168.61.255 remote-as=64600 update-source=loopback0
/routing ospf interface
add passive=yes
add interface=ether1 network-type=point-to-point use-bfd=yes
add interface=loopback0 network-type=broadcast passive=yes
/routing ospf network
add area=backbone network=192.168.61.0/24
/system identity
set name=CORE2
/system package update
set channel=long-term
2) Upgrade one of the routers and BOOM!
CORE2:
/interface bridge
add name=loopback0 protocol-mode=none
/interface ethernet
set [ find default-name=ether1 ] comment=CORE1 disable-running-check=no
/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
set 1 name=virtual0
/routing bgp template
set default as=64555/64600 cluster-id=0.0.0.2 disabled=no output.network=bgp-networks router-id=192.168.61.254
/routing ospf instance
add disabled=no name=default-v2 router-id=192.168.61.254
/routing ospf area
add disabled=no instance=default-v2 name=backbone-v2
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface ovpn-server server
set auth=sha1,md5
/ip address
add address=192.168.61.2/30 interface=ether1 network=192.168.61.0
add address=192.168.61.254 interface=loopback0 network=192.168.61.254
/ip dns
set servers=192.168.61.1
/ip route
add gateway=192.168.61.1
/routing bfd configuration
add disabled=no interfaces=all min-rx=200us min-tx=200us multiplier=5
/routing bgp connection
add cisco-vpls-nlri-len-fmt=auto-bits connect=yes listen=yes local.address=loopback0 .role=ibgp name=CORE1 remote.address=192.168.61.255 .as=64555/64600 .port=179 templates=default
/routing ospf interface-template
add area=backbone-v2 auth-id=1 auth-key="" cost=10 disabled=no interfaces=ether1 networks=192.168.61.0/30 priority=1 type=ptp use-bfd=yes
add area=backbone-v2 auth-id=1 auth-key="" cost=10 disabled=no interfaces=loopback0 networks=192.168.61.254 passive priority=1 use-bfd=no
/system identity
set name=CORE2
/system note
set show-at-login=n
CORE 2 Logs:
15:35:42 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:37037 -> 192.168.61.253:179 } Socket{ 4 ida } out } readsz=45 } cancelRemoteAs=64600
15:35:42 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:41837 -> 192.168.61.255:179 } Socket{ 6 ida } out } readsz=45 } cancelRemoteAs=64600
15:35:42 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:35453 -> 192.168.61.252:179 } Socket{ 5 ida } out } readsz=45 } cancelRemoteAs=64600
15:35:53 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:35205 -> 192.168.61.253:179 } Socket{ 4 ida } out } readsz=45 } cancelRemoteAs=64600
15:35:53 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:40565 -> 192.168.61.252:179 } Socket{ 6 ida } out } readsz=45 } cancelRemoteAs=64600
15:35:53 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:46835 -> 192.168.61.255:179 } Socket{ 5 ida } out } readsz=45 } cancelRemoteAs=64600
15:35:54 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:179 -> 192.168.61.252:37954 } Socket{ 4 ida } in } readsz=45 } cancelRemoteAs=64600
15:36:05 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:36141 -> 192.168.61.252:179 } Socket{ 5 ida } out } readsz=45 } cancelRemoteAs=64600
15:36:05 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:43623 -> 192.168.61.253:179 } Socket{ 4 ida } out } readsz=45 } cancelRemoteAs=64600
15:36:05 route,bgp,error Invalid remote AS, expected 64555BgpStarter{ c=Connection{ ConnId{ 192.168.61.254:37851 -> 192.168.61.255:179 } Socket{ 6 ida } out } readsz=45 } cancelRemoteAs=64600
CORE1 Logs:
15:35:42 route,bgp,info Connection opened by remote host
15:35:42 route,bgp,info RemoteAddress=192.168.61.254
15:35:42 route,bgp,error Received notification
15:35:42 route,bgp,error OPEN error: bad remote-as
15:35:52 route,bgp,info Connection opened by remote host
15:35:52 route,bgp,info RemoteAddress=192.168.61.254
15:35:52 route,bgp,error Received notification
15:35:52 route,bgp,error OPEN error: bad remote-as
15:36:02 route,bgp,info Connection opened by remote host
15:36:02 route,bgp,info RemoteAddress=192.168.61.254
15:36:05 route,bgp,error Received notification
15:36:05 route,bgp,error OPEN error: bad remote-as
Notes:
1) Conversion from v6 to v7 seems to be correct(at least according to my interpretation of the manual)
2) BFD without confederations seems to be stable.