RFC 7902 PROPOSED STANDARD BGP · MULTICAST · IANA

PMSI Tunnel Flags: Registry and Extensions for P-Multicast Service Interface Tunnel Attribute Flags

Creates an IANA registry for the PMSI Tunnel attribute flag bits and adds an extended community for more flags.

On rfc-editor.org ↗
PUBLISHED
June 2016
AUTHORS
E. Rosen, T. Morin
STREAM
IETF
BUILDS ON
RFC 6514 — MVPN BGP Encodings
FLAGS FIELD SIZE
1 octet (8 bits)
EXTENDED COMMUNITY VALUE FIELD
6 octets (48 flag bits)
EXTENSION FLAG
Bit 1
LEAF INFORMATION REQUIRED FLAG
Bit 7
SUB-TYPE CODEPOINT
0x07
REGISTRATION POLICY
Standards Action
DOI
10.17487/RFC7902

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                          E. Rosen
Request for Comments: 7902                        Juniper Networks, Inc.
Updates: 6514                                                   T. Morin
Category: Standards Track                                         Orange
ISSN: 2070-1721                                                June 2016


                      Registry and Extensions for
          P-Multicast Service Interface Tunnel Attribute Flags

Abstract

   The BGP-based control procedures for Multicast Virtual Private
   Networks (MVPNs) make use of a BGP attribute known as the
   "P-Multicast Service Interface (PMSI) Tunnel" attribute.  The
   attribute contains a one-octet "Flags" field.  The purpose of this
   document is to establish an IANA registry for the assignment of the
   bits in this field.  Since the "Flags" field contains only eight
   bits, this document also defines a new BGP Extended Community,
   "Additional PMSI Tunnel Attribute Flags", that can be used to carry
   additional flags for the "P-Multicast Service Interface (PMSI)
   Tunnel" attribute.  This document updates RFC 6514.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7902.

Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Extending the "PMSI Tunnel" Attribute "Flags" Field . . . . .   3
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   5.  Normative References  . . . . . . . . . . . . . . . . . . . .   6
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   A BGP attribute, "P-Multicast Service Interface (PMSI) Tunnel"
   attribute is defined in [RFC6514].  This attribute, referred to as
   the "PMSI Tunnel" attribute in this document, contains a one-octet
   "Flags" field.  Only one flag is defined in that RFC, but there is
   now a need to define additional flags.  However, that RFC did not
   create an IANA registry for the assignment of bits in the "Flags"
   field.  This document creates a registry for that purpose.  In
   addition, there may be a need to define more than eight flags.
   Therefore this document defines a new BGP Extended Community,
   "Additional PMSI Tunnel Attribute Flags", that can be used to carry
   additional flags for the "PMSI Tunnel" attribute.  A registry is also
   created for this Extended Community, allowing IANA to assign flag
   bits from the Extended Community's six-octet value field.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2.  Extending the "PMSI Tunnel" Attribute "Flags" Field

   In [RFC6514], only a single octet in the "PMSI Tunnel" attribute is
   defined to carry bit flags.  This allows eight flags, which is
   unlikely to be sufficient for all future applications.

   This document defines a new Transitive Opaque Extended Community
   ([RFC4360] [RFC7153]), "Additional PMSI Tunnel Attribute Flags".  It
   also defines a new bit flag in the "PMSI Tunnel" attribute "Flags"
   field, called the "Extension" flag.

   The "Additional PMSI Tunnel Attribute Flags" Extended Community MUST
   NOT be carried by a given BGP UPDATE message unless the following
   conditions both hold:

   o  the given BGP UPDATE message is also carrying a "PMSI Tunnel"
      attribute, and

   o  the "Extension" flag of that "PMSI Tunnel" attribute's "Flags"
      field is set.

   The six-octet value field of the "Additional PMSI Tunnel Attribute
   Flags" Extended Community is considered to be a string of 48 one-bit
   flags.  As shown in Figure 1, the leftmost bit (the most significant
   bit of the most significant octet) is bit 0, and the rightmost bit
   (the least significant bit of the least significant octet) is bit 47.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               |               |               |               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      3               4
      2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               |               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Figure 1: Value Field of the "Additional PMSI
                Tunnel Attribute Flags" Extended Community

   A BGP speaker MUST NOT attach more than one "Additional PMSI Tunnel
   Attribute Flags" Extended Community to a given BGP UPDATE.  If a
   given BGP UPDATE already contains an "Additional PMSI Tunnel
   Attribute Flags" Extended Community, a BGP speaker MUST NOT attach
   any additional such Extended Communities.

   If a BGP speaker receives a BGP UPDATE with more than one "Additional
   PMSI Tunnel Attribute Flags" Extended Communities attached, only the
   flag settings in first occurrence of the Extended Community are
   significant.  Flag settings in subsequent occurrences of the Extended
   Community MUST be ignored.  When propagating the UPDATE, all
   instances of the Extended Community other than the first SHOULD be
   removed.

   Suppose a BGP speaker receives an UPDATE message that contains a
   "PMSI Tunnel" attribute, but does not contain an "Additional PMSI
   Tunnel Attribute Flags" Extended Community.  If the "Extension" flag
   of the "PMSI Tunnel" attribute is set, the UPDATE is considered to be
   malformed, and the "treat-as-withdraw" procedure of [RFC7606] MUST be
   applied.

   If a BGP speaker receives an UPDATE message that contains one or more
   "Additional PMSI Tunnel Attribute Flags" Extended Communities, but
   either (a) that UPDATE message does not contain a "PMSI Tunnel"
   attribute, or (b) the "Extension" flag of the "PMSI Tunnel" attribute
   is not set, then the Extended Community(ies) SHOULD be removed and
   SHOULD NOT be redistributed.  The BGP UPDATE message MUST be
   processed (and if necessary, redistributed) as if the Extended
   Community(ies) had not been present.

   A BGP speaker that supports the current document, but does not
   recognize a particular flag (either in the" PMSI Tunnel" attribute
   "Flags" field or in the "Additional PMSI Tunnel Attribute Flags"
   Extended Community) MUST simply ignore that flag.  If the BGP speaker
   propagates either the "PMSI Tunnel" attribute, the "Additional PMSI
   Tunnel Attribute Flags" Extended Community, or both along with the
   UPDATE message, it SHOULD leave the setting of the flag unchanged.

   It is possible that a particular application will require all members
   of a particular set of BGP speakers to support a particular flag.
   How it is determined whether all such BGP speakers support that flag
   is outside the scope of this document.

   In some situations, a BGP speaker may need to modify or replace the
   "PMSI Tunnel" attribute before propagating an UPDATE.  If the
   "Extension" flag of the "PMSI Tunnel" attribute was set before the
   attribute is modified or replaced, but that flag is no longer set
   after the attribute is modified or replaced, any "Additional PMSI
   Tunnel Attribute Flags" Extended Communities MUST be removed before
   the UPDATE is propagated.  If the "PMSI Tunnel" attribute is removed
   entirely before an UPDATE is propagated, the "Additional PMSI Tunnel
   Attribute Flags" Extended Communities (if any) MUST also be removed.

3.  IANA Considerations

   IANA has created a new registry called "P-Multicast Service Interface
   (PMSI) Tunnel Attribute Flags" in the "Border Gateway Protocol (BGP)
   Parameters" registry.

   Per Section 5 of [RFC6514], a "PMSI Tunnel" attribute contains a
   "Flags" octet.  The "Flags" field is a single octet, with bits
   numbered, left-to-right, from 0 to 7.  IANA has initialized the
   registry as follows:

       Bit Position      Description                      Reference
       (left to right)
            0            unassigned
            1            Extension                        This document
            2            unassigned
            3            unassigned
            4            unassigned
            5            unassigned
            6            unassigned
            7            Leaf Information Required (L)    RFC 6514

                       "PMSI Tunnel" Attribute Flags

   The registration procedure for this registry is Standards Action.

   IANA has also assigned the codepoint 0x07 from the "First Come, First
   Served" range of the "Transitive Opaque Extended Community Sub-Types"
   registry for "Additional PMSI Tunnel Attribute Flags".

   IANA has established a registry for the bit flags carried in the
   "Additional PMSI Tunnel Attribute Flags" Extended Community.  The
   bits are numbered 0-47, with 0 being the most significant bit and 47
   being the least significant bit.  The registration policy for this
   registry is "Standards Action".

   The initial registry should be as follows:

                   Bit Flag          Name          Reference

                    0-47            Unassigned

                 Additional "PMSI Tunnel" Attribute Flags

4.  Security Considerations

   This document establishes an IANA registry, and defines a new
   Transitive Opaque Extended Community ([RFC4360], [RFC7153]).

   Establishment of an IANA registry does not raise any security
   considerations.

   While this document defines a new Extended Community for carrying bit
   flags, it does not define any of the bit flags in that Extended
   Community.  Therefore, no security considerations are raised.

   This document defines a new flag, the "Extension" flag, in the "PMSI
   Tunnel" attribute.  If a particular UPDATE contains a "PMSI Tunnel"
   attribute with this flag set, but the UPDATE does not contain an
   "Additional PMSI Tunnel Attribute Flags" Extended Community, then the
   UPDATE is considered to be malformed, and the "treat-as-withdraw"
   procedure of [RFC7606] is invoked.  Thus, one can cause an UPDATE to
   be treated as a withdrawal by incorrectly setting this bit.

5.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC4360]  Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
              Communities Attribute", RFC 4360, DOI 10.17487/RFC4360,
              February 2006, <http://www.rfc-editor.org/info/rfc4360>.

   [RFC6514]  Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
              Encodings and Procedures for Multicast in MPLS/BGP IP
              VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
              <http://www.rfc-editor.org/info/rfc6514>.

   [RFC7153]  Rosen, E. and Y. Rekhter, "IANA Registries for BGP
              Extended Communities", RFC 7153, DOI 10.17487/RFC7153,
              March 2014, <http://www.rfc-editor.org/info/rfc7153>.

   [RFC7606]  Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
              Patel, "Revised Error Handling for BGP UPDATE Messages",
              RFC 7606, DOI 10.17487/RFC7606, August 2015,
              <http://www.rfc-editor.org/info/rfc7606>.

Acknowledgments

   The authors wish to thank Martin Vigoureux for his review of this
   document.  We also thank Christian Huitema and Alexey Melnikov for
   their review and comments.

Authors' Addresses

   Eric C. Rosen
   Juniper Networks, Inc.
   10 Technology Park Drive
   Westford, Massachusetts  01886
   United States

   Email: erosen@juniper.net


   Thomas Morin
   Orange
   2, avenue Pierre-Marzin
   22307 Lannion Cedex
   France

   Email: thomas.morin@orange.com

AI ELI5

On this page
PROBLEMThe BGP PMSI Tunnel attribute has a one-octet Flags field with only eight bits, and RFC 6514 created no registry for assigning them even though more flags are now needed.
MECHANISMThe RFC creates an IANA registry for the eight bits, defines an Extension flag, and defines the Additional PMSI Tunnel Attribute Flags Extended Community, which carries 48 more flag bits.
WHY IT MATTERSFuture flags can be assigned by Standards Action, with room for far more than eight. The RFC updates RFC 6514.

§1Introduction

RFC 6514 defines a BGP attribute called the P-Multicast Service Interface (PMSI) Tunnel attribute, used by the BGP control procedures for Multicast VPNs. It contains a one-octet Flags field. Only one flag is defined in RFC 6514, there is now a need for more, and that RFC created no IANA registry for assigning the bits.

This document creates that registry. Because more than eight flags may be needed, it also defines a new BGP Extended Community, Additional PMSI Tunnel Attribute Flags, with its own registry whose flag bits come from the community's six-octet value field.

There are only eight switches and no list saying what they mean. This document starts the list and adds a second set of switches.

§2Extending the Flags Field

The new community is a Transitive Opaque Extended Community. A new bit flag in the PMSI Tunnel attribute Flags field, called the Extension flag, says that the community should be present. The community MUST NOT be carried by a BGP UPDATE unless that UPDATE also carries a PMSI Tunnel attribute whose Extension flag is set.

The six-octet value field is treated as 48 one-bit flags. Bit 0 is the most significant bit of the most significant octet, and bit 47 is the least significant bit of the least significant octet.

One switch on the first label says to look at the second label for more switches. The second label has 48 of them.

§3Processing Rules for BGP Speakers

The RFC gives rules for how a BGP speaker handles the community.

  • A speaker MUST NOT attach more than one such community to an UPDATE, nor attach another if one is already there.
  • If it receives more than one, only the first occurrence counts, later ones MUST be ignored, and when propagating the UPDATE the extra ones SHOULD be removed.
  • If an UPDATE has a PMSI Tunnel attribute with the Extension flag set but no such community, the UPDATE is malformed and the treat-as-withdraw procedure of RFC 7606 MUST be applied.
  • If the community arrives without a PMSI Tunnel attribute, or with the Extension flag not set, the community SHOULD be removed and SHOULD NOT be redistributed, and the UPDATE is processed as if it were absent.
  • A speaker MUST ignore any flag it does not recognize, and if it propagates the attribute or community it SHOULD leave that flag unchanged.
  • If a speaker modifies or replaces the PMSI Tunnel attribute so the Extension flag is no longer set, or removes the attribute entirely, it MUST remove any such communities before propagating.

How to determine whether all speakers in a set support a particular flag is outside the scope.

The second label only counts if the first one says so, and only the first copy counts. Switches you do not understand are left alone and passed along unchanged.

§4IANA Registries

IANA created a registry named "P-Multicast Service Interface (PMSI) Tunnel Attribute Flags" in the "Border Gateway Protocol (BGP) Parameters" registry. Bits are numbered left to right from 0 to 7. Bit 1 is Extension (assigned by this document), bit 7 is Leaf Information Required (L) from RFC 6514, and the other bits are unassigned. The registration procedure is Standards Action.

IANA also assigned codepoint 0x07 from the First Come, First Served range of the "Transitive Opaque Extended Community Sub-Types" registry for the new community. A second registry covers its flag bits 0 to 47, all unassigned initially, also under Standards Action.

A librarian now keeps two lists of what each switch means. Right now only two switches on the first list have a job.

INITIAL PMSI TUNNEL ATTRIBUTE FLAGS REGISTRY (RFC 7902)
  • 0unassigned — Not yet assigned.
  • 1Extension — Indicates the Additional PMSI Tunnel Attribute Flags community is present.
  • 2-6unassigned — Not yet assigned.
  • 7Leaf Information Required (L) — Defined in RFC 6514.

§5Security Considerations

Creating a registry raises no security considerations, and the new community defines no flags of its own, so none are raised there either. The one point the RFC notes concerns the Extension flag. If an UPDATE sets it without the community, the UPDATE is treated as a withdrawal, so incorrectly setting the bit can cause an UPDATE to be treated as a withdrawal.

If someone flips the switch by mistake without adding the second label, the whole message is thrown away.

§6References