Community discussions

MikroTik App
 
BelWave
Member Candidate
Member Candidate
Topic Author
Posts: 184
Joined: Wed Aug 04, 2004 12:49 am

BGP Failover...

Mon Feb 21, 2005 9:40 pm

I would love to hear from MikroTik users that are successfully running BGP with two or more upstream providers and that have tested failover.

As I understand our MikroTik's are establishing a BGP sessions with a Hold Time of 0 and a Keep Alive Time of 0. The upstream provider router sees this as an indefinite setting and therefore when and if the link fails the BGP session will not clear until manually done so. Obviously this is a huge problem as that upstream will continue to announce when it shouldn't. Bottom line is all traffic will not failover automatically.

Any ideas on how to set the Hold Time and Keep Alive Time in MikroTik?

I sure hope V2.9 has a BGP module like Zebra etc... What MikroTik is offering for BGP now is very limited and probably shouldn't even be sold as a supported feature in V2.8!

Thanks,

Brad
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

bgp limited

Wed Feb 23, 2005 7:03 pm

It is not the hold time. I noticed mikrotik waiting / connecting / trying to connect to the upstreme router even though the link/router were down. ONce we disabled the interface it showed up "not connected" and announced to the other upstreme. I agree with you that the bgp is limited. Somebody has to get in and disable an interface or remove the rule so that announces are done to the other upstreme.

I think it should be easy to write a script for this if someone can come up with this it would atleast fulfil the failover issue.
 
cheinzle
newbie
Posts: 36
Joined: Thu Oct 28, 2004 7:06 pm
Location: Nebraska

BGP Failover

Wed Feb 23, 2005 7:56 pm

that works for connected links, but what about when your upstream provider has routing/connection problems. You then dont have the luxury of checking for link status.
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Thu Feb 24, 2005 6:56 am

For that your provider needs to be properly bgpd so he has failover and lesser issues as well.

That is what I wanted to say
BGP feature DOES NOT work well at all even if upstreme has failed and its "connecting" the bgp failover does not work . It should however work as soon as the upstreme flaps....

Does not happen.
 
BelWave
Member Candidate
Member Candidate
Topic Author
Posts: 184
Joined: Wed Aug 04, 2004 12:49 am

Re: bgp limited

Fri Feb 25, 2005 12:58 am

It is not the hold time. I noticed mikrotik waiting / connecting / trying to connect to the upstreme router even though the link/router were down. ONce we disabled the interface it showed up "not connected" and announced to the other upstreme. I agree with you that the bgp is limited. Somebody has to get in and disable an interface or remove the rule so that announces are done to the other upstreme.

I think it should be easy to write a script for this if someone can come up with this it would atleast fulfil the failover issue.
This isn't the problem we recently encountered. One of our upstream providers went down. The local interface between them and us never dropped. We believe because the initial BGP Session was setup at "0" Hold Time and "0" Keep Alive Time this upstream never stopped announcing our routes even though their routers knew the circuit was offline.

This is a MikroTik problem as every other BGP peer they have sets up a "90" Hold Time and "30" Keep Alive Time. If MikroTik can initially setup the BGP session with the proper Hold & Keep Alive times the upstream will know to drop the session. As of now a "0" setting means indefinite and requires a MANUAL clearing before they will stop announcing our routes. BTW, how can you clear a session without disabling/re-enabling the entire BGP module!?!

We are just hoping with fingers crossed V2.9 will have BGP support. It is of many people's opinion V2.8 does not support BGP even though MikroTik advertises and sells it as such. :(

Best,

Brad
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Fri Feb 25, 2005 6:55 am

Although your waiting for 2.9 there will/ may be a lot of bugs in it when it is released. Maybe not good immidiately for production use. I dont know whether this is a possibility but I guess we can run a machine with zebra behind MT and have MT learn its routes from the zebra box. The zebra box can be configured to do ONLY bgp with your upstremes . Zebra is more configurable right ?
 
User avatar
sten
Forum Veteran
Forum Veteran
Posts: 920
Joined: Tue Jun 01, 2004 12:10 pm

Fri Feb 25, 2005 2:35 pm

Although your waiting for 2.9 there will/ may be a lot of bugs in it when it is released. Maybe not good immidiately for production use. I dont know whether this is a possibility but I guess we can run a machine with zebra behind MT and have MT learn its routes from the zebra box. The zebra box can be configured to do ONLY bgp with your upstremes . Zebra is more configurable right ?
OpenBGPD on OpenBSD is also good (atleast it was for our tests).
Quagga is also an option.
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Fri Feb 25, 2005 3:03 pm

well the big question is can we use zebra / openbgpd (called ZO) along with MT . Where MT is the main router and is doing bgpd (learning routes sent to it by ZO)

ZO is doing bgpd with the two isps upstreme. This way we get fine grained controlled on our bgp using ZO who advertises to isps and to our MT and then MT does the routing accordingly ?
 
BelWave
Member Candidate
Member Candidate
Topic Author
Posts: 184
Joined: Wed Aug 04, 2004 12:49 am

Sat Feb 26, 2005 3:25 am

Sure would be easier if MikroTik just included a BGP module that worked. As I understand V2.9 will introduce many BGP features not currently available with V2.8.

Is there anyone here with MikroTik that can comment on this?

BTW, I have yet to hear back from MikroTik support regarding the sup-out files I sent them they asked for regarding these BGP problems...

Best,

Brad
 
User avatar
Eugene
Forum Veteran
Forum Veteran
Posts: 993
Joined: Mon May 31, 2004 5:06 pm
Location: Cranfield, UK

Mon Feb 28, 2005 6:16 pm

routing bgp
hold-timer - if nothing is received from peer for this amount of
time, then router considers peer dead and closes the conection.
keepalive-timer - interval between keepalive messages sent to
peer

By default these are '0'. Changing these values should solve your problems.
8)
Tout individu a droit à la vie, à la liberté et à la sûreté de sa personne.
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Mon Feb 28, 2005 9:00 pm

What are the ideal settings for these ?? (other than 0) what would be ideal ??
Lets say if we want seamless failover... .what would these settings be . (we dont have multihop)
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Tue Mar 01, 2005 6:25 am

routing bgp
hold-timer - if nothing is received from peer for this amount of
time, then router considers peer dead and closes the conection.
keepalive-timer - interval between keepalive messages sent to
peer
no such command or directory (hold-timer)
no such command or directory (keepalive-timer)

Where is it ?
 
User avatar
Eugene
Forum Veteran
Forum Veteran
Posts: 993
Joined: Mon May 31, 2004 5:06 pm
Location: Cranfield, UK

Tue Mar 01, 2005 11:45 am

/routing bgp peer add hold-timer=20
Tout individu a droit à la vie, à la liberté et à la sûreté de sa personne.
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Tue Mar 01, 2005 12:39 pm

Thanks for the reply I will try that
Are the hold-time and keepalive time in seconds ?

What would be ideal values for these .
 
User avatar
Eugene
Forum Veteran
Forum Veteran
Posts: 993
Joined: Mon May 31, 2004 5:06 pm
Location: Cranfield, UK

Tue Mar 01, 2005 1:03 pm

Try to use "90" Hold Time and "30" Keep Alive Time.
Tout individu a droit à la vie, à la liberté et à la sûreté de sa personne.
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Tue Mar 01, 2005 4:47 pm

> /routing bgp peer add hold-timer=90
ERROR: no such argument (hold-timer)
> /routing bgp peer add hold-time=90
ERROR: no such argument (hold-time)

I am using 2.8.18
 
User avatar
Eugene
Forum Veteran
Forum Veteran
Posts: 993
Joined: Mon May 31, 2004 5:06 pm
Location: Cranfield, UK

Tue Mar 01, 2005 6:32 pm

Upgrade
Tout individu a droit à la vie, à la liberté et à la sûreté de sa personne.
 
BelWave
Member Candidate
Member Candidate
Topic Author
Posts: 184
Joined: Wed Aug 04, 2004 12:49 am

Tue Mar 01, 2005 8:01 pm

Upgrade
Hello Eugene,

Thanks for your input. I also heard back from Normunds who enlightened me on the hold/keep alive settings. We are planning on trying these settings this weekend. Fingers crossed!

Best,

Brad
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Wed Mar 02, 2005 10:14 am

Upgraded to 2.8.24 BUT

/routing bgp peer add hold-timer=90 sent my system to 100 cpu load a nd added a 0.0.0.0 peer which is not getting removed
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Wed Mar 02, 2005 1:21 pm

HELP !!!
CPU USAGE 100% constant. The BGP keeps dropping with one of the providers ! It worked perfectly over the last 4+ months now with the upgrade we are screwed. Can someone come up with something ?
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Wed Mar 02, 2005 3:19 pm

well after we upgraded we are seeing continuous flaps . We downgraded to 2.8.21 -- no use

The cpu load keeps going 100 as it relearns after getting connected to the peer.


We had NO such issues with 2.8.18

What has changed ???
 
User avatar
[ASM]
Member Candidate
Member Candidate
Posts: 285
Joined: Sun Jun 06, 2004 12:59 am
Location: Sofia, Bulgaria
Contact:

Wed Mar 02, 2005 5:51 pm

/routing bgp peer add hold-timer=90 sent my system to 100 cpu load a nd added a 0.0.0.0 peer which is not getting removed
Command "/routing bgp peer add" adds a new bgp peer. Try /routing bgp peer set 0 hold-timer=90

:)
The light is faster than sound. People always looks smart before they start talking.
 
User avatar
[ASM]
Member Candidate
Member Candidate
Posts: 285
Joined: Sun Jun 06, 2004 12:59 am
Location: Sofia, Bulgaria
Contact:

Wed Mar 02, 2005 5:53 pm

btw... remove the peer you've added
The light is faster than sound. People always looks smart before they start talking.
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

BGP ISSUE FIXED

Wed Mar 02, 2005 9:25 pm

We fixed it
IF anybody upgrades to 2.8.2x should note that bgp settings from 2.8.18 and below will NOT work properly if you have multiple peers.

We fixed this by putting in hold-timer and keepalive-timer for each peer by /routing bgp peer edit (peernumber) and specifying value as hold-timer and keepalive-timer.

This wasted a good 6 hours of debugging.

Why doesnt MT document THIS !!!!?????????????
 
cheinzle
newbie
Posts: 36
Joined: Thu Oct 28, 2004 7:06 pm
Location: Nebraska

Re: BGP ISSUE FIXED

Wed Mar 02, 2005 9:50 pm


Why doesnt MT document THIS !!!!?????????????
Ive asked myself that question many times.
 
natrohost
just joined
Posts: 11
Joined: Wed Nov 24, 2004 7:45 pm

Thu Mar 03, 2005 10:34 am

[MikroTik] routing bgp peer> print
[MikroTik] routing bgp peer> set <peer's number> hold-time=20

Example:
MikroTik] routing bgp peer> set 0 hold-time=20
 
nikhil
Member Candidate
Member Candidate
Posts: 262
Joined: Wed Dec 22, 2004 5:04 pm
Location: US

Fri Mar 04, 2005 12:14 am

Is there now a way to mark certain traffic so we advertise it to take a particular peer as path ? (More control over incoming?)
 
BelWave
Member Candidate
Member Candidate
Topic Author
Posts: 184
Joined: Wed Aug 04, 2004 12:49 am

Sun Mar 13, 2005 3:57 am

Is there now a way to mark certain traffic so we advertise it to take a particular peer as path ? (More control over incoming?)
I believe you want an option sometimes referred to as "weighing" AS Numbers. With this option you can announce ASN information in a way that will favor one backhaul over another. For example let's say you have an AT&T (7018 ASN) backhaul and a Sprint (1239 ASN) backhaul coming into your MikroTik (9999 ASN), but you would prefer more traffic come into your network over the AT&T backhaul.

As I understand traffic coming into your network will always follow the path that traverses the fewest ASNs, so if you were to "weigh" your Sprint BGP session with 1239, 1239, 9999 that would force more traffic over the alternate path of 7018, 9999.

I'm new to BGP, but this is how I remember this being explained to me. Any BGP veterans care to comment?

Best,

Brad

Who is online

Users browsing this forum: eworm, Google [Bot], phongqc, siandiandi and 210 guests