BGP Extended Communities Attribute
RFC 4360

Document Type RFC - Proposed Standard (February 2006; Errata)
Updated by RFC 7153, RFC 7606
Authors Dan Tappan  , Srihari Sangli  , Yakov Rekhter 
Last updated 2020-01-21
Stream IETF
Formats plain text html pdf htmlized with errata bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 4360 (Proposed Standard)
Action Holders
Consensus Boilerplate Unknown
Telechat date
Responsible AD Bill Fenner
Send notices to (None)
Network Working Group                                          S. Sangli
Request for Comments: 4360                                     D. Tappan
Category: Standards Track                                  Cisco Systems
                                                              Y. Rekhter
                                                        Juniper Networks
                                                           February 2006

                   BGP Extended Communities Attribute

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).


   This document describes the "extended community" BGP-4 attribute.
   This attribute provides a mechanism for labeling information carried
   in BGP-4.  These labels can be used to control the distribution of
   this information, or for other applications.

1.  Introduction

   The Extended Community Attribute provides a mechanism for labeling
   information carried in BGP-4 [BGP-4].  It provides two important
   enhancements over the existing BGP Community Attribute [RFC1997]:

      - An extended range, ensuring that communities can be assigned for
        a plethora of uses, without fear of overlap.

      - The addition of a Type field provides structure for the
        community space.

   The addition of structure allows the usage of policy based on the
   application for which the community value will be used.  For example,
   one can filter out all communities of a particular type, or allow
   only certain values for a particular type of community.  It also
   allows one to specify whether a particular community is transitive or
   non-transitive across an Autonomous System (AS) boundary.  Without
   structure, this can only be accomplished by explicitly enumerating

Sangli, et al.              Standards Track                     [Page 1]
RFC 4360           BGP Extended Communities Attribute      February 2006

   all community values that will be denied or allowed and passed to BGP
   speakers in neighboring ASes based on the transitive property.

1.1.  Specification of Requirements

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  BGP Extended Communities Attribute

   The Extended Communities Attribute is a transitive optional BGP
   attribute, with the Type Code 16.  The attribute consists of a set of
   "extended communities".  All routes with the Extended Communities
   attribute belong to the communities listed in the attribute.

   Each Extended Community is encoded as an 8-octet quantity, as

      - Type Field  : 1 or 2 octets
      - Value Field : Remaining octets

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      |  Type high    |  Type low(*)  |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+          Value                |
      |                                                               |

      (*) Present for Extended types only, used for the Value field

      Type Field:

         Two classes of Type Field are introduced: Regular type and
         Extended type.

         The size of Type Field for Regular types is 1 octet, and the
         size of the Type Field for Extended types is 2 octets.

         The value of the high-order octet of the Type Field determines
         if an extended community is a Regular type or an Extended type.
         The class of a type (Regular or Extended) is not encoded in the
         structure of the type itself.  The class of a type is specified
         in the document that defines the type and the IANA registry.

Sangli, et al.              Standards Track                     [Page 2]
RFC 4360           BGP Extended Communities Attribute      February 2006

         The high-order octet of the Type Field is as shown below:

             0 1 2 3 4 5 6 7
            |I|T|           |

            I - IANA authority bit

               Value 0: IANA-assignable type using the "First Come First
               Serve" policy

               Value 1: Part of this Type Field space is for IANA
               assignable types using either the Standard Action or the
               Early IANA Allocation policy.  The rest of this Type
Show full document text