NOTE that I have changed the ASN’s and IP addresses to protect identity etc.
I have 3 Internet POPs with 2 different upstreams.
All 3 sites are geographically separate and connected via a Fixed Wireless network that is running OSPF. I receive only Default Route from upstreams. I have my own /22 IP Address space.
Wireless network Client radios are all on PPPOE and are assigned IP address based on geographic area - e.g. customers in the area of POP1 get an ARIN IP in the 129.129.0.0/23 range. In the event of a POP failure I want traffic to redirect to another POP and the Client radio to continue to use it’s assigned IP Address without NAT being needed.
.

I want failover to behave like this:
POP1 >> POP2 >> POP3
(R7 fails to R8 then to R9)
POP2 >> POP3 >> POP1
(R8 fails to R9 then to R7)
POP3 >> POP1 >> POP1
(R9 fails to R8 then to R7)
Excluding the OSPF Part : Will this work ? Is what I have below correct ?
On R7
/routing bgp instance
add as=9999 client-to-client-reflection=no name=POP1 router-id=100.100.1.2
/routing bgp aggregate
add disabled=yes include-igp=yes instance=POP1 prefix=129.129.0.0/23
add disabled=yes include-igp=yes instance=POP1 prefix=129.129.2.0/24
add disabled=yes include-igp=yes instance=POP1 prefix=129.129.3.0/24
/routing bgp peer
add instance=POP1 name=POP1_Upstream in-filter=AS1111-bgp-in out-filter=AS1111-bgp-out remote-address=100.100.1.1 remote-as=1111 ttl=default
/routing filter
add action=discard chain=AS1111-bgp-in prefix=10.0.0.0/8 prefix-length=8-32
add action=discard chain=AS1111-bgp-in prefix=169.254.0.0/16 prefix-length=16-32
add action=discard chain=AS1111-bgp-in prefix=192.168.0.0/16 prefix-length=16-32
add action=discard chain=AS1111-bgp-in prefix=172.16.0.0/12 prefix-length=12-32
add action=discard chain=AS1111-bgp-in prefix=224.0.0.0/4 prefix-length=4-32
add action=discard chain=AS1111-bgp-in prefix=240.0.0.0/4 prefix-length=4-32
add action=discard chain=AS1111-bgp-in prefix=127.0.0.0/8 prefix-length=8-32
add action=discard chain=AS1111-bgp-in prefix=129.129.0.0/22 prefix-length=22-32
add action=accept chain=AS1111-bgp-in
add action=accept chain=AS1111-bgp-out prefix=129.129.3.0/24 set-bgp-prepend=8
add action=accept chain=AS1111-bgp-out prefix=129.129.2.0/24 set-bgp-prepend=8
add action=accept chain=AS1111-bgp-out prefix=129.129.0.0/23
add action=discard chain=AS1111-bgp-out
On R8
/routing bgp instance
add as=9999 client-to-client-reflection=no name=POP2 router-id=100.150.1.2
/routing bgp aggregate
add disabled=yes include-igp=yes instance=POP2 prefix=129.129.0.0/23
add disabled=yes include-igp=yes instance=POP2 prefix=129.129.2.0/24
add disabled=yes include-igp=yes instance=POP2 prefix=129.129.3.0/24
/routing bgp peer
add instance=POP2 name=POP2_Upstream in-filter=AS2222-bgp-in out-filter=AS2222-bgp-out remote-address=100.150.1.1 remote-as=2222 ttl=default
/routing filter
add action=discard chain=AS2222-bgp-in prefix=10.0.0.0/8 prefix-length=8-32
add action=discard chain=AS2222-bgp-in prefix=169.254.0.0/16 prefix-length=16-32
add action=discard chain=AS2222-bgp-in prefix=192.168.0.0/16 prefix-length=16-32
add action=discard chain=AS2222-bgp-in prefix=172.16.0.0/12 prefix-length=12-32
add action=discard chain=AS2222-bgp-in prefix=224.0.0.0/4 prefix-length=4-32
add action=discard chain=AS2222-bgp-in prefix=240.0.0.0/4 prefix-length=4-32
add action=discard chain=AS2222-bgp-in prefix=127.0.0.0/8 prefix-length=8-32
add action=discard chain=AS2222-bgp-in prefix=129.129.0.0/22 prefix-length=22-32
add action=accept chain=AS2222-bgp-in
add action=accept chain=AS2222-bgp-out prefix=129.129.3.0/24 set-bgp-prepend=4
add action=accept chain=AS2222-bgp-out prefix=129.129.2.0/24
add action=accept chain=AS2222-bgp-out prefix=129.129.0.0/23 set-bgp-prepend=4
add action=discard chain=AS2222-bgp-out
On R9
/routing bgp instance
add as=9999 client-to-client-reflection=no name=POP3 router-id=100.200.3.2
/routing bgp aggregate
add disabled=yes include-igp=yes instance=POP3 prefix=129.129.0.0/23
add disabled=yes include-igp=yes instance=POP3 prefix=129.129.2.0/24
add disabled=yes include-igp=yes instance=POP3 prefix=129.129.3.0/24
/routing bgp peer
add instance=POP3 name=POP3_Upstream in-filter=AS1111-bgp-in out-filter=AS1111-bgp-out remote-address=100.200.3.1 remote-as=1111 ttl=default
/routing filter
add action=discard chain=AS1111-bgp-in prefix=10.0.0.0/8 prefix-length=8-32
add action=discard chain=AS1111-bgp-in prefix=169.254.0.0/16 prefix-length=16-32
add action=discard chain=AS1111-bgp-in prefix=192.168.0.0/16 prefix-length=16-32
add action=discard chain=AS1111-bgp-in prefix=172.16.0.0/12 prefix-length=12-32
add action=discard chain=AS1111-bgp-in prefix=224.0.0.0/4 prefix-length=4-32
add action=discard chain=AS1111-bgp-in prefix=240.0.0.0/4 prefix-length=4-32
add action=discard chain=AS1111-bgp-in prefix=127.0.0.0/8 prefix-length=8-32
add action=discard chain=AS1111-bgp-in prefix=129.129.0.0/22 prefix-length=22-32
add action=accept chain=AS1111-bgp-in
add action=accept chain=AS1111-bgp-out prefix=129.129.3.0/24 set-bgp-prepend=4
add action=accept chain=AS1111-bgp-out prefix=129.129.2.0/24
add action=accept chain=AS1111-bgp-out prefix=129.129.0.0/23 set-bgp-prepend=6
add action=discard chain=AS1111-bgp-out
Comments would be most welcome.
TY, Z