Skip to main content

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)

NameTypeConstraintMandatoryDefault Value
extended_community_listsList[extended_community_lists]No

extended_community_lists (vxlan.overlay_extensions.route_control)

NameTypeConstraintMandatoryDefault Value
nameStringRegex: ^[A-Za-z0-9-_]{1,63}$Yes
entriesList[entries]Yes

entries (vxlan.overlay_extensions.route_control.extended_community_lists)

NameTypeConstraintMandatoryDefault Value
seq_numberIntegermin: 1, max: 4294967294Yes
operationChoicepermit, denyYes
communitiesClass[communities]No

communities (vxlan.overlay_extensions.route_control.extended_community_lists.entries)

NameTypeConstraintMandatoryDefault Value
4byteas_genericList[4byteas_generic]No
rmacListAny[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
rtListAny[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
sooListAny[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)

NameTypeConstraintMandatoryDefault Value
transitiveBooleantrue, falseYes
extended_community_number_listStringRegex: ^([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