Community discussions

MikroTik App
 
amorsen
newbie
Topic Author
Posts: 37
Joined: Wed Jun 13, 2007 2:17 pm

BGP multiple peerings

Fri Jul 20, 2007 6:03 pm

I have an RB500 running v3.0beta9, with two physical links to a Linux-router running quagga. On the RB500, ether1 has address 10.1.1.1/24, ether2 has address 10.1.2.1/24. Similarly, the Linux router has 10.1.1.2/24 on eth0 and 10.1.2.2/24 on eth1. I would like to establish two iBGP sessions between those routers, so that BGP keeps running when a link fails. Unfortunately I just get: Duplicate remote RouterId: 10.1.2.2

The BGP RFC refers somewhat cryptically to it being possible to have multiple peerings between the same peers, as long as the IP address pairs are different. Can it be implemented in RouterOS?
 
changeip
Forum Guru
Forum Guru
Posts: 3830
Joined: Fri May 28, 2004 5:22 pm

Re: BGP multiple peerings

Fri Jul 20, 2007 7:33 pm

You should be able to modify that routerid in quagga right ?

Sam
 
amorsen
newbie
Topic Author
Posts: 37
Joined: Wed Jun 13, 2007 2:17 pm

Re: BGP multiple peerings

Fri Jul 20, 2007 9:54 pm

Change quagga so that it sends one routerid via one link and another routerid via another link? I haven't heard about such functionality and a quick search didn't unearth anything like that.
 
changeip
Forum Guru
Forum Guru
Posts: 3830
Joined: Fri May 28, 2004 5:22 pm

Re: BGP multiple peerings

Sat Jul 21, 2007 1:18 am

you should be able to set routerid for each peer, just like with RouterOS.

under each peer / neighbor ?:
bgp router-id x.x.x.x
 
amorsen
newbie
Topic Author
Posts: 37
Joined: Wed Jun 13, 2007 2:17 pm

Re: BGP multiple peerings

Sat Jul 21, 2007 10:46 am

I don't see any way to set the router-id on a peer basis. I just have this:

[admin@MikroTik] /routing bgp peer> set 0 ?
Change properties of one or several items.

<numbers> -- List of item numbers
address-families --
comment -- Set comment for items
disabled --
hold-time --
in-filter --
instance --
interface --
max-prefix-limit --
max-prefix-restart-time --
multihop --
name --
nexthop-choice --
out-filter --
remote-address --
remote-as --
route-reflect --
tcp-md5-key --
ttl --
update-source --
 
User avatar
mrz
MikroTik Support
MikroTik Support
Posts: 7056
Joined: Wed Feb 07, 2007 12:45 pm
Location: Latvia
Contact:

Re: BGP multiple peerings

Mon Jul 23, 2007 10:28 am

you have to add instances, for example
/routing bgp instance
add name=i1 as=1 router-id=1.1.1.1
add name=i2 as=1 router-id=1.1.1.2
and use one instance for one peer
 
amorsen
newbie
Topic Author
Posts: 37
Joined: Wed Jun 13, 2007 2:17 pm

Re: BGP multiple peerings

Tue Jul 24, 2007 5:50 pm

Will using multiple instances actually work in this case? It sounds like both of them will try to insert routes into the kernel routing table; which instance will win?
 
changeip
Forum Guru
Forum Guru
Posts: 3830
Joined: Fri May 28, 2004 5:22 pm

Re: BGP multiple peerings

Tue Jul 24, 2007 7:46 pm

Using two instances on RouterOS will cause the routing tables to not merge correctly. AS PATH is only evaluated per instance, so sometimes routes that are longer AS PATH are used first, which is not what you want probably. I learned this the hard way. Try to keep everything in a single instance if you can.

"Duplicate remote RouterId: 10.1.2.2" <- This is RouterOS saying this? It sounds like you need to modify the routerID on the quagga box not RouterOS.
 
amorsen
newbie
Topic Author
Posts: 37
Joined: Wed Jun 13, 2007 2:17 pm

Re: BGP multiple peerings

Fri Jul 27, 2007 12:12 am

Let me repeat myself from the first post: "I have an RB500 running v3.0beta9, with two physical links to a Linux-router running quagga." There are only two routers involved here, one runs RouterOS, the other runs Quagga. Therefore there is no point in changing the router ID on the Quagga box, it will be the same on both links between the routers.

I just want RouterOS to ignore the duplicate router ID and not shut down the link.
 
changeip
Forum Guru
Forum Guru
Posts: 3830
Joined: Fri May 28, 2004 5:22 pm

Re: BGP multiple peerings

Fri Jul 27, 2007 8:26 am

What I meant to say is that RouterOS can't handle that situation, but I think Quagga/zebra will. Possibly you can tell the quagga box that each peering session / instance uses a different routerid, like you can in routeros. I always make it a habit to change my router id to something like '127.15.0.x' - something that doesn't exist, that way I dont mix up that it even has to be an ip address at all. Or if i absolutely have to I can order them the way I need since it sometimes takes the 'lowest' ip address.

In the end it would be nice if routeros didn't choke on a duplicate id, but until you file a fix-it with support it's not going to change. We're all hoping to make the bgp code a little more stable.

Who is online

Users browsing this forum: Bing [Bot], Frostbite1991, KOK, lubara and 183 guests