Community discussions

 
User avatar
ironman820
just joined
Topic Author
Posts: 13
Joined: Tue Feb 09, 2016 5:40 pm
Contact:

BGP Multihop on OSPF failover scenario

Thu Jun 13, 2019 9:02 pm

I am trying a lab setup to mimic some of the routers we have in the field. We like the idea of using eBGP on top of OSPF to get ECMP across our links and still be able to send traffic the direction we want using weights and local pref. The problem I'm looking at is based on these 4 routers:
netmap.JPG
The link between Rees and Prouty is an old an fairly slow link that we want to run just for backup purposes. So using just BGP weight, we have cost it out and forced traffic around the other side through Franklin WT. The problem I'm running into is if the link between 190 and Franklin fails, multihop keeps the BGP session live and sends traffic to Rees. This creates a loop because Rees says the default route is still in Franklin because Franklin didn't drop the session with 190 thanks to multihop.

Is there a way to limit how far the multihop goes or just a way to keep this loop from happening?

190:
/interface bridge
add name=inside
add name=lo
/routing bgp instance
set default as=65029 client-to-client-reflection=no router-id=162.216.a.a
/routing ospf instance
set [ find default=yes ] router-id=162.216.a.a
/ip address
add address=100.65.0.106 interface=inside network=100.65.0.107
add address=100.65.0.189 interface=ether1-FranklinWT network=100.65.0.188
add address=100.65.0.251 interface=ether2-Prouty network=100.65.0.250
add address=100.65.1.30 interface=ether3-Internet network=100.65.1.31
add address=100.65.1.32 interface=inside network=100.65.1.33
add address=100.65.1.38 interface=inside network=100.65.1.39
add address=162.216.a.a interface=lo network=162.216.a.a
/routing bgp peer
add default-originate=if-installed in-filter=AS65051-PRTY-IPV4-IN multihop=yes name=Prouty out-filter=AS65051-PRTY-IPV4-OUT remote-address=162.216.a.b remote-as=65051 update-source=lo
add in-filter=AS65073-UPLINK-IPV4-IN multihop=yes name=Internet out-filter=AS65073-UPLINK-IPV4-OUT remote-address=162.216.a.c remote-as=65073 update-source=lo
add default-originate=if-installed in-filter=AS65042-FKLN-IPV4-IN multihop=yes name=FranklinWT out-filter=AS65042-FKLN-IPV4-OUT remote-address=162.216.a.d remote-as=65042 update-source=lo
/routing filter
add action=accept chain=AS65073-UPLINK-IPV4-IN disabled=yes prefix=0.0.0.0/0 prefix-length=0 set-bgp-weight=1000
add action=discard chain=AS65073-UPLINK-IPV4-IN disabled=yes
add action=accept chain=AS65073-UPLINK-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:97
add action=discard chain=AS65042-FKLN-IPV4-IN disabled=yes prefix=0.0.0.0/0 prefix-length=0
add action=accept bgp-communities=10958:2400 chain=AS65042-FKLN-IPV4-IN comment="Rees Routes" disabled=yes set-bgp-weight=1000
add action=accept chain=AS65042-FKLN-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:97
add action=discard chain=AS65051-PRTY-IPV4-IN disabled=yes prefix=0.0.0.0/0 prefix-length=0
add action=accept chain=AS65051-PRTY-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:97
add action=accept chain=AS65031-SCLR-IPV4-IN disabled=yes prefix=0.0.0.0/0 prefix-length=0 set-bgp-weight=900
add action=accept bgp-communities=10958:98 chain=AS65031-SCLR-IPV4-IN disabled=yes
add action=discard chain=AS65031-SCLR-IPV4-IN disabled=yes
add action=accept chain=AS65031-SCLR-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:97
/routing ospf interface
add network-type=nbma passive=yes
add interface=ether1-FranklinWT network-type=point-to-point
add interface=ether2-Prouty network-type=point-to-point
add interface=ether3-Internet network-type=point-to-point
/routing ospf network
add area=backbone network=162.216.a.0/25
add area=backbone network=100.65.0.0/16
/system identity
set name=190
Franklin WT
/interface bridge
add name=inside
add name=lo
/interface ethernet
set [ find default-name=ether1 ] name=ether1-190
set [ find default-name=ether2 ] name=ether2-Rees
/routing bgp instance
set default as=65042 client-to-client-reflection=no router-id=162.216.a.d
/routing ospf instance
set [ find default=yes ] router-id=162.216.a.d
/ip address
add address=100.65.0.179 interface=ether2-Rees network=100.65.0.178
add address=100.65.0.186 interface=ether3-Woodson network=100.65.0.187
add address=100.65.0.188 interface=ether1-190 network=100.65.0.189
add address=162.216.a.d interface=lo network=162.216.a.d
/routing bgp peer
add in-filter=AS65029-190-IPV4-IN multihop=yes name=190 out-filter=AS65029-190-IPV4-OUT remote-address=162.216.a.a remote-as=65029 route-reflect=yes update-source=lo
add default-originate=if-installed in-filter=AS65043-RS-IPV4-IN multihop=yes name=RS out-filter=AS65043-RS-IPV4-OUT remote-address=162.216.a.e remote-as=65043 update-source=lo
/routing filter
add action=accept chain=AS65029-190-IPV4-IN prefix=0.0.0.0/0 prefix-length=0 set-bgp-weight=1000
add action=accept bgp-communities=10958:6900 chain=AS65029-190-IPV4-IN set-bgp-weight=1000
add action=accept chain=AS65029-190-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:29
add action=accept chain=AS65043-RS-IPV4-IN prefix=0.0.0.0/0 prefix-length=0 set-bgp-weight=900
add action=accept bgp-communities=10958:2400 chain=AS65043-RS-IPV4-IN set-bgp-weight=1000
add action=accept chain=AS65043-RS-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:29
/routing ospf interface
add network-type=nbma passive=yes
add interface=ether1-190 network-type=point-to-point
add interface=ether2-Rees network-type=point-to-point
/routing ospf network
add area=backbone network=100.65.0.0/16
add area=backbone network=162.216.a.0/25
/system identity
set name=FrankinWT
Prouty:
/interface bridge
add name=inside
add name=lo
/interface ethernet
set [ find default-name=ether1 ] name=ether1-Rees
set [ find default-name=ether2 ] name=ether2-190
/routing bgp instance
set default as=65051 client-to-client-reflection=no router-id=162.216.a.b
/routing ospf instance
set [ find default=yes ] router-id=162.216.a.b
/ip address
add address=100.65.0.177 interface=ether1-Rees network=100.65.0.176
add address=100.65.0.249 interface=ether3 network=100.65.0.248
add address=100.65.0.250 interface=ether2-190 network=100.65.0.251
add address=162.216.a.b interface=lo network=162.216.a.b
/routing bgp peer
add in-filter=AS65029-190-IPV4-IN multihop=yes name=190 out-filter=AS65029-190-IPV4-OUT remote-address=162.216.a.a remote-as=65029 update-source=lo
add default-originate=if-installed in-filter=AS65043-REES-IPV4-IN multihop=yes name=REES out-filter=AS65043-REES-IPV4-OUT remote-address=162.216.a.e remote-as=65043 update-source=lo
/routing filter
add action=accept chain=AS65029-190-IPV4-IN prefix=0.0.0.0/0 prefix-length=0 set-bgp-weight=1000
add action=accept bgp-communities=10958:2400 chain=AS65029-190-IPV4-IN set-bgp-weight=1000
add action=accept chain=AS65029-190-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:69,10958:6900
add action=accept append-bgp-communities=10958:6900 bgp-communities=10958:68 chain=AS65029-190-IPV4-OUT
add action=accept chain=AS65043-REES-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:69,10958:6900
add action=accept append-bgp-communities=10958:6900 bgp-communities=10958:68 chain=AS65043-REES-IPV4-OUT
/routing ospf interface
add network-type=nbma passive=yes
add cost=100 interface=ether1-Rees network-type=point-to-point
add interface=ether2-190 network-type=point-to-point
/routing ospf network
add area=backbone network=162.216.a.0/25
add area=backbone network=100.65.0.0/16
/system identity
set name=Prouty
Rees:
/interface bridge
add name=inside
add name=lo
/interface ethernet
set [ find default-name=ether1 ] name=ether1-Prouty
set [ find default-name=ether2 ] name=ether2-FKLNWT
/routing bgp instance
set default as=65043 client-to-client-reflection=no router-id=162.216.a.e
/routing ospf instance
set [ find default=yes ] router-id=162.216.a.e
/ip address
add address=100.65.0.176 interface=ether1-Prouty network=100.65.0.177
add address=100.65.0.178 interface=ether2-FKLNWT network=100.65.0.179
add address=162.216.a.e interface=lo network=162.216.a.e
/routing bgp peer
add default-originate=if-installed in-filter=AS65051-PRTY-IPV4-IN multihop=yes name=PRTY out-filter=AS65051-PRTY-IPV4-OUT remote-address=162.216.a.b remote-as=65051 update-source=lo
add default-originate=if-installed in-filter=AS65042-FKLNWT-IPV4-IN multihop=yes name=WT.FKLN out-filter=AS65042-FKLNWT-IPV4-OUT remote-address=162.216.a.d remote-as=65042 update-source=lo
/routing filter
add action=accept chain=AS65042-FKLNWT-IPV4-IN prefix=0.0.0.0/0 prefix-length=0 set-bgp-weight=1000
add action=accept bgp-communities=10958:6900 chain=AS65042-FKLNWT-IPV4-IN set-bgp-weight=1000
add action=accept append-bgp-communities=10958:2400 bgp-communities=10958:28 chain=AS65042-FKLNWT-IPV4-OUT
add action=accept chain=AS65042-FKLNWT-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:24,10958:2400
add action=accept chain=AS65051-PRTY-IPV4-IN prefix=0.0.0.0/0 prefix-length=0 set-bgp-weight=900
add action=accept chain=AS65051-PRTY-IPV4-OUT locally-originated-bgp=yes set-bgp-communities=10958:24,10958:2400
add action=accept append-bgp-communities=10958:2400 bgp-communities=10958:28 chain=AS65051-PRTY-IPV4-OUT
/routing ospf interface
add network-type=nbma passive=yes
add interface=ether1-Prouty network-type=point-to-point
add interface=ether2-FKLNWT network-type=point-to-point
/routing ospf network
add area=backbone network=162.216.a.0/25
add area=backbone network=100.65.0.0/16
/system identity
set name=Rees
You do not have the required permissions to view the files attached to this post.
 
User avatar
ironman820
just joined
Topic Author
Posts: 13
Joined: Tue Feb 09, 2016 5:40 pm
Contact:

Re: BGP Multihop on OSPF failover scenario

Tue Jul 30, 2019 5:58 pm

Is there any BGP/OSPF Wizardry that would fix this instead of just moving it to the routing IPs to mitigate this issue on these sites?
 
Vooray
Frequent Visitor
Frequent Visitor
Posts: 68
Joined: Mon Feb 23, 2015 3:34 pm

Re: BGP Multihop on OSPF failover scenario

Mon Aug 05, 2019 12:30 am

eBGP on top of OSPF? ECMP without redundant links (you stated that Rees-Prouty is a backup route)?
No idea what are you doing.

Who is online

Users browsing this forum: No registered users and 3 guests