32bit BGP community

Hello!

I’m wondering:

[boris@MikroTik] /routing filter> add chain=rm-bgp-local protocol="connect,static"
 action=passthrough set-bgp-local-pref=900 set-bgp-communities=198070:100         
invalid value for argument community:
    input does not match any value of special
    value of as out of range (0..65535)

This is CCR-1036-8G-2S+ with ROS 6.36. Is this impossible to use 32bit bgp communities? May I hope this will be fixed in 6.37?

Regards.
Boris

This is not a BUG. A community value is a 32-bit field that is divided into two main sections. The first 16 bits of the value encode the AS number of the network that originated the community, while the last 16 bits carry a unique number assigned by the AS. So obviously you cannot fit there 64-bit value.
https://tools.ietf.org/html/rfc1997

Yeah - the real problem is Mikrotik’s lack of support for RFC4360 (Extended BGP Communities)

99% of other vendors supports it, I guess we’ll wait for ROSv7 (oneday) before we’ll get this support from MT

Dear mrz!

I’m wondering how other vendors (Cisco, Juniper, Quagga, Bird and many many other) deal with it? ASN numbers long time ago are 4 bytes long.

Regards,
Boris

Dear Savage!

Yes, this is the real problem. Unfortunatelly I heard about magic of ROSv7 many times, but nobody can tell when it will be ready (just alpha, just alpha). But this feature is strongly needed, right now.

Regards,
Boris

Other vendors also do not allow you to set more than 32-bits in community field. Extended communities could be used, but currently in RouterOS there is no possibility to set them. They are used only for VPNV4.

BGP communities are also 4 bytes long. They always have been. However, the convention that a community is denoted as 2 16-bit
fields and that the first field is normally set to the origin AS is of course not possible when using 32-bit AS numbers and 32-bit communities.

This affects all router manufacturers the same way. Note that in examples of the usage of an AS number as part of a community value,
it always happens to be a 16-bit AS number.

LOL

Definitely, not true.

Cisco: http://www.cisco.com/c/en/us/td/docs/ios/12_2s/feature/guide/fsnextcl.html
Juniper: http://www.juniper.net/documentation/en_US/junos15.1/topics/example/bgp-extended-communities.html
Brocade: http://www.brocade.com/content/html/en/configuration-guide/FI_08030_L3/GUID-04EF9CF1-CC39-45C9-AF6B-FBDBC7EC067C.html

Shall I get some more? Most vendors DOES support extended BGP communities.

So, for other vendors there is no difference for community to be "extended’ or “standard” from a view of regular user. When I use set community 198070:100 in Cisco, it just works. Ok, I understand - this is not bug, just a unimplemented feature. But from my point of view this mean - I can’t use ROS in real world with BGP. So, would You please tell me - may I hope RFC4360 will be implemented in near future or should I return device to the reseller, as it can not feed our needs?

Regards,
Boris

@pe1chl - please look at savage’s examples. If You need - I may show the real configuration example from one of our Cisco routers where ASN4 are used in BGP communities.

Regards,
Boris

After reading of RFC and docs first sorry to all: mrz and pe1chl. You are right, I can’t use ASN4 in regular community. Only extended community must be used.

With respect,
Boris

Read my post again, community attribute is not the same as extended community attribute.

@borisk

Yes, there are plans to add possibility to set extended communities in routing filters, but most likely it will happen only in ROS v7.

That is not really true. Note that I already wrote: the use of the AS number as the first number in a 16-bit:16-bit community value is just a convention.
It is convenient because it indicates the “owner” of that community value and avoids clashes with other users.
However, when you want to use communities internal to your network or between you and your ISP, you can agree on using another number
in that field. Especially when you filter those communities when the route info leaves the network where it is used.

I use BGP on a network where 32-bit AS numbers from private space are used, and we just use a convenient value for community before the :

@mrz, thank you for explanation.

With respect,
Boris

@pe1chl, you are right… I will use private ASNs for my communities.

With respect,
Boris