Configuring Extended Community Lists
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 terminal
switch(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