Implementations:
| Core Functionality | section | Cisco IOS-XR | Juniper | Arrcus | FRRouting | BIRD | Notes |
|---|---|---|---|---|---|---|---|
| Extended Community | 2 | Yes | Yes | Yes | Yes | ||
| Extended Community I bit | 2 | TBD | Yes[1] | No | Yes[1] | unknown who implemented | |
| Extended Community T bit | 2 | Yes | Yes | Yes | Yes | ||
| Two-Octet AS-Specific Extended Community | 3.1 | Yes | Yes | Yes | Yes | ||
| IPv4-Address-Specific Extended Community | 3.2 | Yes | Yes | Yes | Yes | ||
| Opaque Extended Community | 3.3 | Yes | Yes | Yes | Partial | ||
| Route Target Extended Community | 4 | Yes | Yes | Yes | Yes | ||
| Route Target Extended Community high-order octet 0x00 | 4 | Yes | Yes | Yes | Yes | ||
| Route Target Extended Community high-order octet 0x01 | 4 | Yes | Yes | Yes | Yes | ||
| Route Target Extended Community high-order octet 0x02 (note - RFC 5668) | 4 | Yes | Yes | Yes | Yes | ||
| Route Origin Community high-order octet = 0x00 | 5 | Yes | Yes | Yes | Yes | ||
| Route Origin Community high-order octet = 0x01 | 5 | Yes | Yes | Yes | Yes | ||
| Route Origin Community high-order octet = 0x02 (note - RFC 5668) | 5 | Yes | Yes | Yes | Yes | ||
| operations | 6 | - | - | - | - | ||
| Operations: MUST NOT be used to modify best path selection that leads to forwarding loops | 6 | Yes | Yes | Yes | Partial[5] | ||
| Operations: MAY append to route without Ext. Community attribute | 6 | Yes | Yes | Yes | Yes | ||
| Operations: May modify according to local policy | 6 | Yes | Yes | Yes | Yes | ||
| Operations: Aggregated path contains union of Ext. Communities | 6 | Yes[3] | No[2] | Yes[3] | Partial[6] | ||
| Operations: Carries both BGP Communities and BGP Ext. Communities | 6 | Yes | Yes | Yes | Yes | ||
| Operations: Non-Transitive Ext. Communities removed at AS boundary | 6 | Yes[7] | Yes | Yes[4] | Yes | ||
| Operations: Non-Transitive Ext. Communities not removed within BGP AS Confederation | 6 | Yes | Yes | Yes | Yes | ||
| Error handling per RFC7606 | 7 | Yes | Yes | Yes | Yes |
[1] - RFC 4360, et seq., are silent about how to display extended communities that aren't either registered, or that the implementation is ignorant of. JUNOS makes a best effort guess to provide some level of formatting for unknown communities, including ones with the IANA bit set. The same applies for BIRD.
[2] - JUNOS does not provide an option to aggregate communities of any form when following BGP aggregation procedures. This is to prevent the aggregate route's properties, including communities, from churning in the presence of churn of contributors to the aggregate route.
[3] - FRRouting aggregates extended communities for AS-SETs only. Cisco IOS-XR too.
[4] - FRRouting filters extended communities accross the AS bounaries, but it's relaxed for OAD peerings. See https://datatracker.ietf.org/doc/html/draft-uttaro-idr-bgp-oad.
[5] - BIRD filtering language is nearly Turing-complete. While there is no explicit feature directly allowing users to make forwarding loops, it's technically possible to e.g. set local preference based on communities or other route attributes, and we have no good means of barring users from doing that.
[6] - BIRD rudimentary aggregator feature allows the users to do whatever they want with the attributes; everything has to be explicitly configured, though
[7] - Cisco IOS-XR: can be changed by local config on sending and receiving side for non-transitive link-bandwidth EC