4 bytes community value in BGP


Hi Cumulus Community,

I am recently testing BGP on Cumulus Linux before deploying it to a production network. We are running 4 bytes AS number. There is a problem with outbound community AA:NN format. Below is the command I used and result it displays.

=======Configuration=======
cumulus(config)# route-map EXPORT-CUMULUS permit 10
cumulus(config-route-map)# set community 111213:777 additive
cumulus(config-route-map)#

======Running Config=======
route-map EXPORT-CUMULUS permit 10
set community 45677:777 additive

=======Result on its neighbor=======
Cumulus# sh ip bgp community-info
Address Refcnt Community
[0x7f6a70292970] (8) 45677:777

It looks like automatically changed the value or does not support 4 bytes value.

Any advice/comment/solution you may have/suggest would be very appreciate.

Thanks
Seyma

5 replies

Hi Seyma,
BGP communities are a 4-byte value so in the x:y notation both x and y represent 2 bytes. So the largest x or y can be is 65535 but in the config above x is 111213. We need to add some bounds checking here (I will file a bug) but in a nutshell that is what is happening above.

Daniel

Filed CM-10002 to add some bounds checking to the parser in quagga
Hi Daniel,

Thanks and appreciate for your reply. I am looking forward for further update you may have.

Thanks
Seyma
Hi Seyma,
I have resolved CM-10002, this fix will be available in our 3.0 release.

cheers
Daniel

Hi Daniel,

Thanks and really appreciate your effort on this. I will test it again 🙂

Regards,
Seyma

Reply