Extended Community Lists
sidebar_position: 10
You can use extended community lists to filter BGP routes based on the community attribute. The community number consists of a 6-byte value in the aa4:nn format. The first four bytes represent the autonomous system number, and the last two bytes represent a user-defined network number.
When you configure multiple values in the same extended community list statement, all extended community values must match to satisfy the extended community list filter. When you configure multiple values in separate extended community list statements, the first list that matches a condition is processed.
Use extended community lists in a match statement to filter BGP routes based on the extended community attribute.
- Transitive—BGP propagates the community attributes across autonomous systems.
- Nontransitive—BGP removes community attributes before propagating the route to another autonomous system.
Diagram
Classes
route_control (vxlan.overlay_extensions)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
extended_community_lists | List | [extended_community_lists] | No |
extended_community_lists (vxlan.overlay_extensions.route_control)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
name | String | Regex: ^[A-Za-z0-9-_]{1,63}$ | Yes | |
entries | List | [entries] | Yes |
entries (vxlan.overlay_extensions.route_control.extended_community_lists)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
seq_number | Integer | min: 1 , max: 4294967294 | Yes | |
operation | Choice | permit , deny | Yes | |
communities | Class | [communities] | No |
communities (vxlan.overlay_extensions.route_control.extended_community_lists.entries)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
4byteas_generic | List | [4byteas_generic] | No | |
rmac | List | Any[String[Regex: ^[a-f0-9]{4}.[a-f0-9]{4}.[a-f0-9]{4}$ ] or String[Regex: ^[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}:[a-f0-9]{2}$ ] or String[Regex: ^[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}-[a-f0-9]{2}$ ]] | No | |
rt | List | Any[String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$ ] or String[Regex: ^((?!0)[0-9]{1,11}.[0-9]{1,5})$ ] or String[Regex: ^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?){4}$ ]] | No | |
soo | List | Any[String[Regex: ^((?!0)[0-9]{1,5}.[0-9]{1,5})$ ] or String[Regex: ^((?!0)[0-9]{1,11}.[0-9]{1,5})$ ] or String[Regex: ^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?){4}$ ]] | No |
4byteas_generic (vxlan.overlay_extensions.route_control.extended_community_lists.entries.communities)
Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
transitive | Boolean | true , false | Yes | |
extended_community_number_list | String | Regex: ^([0-9]{1,5}:[0-9]{1,5})$ | Yes |
Examples
Example-1
The following example creates and configures a named: extcomm_list-test
extended community list that will permit routes only from AS-4byte 65535:40
transitive
AND AS-4byte 65535:60
transitive
switch# configure terminalswitch(config)# ip extcommunity-list standard extcomm_list-test seq 10 permit 4byteas-generic transitive 65535:40 4byteas-generic transitive 65535:60
---vxlan: overlay_extensions: route_control: extended_community_lists: - name: extcomm_list-test entries: - seq_number: 10 operation: permit communities: 4byteas_generic: - transitive: true extended_community_number_list: 65535:40 - transitive: true extended_community_number_list: 65535:60 groups: - name: ExtCommunity_RCtrlGrp extended_community_lists: - name: extcomm_list-test switches: - name: netascode-leaf1 groups: - ExtCommunity_RCtrlGrp
Example-2
The following example creates and configures a named: commext
extended community list that will permit routes only from AS-4byte 65535:20
AND route target (rt) 2:2
AND with site of origin (soo) 3:3
AND will implicitly deny all other routes:
ip extcommunity-list standard commext seq 10 permit 4byteas-generic transitive 65535:20 rt 2:2 soo 3:3
---vxlan: overlay_extensions: route_control: extended_community_lists: - name: commext entries: - seq_number: 10 operation: permit communities: 4byteas_generic: - transitive: true extended_community_number_list: 65535:20 rt: - 2:2 soo: - 3:3 groups: - name: ExtCommunity_RCtrlGrp extended_community_lists: - name: commext switches: - name: netascode-leaf1 groups: - ExtCommunity_RCtrlGrp