Is there a way to merge communities from the same prefixes?
Hi all! I use bird2 (2.0.9) as RS for BGP prefix aggregation - several peers send me their prefixes, I aggregate them and send the result to the system. But there is an obvious issue - when peers send me the same prefix, BGP selects the best one and sends only that one. In this case, if prefixes had different communities, the result loses all but one. For example: peer 1: 1.1.1.1/32 1:100 peer 2: 1.1.1.1/32 2:200 peer 3: 1.1.1.1/32 3:300 If the last one was chosen, the result is 1.1.1.1/32 3:300 If there is any way to collect all communities and attach them to the chosen prefix (like this: 1.1.1.1/32 1:100,2:200,3:300), would anyone please tell me how to do that? Thank you, Valery
On Mon, Jun 06, 2022 at 04:20:19AM -0700, Valery Lutoshkin wrote:
Hi all!
I use bird2 (2.0.9) as RS for BGP prefix aggregation - several peers send me their prefixes, I aggregate them and send the result to the system.
But there is an obvious issue - when peers send me the same prefix, BGP selects the best one and sends only that one. In this case, if prefixes had different communities, the result loses all but one. ... If there is any way to collect all communities and attach them to the chosen prefix (like this: 1.1.1.1/32 1:100,2:200,3:300), would anyone please tell me how to do that?
Hi No, that is not possible. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Hello Valery, On Mon, 6 Jun 2022 at 13:20, Valery Lutoshkin <vpluto@gmail.com> wrote:
For example: peer 1: 1.1.1.1/32 1:100 peer 2: 1.1.1.1/32 2:200 peer 3: 1.1.1.1/32 3:300
If the last one was chosen, the result is 1.1.1.1/32 3:300
If there is any way to collect all communities and attach them to the chosen prefix (like this: 1.1.1.1/32 1:100,2:200,3:300), would anyone please tell me how to do that?
What is your use case for this "somewhat odd" request?
Hello Chriztoffer, On Mon, 6 Jun 2022 at 13:20, Valery Lutoshkin <vpluto@gmail.com> wrote:
For example: peer 1: 1.1.1.1/32 1:100 peer 2: 1.1.1.1/32 2:200 peer 3: 1.1.1.1/32 3:300
If the last one was chosen, the result is 1.1.1.1/32 3:300
If there is any way to collect all communities and attach them to the chosen prefix (like this: 1.1.1.1/32 1:100,2:200,3:300), would anyone please tell me how to do that?
What is your use case for this "somewhat odd" request? In some cases my users want to use the prefixes from one or two sources only. So they use route-maps to filter by community. In my example, if the user wanted to get the prefixes from the peer 1 and filtered to accept 1:100 only, he loses the prefix 1.1.1.1/32.
Hello! On 6/7/22 7:54 PM, Valery Lutoshkin wrote:
Hello Chriztoffer,
On Mon, 6 Jun 2022 at 13:20, Valery Lutoshkin <vpluto@gmail.com <mailto:vpluto@gmail.com>> wrote:
For example: peer 1: 1.1.1.1/32 <http://1.1.1.1/32> 1:100 peer 2: 1.1.1.1/32 <http://1.1.1.1/32> 2:200 peer 3: 1.1.1.1/32 <http://1.1.1.1/32> 3:300
If the last one was chosen, the result is 1.1.1.1/32 <http://1.1.1.1/32> 3:300
If there is any way to collect all communities and attach them to the chosen prefix (like this: 1.1.1.1/32 <http://1.1.1.1/32> 1:100,2:200,3:300), would anyone please tell me how to do that?
What is your use case for this "somewhat odd" request?
In some cases my users want to use the prefixes from one or two sources only. So they use route-maps to filter by community. In my example, if the user wanted to get the prefixes from the peer 1 and filtered to accept 1:100 only, he loses the prefix 1.1.1.1/32 <http://1.1.1.1/32>.
What about the BGP AddPath feature which allows for sending more than one route for the same prefix? Maria
Hello Maria,
On Mon, 6 Jun 2022 at 13:20, Valery Lutoshkin <vpluto@gmail.com <mailto:vpluto@gmail.com>> wrote:
For example: peer 1: 1.1.1.1/32 <http://1.1.1.1/32> 1:100 peer 2: 1.1.1.1/32 <http://1.1.1.1/32> 2:200 peer 3: 1.1.1.1/32 <http://1.1.1.1/32> 3:300
If the last one was chosen, the result is 1.1.1.1/32 <http://1.1.1.1/32>
3:300
If there is any way to collect all communities and attach them to the
chosen prefix (like this: 1.1.1.1/32 <http://1.1.1.1/32> 1:100,2:200,3:300), would anyone please tell me how to do that?
What is your use case for this "somewhat odd" request?
In some cases my users want to use the prefixes from one or two sources only. So they use route-maps to filter by community. In my example, if the user wanted to get the prefixes from the peer 1 and filtered to accept 1:100 only, he loses the prefix 1.1.1.1/32 <http://1.1.1.1/32>.
What about the BGP AddPath feature which allows for sending more than one route for the same prefix? That’s a great idea, thank you. I think in my case there is an issue - the users should support RFC7911 for this feature and most of them (mikrotik ROS6) don't. So it looks like the only way to fix this is to change the design of the project.
participants (4)
-
Chriztoffer Hansen -
Maria Matejka -
Ondrej Zajicek -
Valery Lutoshkin