Skip to main content

BGP Link State Extensions for SRv6
draft-dawra-idr-bgpls-srv6-ext-05

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Gaurav Dawra , Clarence Filsfils , Ketan Talaulikar , Mach Chen , Daniel Bernier , Jim Uttaro , Bruno Decraene , Hani Elmalky
Last updated 2019-03-06 (Latest revision 2018-09-03)
Replaced by draft-ietf-idr-bgpls-srv6-ext, RFC 9514
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-dawra-idr-bgpls-srv6-ext-05
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            |          Length               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     SRv6 Endpoint Function    |      Flags    |   Algorithm   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Weight    |   Reserved    |  SID (16 octets) ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)             | Sub-TLVs (variable) . . .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 4: SRv6 End.X TLV Format

   Where:

      Type: 2 octet field with value TBD, see Section 8.

      Length: 2 octet field with the total length of the value portion
      of the TLV.

      Function Code: 2 octet field.  The Endpoint Function code point
      for this SRv6 SID as defined in
      [I-D.filsfils-spring-srv6-network-programming].

      Flags: 1 octet of flags with the following definition:

     0 1 2 3 4 5 6 7
    +-+-+-+-+-+-+-+-+
    |B|S|P|  Rsvd   |
    +-+-+-+-+-+-+-+-+

                 Figure 5: SRv6 End.X SID TLV Flags Format

      *  B-Flag: Backup Flag.  If set, the SID is eligible for
         protection (e.g. using IPFRR) as described in [RFC8355].

      *  S-Flag: Set Flag.  When set, the S-Flag indicates that the SID
         refers to a set of adjacencies (and therefore MAY be assigned
         to other adjacencies as well).

Dawra, et al.           Expires September 7, 2019               [Page 8]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

      *  P-Flag: Persistent Flag: When set, the P-Flag indicates that
         the SID is persistently allocated, i.e., the value remains
         consistent across router restart and/or interface flap.

      *  Rsvd bits: Reserved for future use and MUST be zero when
         originated and ignored when received.

      Algorithm: 1 octet field.  Algorithm associated with the SID.
      Algorithm values are defined in the IGP Algorithm Type registry.

      Weight: 1 octet field.  The value represents the weight of the SID
      for the purpose of load balancing.  The use of the weight is
      defined in [RFC8402].

      Reserved: 1 octet field that SHOULD be set to 0 and MUST be
      ignored on receipt.

      SID: 16 octet field.  This field encodes the advertised SRv6 SID
      as 128 bit value.

      Sub-TLVs : currently none defined.  Used to advertise sub-TLVs
      that provide additional attributes for the given SRv6 End.X SID.

4.2.  SRv6 LAN End.X SID TLV

   For a LAN interface, normally a node only announces its adjacency to
   the IS-IS pseudo-node (or the equivalent OSPF Designated Router).
   The SRv6 LAN End.X SID TLV allows a node to announce SRv6 SID
   corresponding to functions like END.X for its adjacencies to all
   other (i.e. non-DIS or non-DR) nodes attached to the LAN in a single
   instance of the BGP-LS Link NLRI.  Without this TLV, the
   corresponding BGP-LS link NLRI would need to be originated for each
   additional adjacency in order to advertise the SRv6 End.X SID TLVs
   for these neighbor adjacencies.

   The SRv6 LAN End.X SID TLV has the following format:

Dawra, et al.           Expires September 7, 2019               [Page 9]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

     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            |          Length               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     SRv6 Endpoint Function    |      Flags    |   Algorithm   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Weight    |   Reserved    |   ISIS System-ID (6 octets)   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
    | or OSPFv3 Router-ID (4 octets) of the neighbor                |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    SID (16 octets) ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)                                             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Sub-TLVs (variable) . . .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 6: SRv6 LAN End.X SID TLV Format

   Where:

   o  Type: 2 octet field with value TBD, see Section 8.

   o  Length: 2 octet field with the total length of the value portion
      of the TLV.

   o  Function Code: 2 octet field.  The Endpoint Function code point
      for this SRv6 SID as defined in
      [I-D.filsfils-spring-srv6-network-programming].

   o  Flags: 1 octet of flags with the following definition:

     0 1 2 3 4 5 6 7
    +-+-+-+-+-+-+-+-+
    |B|S|P|  Rsvd   |
    +-+-+-+-+-+-+-+-+

               Figure 7: SRv6 LAN End.X SID TLV Flags Format

      *  B-Flag: Backup Flag.  If set, the SID is eligible for
         protection (e.g. using IPFRR) as described in [RFC8355].

Dawra, et al.           Expires September 7, 2019              [Page 10]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

      *  S-Flag: Set Flag.  When set, the S-Flag indicates that the SID
         refers to a set of adjacencies (and therefore MAY be assigned
         to other adjacencies as well).

      *  P-Flag: Persistent Flag: When set, the P-Flag indicates that
         the SID is persistently allocated, i.e., the value remains
         consistent across router restart and/or interface flap.

      *  Rsvd bits: Reserved for future use and MUST be zero when
         originated and ignored when received.

   o  Algorithm: 1 octet field.  Algorithm associated with the SID.
      Algorithm values are defined in the IGP Algorithm Type registry.

   o  Weight: 1 octet field.  The value represents the weight of the SID
      for the purpose of load balancing.  The use of the weight is
      defined in [RFC8402].

   o  Reserved: 1 octet field that SHOULD be set to 0 and MUST be
      ignored on receipt.

   o  Neighbor ID : 6 octets of ISIS System ID of the neighbor when
      protocol is ISIS or 4 octets of OSPFv3 Router-id of the neighbor
      when protocol is OSPFv3.  The protocol is determined by the
      Protocol-ID field of the BGP-LS Link NLRI.

   o  SID: 16 octet field.  This field encodes the advertised SRv6 SID
      as 128 bit value.

   o  Sub-TLVs : currently none defined.  Used to advertise sub-TLVs
      that provide additional attributes for the given SRv6 LAN End.X
      SID.

4.3.  SRv6 Link MSD Types

   The Link MSD TLV [I-D.ietf-idr-bgp-ls-segment-routing-msd] of the
   BGP-LS Attribute of the Link NLRI is also used to advertise the
   limits and the supported Segment Routing Header (SRH) operations
   supported on the specific link by the SRv6 capable node.  The SRv6
   MSD Types specified in [I-D.bashandy-isis-srv6-extensions] are also
   used with the BGP-LS Link MSD TLV as these codepoints are shared
   between IS-IS, OSPF and BGP-LS protocols.  The description and
   semantics of these new MSD types for BGP-LS are identical as
   specified [I-D.bashandy-isis-srv6-extensions] and summarized in the
   table below:

Dawra, et al.           Expires September 7, 2019              [Page 11]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

     +----------+------------------------------+
     | MSD Type |    Description               |
     +----------+------------------------------+
     |   TBD    | Maximum Segments Left        |
     |   TBD    | Maximum End Pop              |
     |   TBD    | Maximum T.Insert             |
     |   TBD    | Maximum T.Encaps             |
     |   TBD    | Maximum End D                |
     +----------+------------------------------+

                       Figure 8: SRv6 Link MSD Types

   Each MSD type is encoded as a one octet type followed by a one octet
   value.

5.  SRv6 Prefix Attributes

   SRv6 attributes with an IPv6 prefix are advertised using the new BGP-
   LS Attribute TLVs defined in this section and associated with the
   BGP-LS Prefix NLRI.

5.1.  SRv6 Locator TLV

   As described in [I-D.filsfils-spring-srv6-network-programming], an
   SRv6 SID is 128 bits and represented as

   LOC:FUNCT

   where LOC (the locator portion) is the L most significant bits and
   FUNCT is the 128-L least significant bits.  L is called the locator
   length and is flexible.  A node is provisioned with one or more
   locators supported by that node.  Locators are covering prefixes for
   the set of SIDs provisioned on that node.  These Locators are
   advertised as BGP-LS Prefix NLRI objects along with the SRv6 Locator
   TLV in its BGP-LS Attribute.

   The IPv6 Prefix matching the Locator MAY be also advertised as a
   prefix reachability by the underlying routing protocol.  In this
   case, the Prefix NLRI would be also associated with the Prefix Metric
   TLV that carries the routing metric for this prefix.  When the
   Locator prefix is not being advertised as a prefix reachability, then
   the Prefix NLRI would have the SRv6 Locator TLV associated with it
   but no Prefix Metric TLV.  In the absence of Prefix Metric TLV, the
   consumer of the BGP-LS topology information MUST NOT interpret the
   Locator prefix as a prefix reachability routing advertisement.

   The SRv6 Locator TLV has the following format:

Dawra, et al.           Expires September 7, 2019              [Page 12]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

     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            |          Length               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |      Flags    |   Algorithm   |           Reserved            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                            Metric                             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Sub-TLVs (variable) . . .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 9: SRv6 Locator TLV Format

   Where:

      Type: 2 octet field with value TBD, see Section 8.

      Length: 2 octet field with the total length of the value portion
      of the TLV.

      Flags: 1 octet of flags with the following definition:

     0 1 2 3 4 5 6 7
    +-+-+-+-+-+-+-+-+
    |D|A| Reserved  |
    +-+-+-+-+-+-+-+-+

                 Figure 10: SRv6 Locator TLV Flags Format

      *  D-Flag: Indicates that the locator has been leaked into the IGP
         domain when set.  IS-IS operations for this are discussed in
         [I-D.bashandy-isis-srv6-extensions].

      *  A-Flag: When the Locator is associated with anycast
         destinations, the A flag SHOULD be set.  Otherwise, this bit
         MUST be clear.

      *  Reserved bits: Reserved for future use and MUST be zero when
         originated and ignored when received.

      Algorithm: 1 octet field.  Algorithm associated with the SID.
      Algorithm values are defined in the IGP Algorithm Type registry.

      Reserved: 2 octet field.  The value MUST be zero when originated
      and ignored when received.

Dawra, et al.           Expires September 7, 2019              [Page 13]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

      Metric: 4 octet field.  The value of the metric for the Locator.

      Sub-TLVs : currently none defined.  Used to advertise sub-TLVs
      that provide additional attributes for the given SRv6 Locator.

6.  SRv6 SID NLRI

   SRv6 SID information is advertised in BGP UPDATE messages using the
   MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760].  The "Link-
   State NLRI" defined in [RFC7752] is extended to carry the SRv6 SID
   information.

   A new "Link-State NLRI Type" is defined for SRv6 SID information as
   following:

   o  Link-State NLRI Type: SRv6 SID NLRI (value TBD see IANA
      Considerations Section 8.1).

   The format of this new NLRI type is as shown in the following figure:

     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
    +-+-+-+-+-+-+-+-+
    |  Protocol-ID  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        Identifier                             |
    |                        (64 bits)                              |
    ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
    |               Local Node Descriptors (variable)              //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |               SRv6 SID Descriptors (variable)                //
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 11: SRv6 SID NLRI Format

   Where:

   o  Protocol-ID: 1 octet field that specifies the protocol component
      through which BGP-LS learns the SRv6 SIDs of the node.  The
      following Protocol-IDs apply to the SRv6 SID NLRI:

Dawra, et al.           Expires September 7, 2019              [Page 14]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

    +-------------+----------------------------------+
    | Protocol-ID | NLRI information source protocol |
    +-------------+----------------------------------+
    |      1      | IS-IS Level 1                    |
    |      2      | IS-IS Level 2                    |
    |      4      | Direct                           |
    |      5      | Static configuration             |
    |      6      | OSPFv3                           |
    |      7      | BGP                              |
    +-------------+----------------------------------+

                 Figure 12: Protocol IDs for SRv6 SID NLRI

   o  Identifier: 8 octet value as defined in [RFC7752].

   o  Local Node Descriptors TLV: as defined in [RFC7752] for IGPs,
      local and static configuration and as defined in
      [I-D.ietf-idr-bgpls-segment-routing-epe] for BGP protocol.

   o  SRv6 SID Descriptors: MUST include the SRv6 SID Information TLV
      defined in Section 6.1 and optionally MAY include the Multi-
      Topology Identifier TLV as defined in [RFC7752].

   New TLVs carried in the BGP Link State Attribute defined in [RFC7752]
   are also defined in order to carry the attributes of a SRv6 SID in
   Section 7.

6.1.  SRv6 SID Information TLV

   A SRv6 SID is a 128 bit value
   [I-D.filsfils-spring-srv6-network-programming] and is encoded using
   the SRv6 SID Information TLV.

   The TLV has the following format:

Dawra, et al.           Expires September 7, 2019              [Page 15]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

     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            |          Length               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |    SID (16 octets) ...
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         SID (cont ...)                                             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 13: SRv6 SID Information TLV Format

   Where:

      Type: 2 octet field with value TBD, see Section 8.

      Length: 2 octet field with value set to 16.

      SID: 16 octet field.  This field encodes the advertised SRv6 SID
      as 128 bit value.

7.  SRv6 SID Attributes

   This section specifies the new TLVs to be carried in the BGP Link
   State Attribute associated with the BGP-LS SRv6 SID NLRI.

7.1.  SRv6 Endpoint Function TLV

   Each SRv6 SID instantiated in the "My SID Table" of an SRv6 capable
   node has a specific instruction bound to it.  A set of well-known
   functions that can be associated with a SID are defined in
   [I-D.filsfils-spring-srv6-network-programming].

   The SRv6 Endpoint Function TLV is a mandatory TLV that MUST be
   included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID
   NLRI.  The TLV has the following format:

Dawra, et al.           Expires September 7, 2019              [Page 16]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

     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            |          Length               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     SRv6 Endpoint Function    |      Flags    |   Algorithm   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 14: SRv6 Endpoint Function TLV

   Where:

      Type: 2 octet field with value TBD, see Section 8.

      Length: 2 octet field with the value 4.

      Function Code: 2 octet field.  The Endpoint Function code point
      for this SRv6 SID as defined in
      [I-D.filsfils-spring-srv6-network-programming].

      Flags: 1 octet of flags with the none defined currently.  Reserved
      for future use and MUST be zero when originated and ignored when
      received.

      Algorithm: 1 octet field.  Algorithm associated with the SID.
      Algorithm values are defined in the IGP Algorithm Type registry.

7.2.  SRv6 BGP Peer Node SID TLV

   The BGP Peer Node SID and Peer Set SID for SR with MPLS dataplane are
   specified in [I-D.ietf-idr-bgpls-segment-routing-epe].  The similar
   Peer Node and Peer Set SID functionality can be realized with SRv6
   using the END.X SRv6 SID.  The SRv6 BGP Peer Node SID TLV is an
   optional TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI
   corresponding to BGP protocol.  This TLV MUST be included along with
   SRv6 End.X SID that is associated with the BGP Peer Node or Peer Set
   functionality.

   The TLV has the following format:

Dawra, et al.           Expires September 7, 2019              [Page 17]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

     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            |          Length               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |      Flags    |     Weight    |          Reserved             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                      Peer AS Number                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                     Peer BGP Identifier                       |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Figure 15: SRv6 BGP Peer Node SID TLV Format

   Where:

   o  Type: 2 octet field with value TBD, see Section 8.

   o  Length: 2 octet field with the value 12.

   o  Flags: 1 octet of flags with the following definition:

     0 1 2 3 4 5 6 7
    +-+-+-+-+-+-+-+-+
    |B|S|P|  Rsvd   |
    +-+-+-+-+-+-+-+-+

            Figure 16: SRv6 BGP Peer End.X SID TLV Flags Format

      *  B-Flag: Backup Flag.  If set, the SID is eligible for
         protection (e.g. using IPFRR) as described in [RFC8355].

      *  S-Flag: Set Flag.  When set, the S-Flag indicates that the SID
         refers to a set of BGP peering sessions (i.e.  BGP Peer Set SID
         functionality) and therefore MAY be assigned to one or more
         End.X SIDs associated with BGP peer sessions.

      *  P-Flag: Persistent Flag: When set, the P-Flag indicates that
         the SID is persistently allocated, i.e., the value remains
         consistent across router restart and/or session flap.

      *  Rsvd bits: Reserved for future use and MUST be zero when
         originated and ignored when received.

Dawra, et al.           Expires September 7, 2019              [Page 18]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

   o  Weight: 1 octet field.  The value represents the weight of the SID
      for the purpose of load balancing.  The use of the weight is
      defined in [RFC8402].

   o  Peer AS Number : 4 octets of BGP AS number of the peer router.

   o  Peer BGP Identifier : 4 octets of the BGP Identifier (BGP Router-
      ID) of the peer router.

   For a SRv6 BGP EPE Peer Node SID, one instance of this TLV is
   associated with the SRv6 SID.  For SRv6 BGP EPE Peer Set SID,
   multiple instances of this TLV (one for each peer in the "peer set")
   are associated with the SRv6 SID and the S (set/group) flag is SET.

8.  IANA Considerations

   This document requests assigning code-points from the IANA "Border
   Gateway Protocol - Link State (BGP-LS) Parameters" registry as
   described in the sub-sections below.

8.1.  BGP-LS NLRI-Types

   The following codepoints is suggested (to be assigned by IANA) from
   within the sub-registry called "BGP-LS NLRI-Types":

    +------+----------------------------+---------------+
    | Type | NLRI Type                  |   Reference   |
    +------+----------------------------+---------------+
    |  6   | SRv6 SID                   | this document |
    +------+----------------------------+---------------+

                  Figure 17: SRv6 SID NLRI Type Codepoint

8.2.  BGP-LS TLVs

   The following TLV codepoints are suggested (to be assigned by IANA)
   from within the sub-registry called "BGP-LS Node Descriptor, Link
   Descriptor, Prefix Descriptor, and Attribute TLVs":

Dawra, et al.           Expires September 7, 2019              [Page 19]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

   +----------+----------------------------------------+---------------+
   | TLV Code |             Description                | Value defined |
   |  Point   |                                        |       in      |
   +----------+----------------------------------------+---------------+
   |   TBD    |   SRv6 Capabilities TLV                | this document |
   |   TBD    |   SRv6 End.X SID TLV                   | this document |
   |   TBD    |   SRv6 LAN End.X SID TLV               | this document |
   |   TBD    |   SRv6 Locator TLV                     | this document |
   |   TBD    |   SRv6 SID Information TLV             | this document |
   |   TBD    |   SRv6 Endpoint Function TLV           | this document |
   |   TBD    |   SRv6 BGP Peer Node SID TLV           | this document |
   +----------+----------------------------------------+---------------+

              Figure 18: SRv6 BGP-LS Attribute TLV Codepoints

9.  Manageability Considerations

   This section is structured as recommended in[RFC5706]

10.  Operational Considerations

10.1.  Operations

   Existing BGP and BGP-LS operational procedures apply.  No additional
   operation procedures are defined in this document.

11.  Security Considerations

   Procedures and protocol extensions defined in this document do not
   affect the BGP security model.  See the 'Security Considerations'
   section of [RFC4271] for a discussion of BGP security.  Also refer
   to[RFC4272] and [RFC6952] for analysis of security issues for BGP.

12.  Contributors

   Arjun Sreekantiah
   Individual
   US

   Les Ginsberg
   Cisco Systems
   US
   Email: ginsberg@cisco.com

   Shunwan Zhuang
   Huawei
   China
   Email: zhuangshunwan@huawei.com

Dawra, et al.           Expires September 7, 2019              [Page 20]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

13.  Acknowledgements

   The authors would like to thank Peter Psenak and Arun Babu for their
   review of this document and their comments.

14.  References

14.1.  Normative References

   [I-D.ali-spring-srv6-oam]
              Ali, Z., Filsfils, C., Kumar, N., Pignataro, C.,
              faiqbal@cisco.com, f., Gandhi, R., Leddy, J., Matsushima,
              S., Raszuk, R., daniel.voyer@bell.ca, d., Dawra, G.,
              Peirens, B., Chen, M., and G. Naik, "Operations,
              Administration, and Maintenance (OAM) in Segment Routing
              Networks with IPv6 Data plane (SRv6)", draft-ali-spring-
              srv6-oam-02 (work in progress), October 2018.

   [I-D.bashandy-isis-srv6-extensions]
              Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and
              Z. Hu, "IS-IS Extensions to Support Routing over IPv6
              Dataplane", draft-bashandy-isis-srv6-extensions-05 (work
              in progress), March 2019.

   [I-D.dawra-idr-srv6-vpn]
              Dawra, G., Filsfils, C., Dukes, D., Brissette, P.,
              Camarillo, P., Leddy, J., daniel.voyer@bell.ca, d.,
              daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R.,
              Decraene, B., Matsushima, S., and S. Zhuang, "BGP
              Signaling for SRv6 based Services.", draft-dawra-idr-
              srv6-vpn-05 (work in progress), October 2018.

   [I-D.filsfils-spring-srv6-network-programming]
              Filsfils, C., Camarillo, P., Leddy, J.,
              daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6
              Network Programming", draft-filsfils-spring-srv6-network-
              programming-07 (work in progress), February 2019.

   [I-D.ietf-6man-segment-routing-header]
              Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and
              d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header
              (SRH)", draft-ietf-6man-segment-routing-header-16 (work in
              progress), February 2019.

Dawra, et al.           Expires September 7, 2019              [Page 21]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

   [I-D.ietf-idr-bgp-ls-segment-routing-ext]
              Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H.,
              and M. Chen, "BGP Link-State extensions for Segment
              Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-11
              (work in progress), October 2018.

   [I-D.ietf-idr-bgp-ls-segment-routing-msd]
              Tantsura, J., Chunduri, U., Mirsky, G., Sivabalan, S., and
              N. Triantafillis, "Signaling MSD (Maximum SID Depth) using
              Border Gateway Protocol Link-State", draft-ietf-idr-bgp-
              ls-segment-routing-msd-04 (work in progress), February
              2019.

   [I-D.ietf-idr-bgpls-segment-routing-epe]
              Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray,
              S., and J. Dong, "BGP-LS extensions for Segment Routing
              BGP Egress Peer Engineering", draft-ietf-idr-bgpls-
              segment-routing-epe-17 (work in progress), October 2018.

   [I-D.li-ospf-ospfv3-srv6-extensions]
              Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak,
              "OSPFv3 Extensions for SRv6", draft-li-ospf-
              ospfv3-srv6-extensions-02 (work in progress), September
              2018.

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

   [RFC7752]  Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and
              S. Ray, "North-Bound Distribution of Link-State and
              Traffic Engineering (TE) Information Using BGP", RFC 7752,
              DOI 10.17487/RFC7752, March 2016,
              <https://www.rfc-editor.org/info/rfc7752>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
              July 2018, <https://www.rfc-editor.org/info/rfc8402>.

Dawra, et al.           Expires September 7, 2019              [Page 22]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

14.2.  Informative References

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", RFC 4271,
              DOI 10.17487/RFC4271, January 2006,
              <https://www.rfc-editor.org/info/rfc4271>.

   [RFC4272]  Murphy, S., "BGP Security Vulnerabilities Analysis",
              RFC 4272, DOI 10.17487/RFC4272, January 2006,
              <https://www.rfc-editor.org/info/rfc4272>.

   [RFC4760]  Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
              "Multiprotocol Extensions for BGP-4", RFC 4760,
              DOI 10.17487/RFC4760, January 2007,
              <https://www.rfc-editor.org/info/rfc4760>.

   [RFC5706]  Harrington, D., "Guidelines for Considering Operations and
              Management of New Protocols and Protocol Extensions",
              RFC 5706, DOI 10.17487/RFC5706, November 2009,
              <https://www.rfc-editor.org/info/rfc5706>.

   [RFC6952]  Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
              BGP, LDP, PCEP, and MSDP Issues According to the Keying
              and Authentication for Routing Protocols (KARP) Design
              Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013,
              <https://www.rfc-editor.org/info/rfc6952>.

   [RFC8355]  Filsfils, C., Ed., Previdi, S., Ed., Decraene, B., and R.
              Shakir, "Resiliency Use Cases in Source Packet Routing in
              Networking (SPRING) Networks", RFC 8355,
              DOI 10.17487/RFC8355, March 2018,
              <https://www.rfc-editor.org/info/rfc8355>.

Authors' Addresses

   Gaurav Dawra (editor)
   LinkedIn
   USA

   Email: gdawra.ietf@gmail.com

   Clarence Filsfils
   Cisco Systems
   Belgium

   Email: cfilsfil@cisco.com

Dawra, et al.           Expires September 7, 2019              [Page 23]
Internet-Draft         BGP-LS Extensions for SRv6             March 2019

   Ketan Talaulikar (editor)
   Cisco Systems
   India

   Email: ketant@cisco.com

   Mach Chen
   Huawei
   China

   Email: mach.chen@huawei.com

   Daniel Bernier
   Bell Canada
   Canada

   Email: daniel.bernier@bell.ca

   Jim Uttaro
   AT&T
   USA

   Email: ju1738@att.com

   Bruno Decraene
   Orange
   France

   Email: bruno.decraene@orange.com

   Hani Elmalky
   Ericsson
   USA

   Email: hani.elmalky@gmail.com

Dawra, et al.           Expires September 7, 2019              [Page 24]