Internet DRAFT - draft-deevimajumdar-spring-bgp-feedback

draft-deevimajumdar-spring-bgp-feedback







SPRING Working Group                                         K. Majumdar
Internet-Draft                                                  K. Deevi
Intended status: Standards Track                           Cisco Systems
Expires: October 23, 2017                                 April 21, 2017


        A Framework for BGP Feedback Message In Segment Routing
               draft-deevimajumdar-spring-bgp-feedback-00

Abstract

   In support of Segment Routing(SR), routing protocols advertise a
   variety of identifiers used to define the segments that direct packet
   forwarding.

   In cases where the information advertised by a given protocol
   instance is either internally inconsistent or conflicts with
   advertisements from another protocol instance a means of notifying
   the originator about the inconsistency is required.  This document
   defines a generic mechanism to notify the BGP originator about the
   inconsistency in the network.

Requirements Language

   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].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on October 23, 2017.







Majumdar & Deevi        Expires October 23, 2017                [Page 1]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


Copyright Notice

   Copyright (c) 2017 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.  Segment Routing Prefix SID Issues . . . . . . . . . . . . . .   3
   3.  Prefix SID Label Index Collision Traffic flow . . . . . . . .   4
   4.  Segment Routing SRv6-VPN Migration Issues . . . . . . . . . .   5
   5.  BGP Feedback Mechanism  . . . . . . . . . . . . . . . . . . .   5
   6.  BGP Feedback Capability . . . . . . . . . . . . . . . . . . .   6
   7.  BGP Feedback Message Format . . . . . . . . . . . . . . . . .   6
   8.  BGP Feedback Message Prefix SID Data  . . . . . . . . . . . .   7
   9.  Prefix SID Index Feedback Mechanism Summary . . . . . . . . .   7
   10. The Migration from L3 MPLS to SRv6 SR . . . . . . . . . . . .   8
   11. BGP Feedback Message SR Migration Handling Data . . . . . . .   9
   12. Security Considerations . . . . . . . . . . . . . . . . . . .   9
   13. IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   14. References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     14.1.  Normative References . . . . . . . . . . . . . . . . . .  10
     14.2.  Informative References . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   The BGP Prefix SID ietf draft describes the BGP extension to signal
   the BGP Prefix SID but it doesn't describe the cases where Prefix Sid
   conflicts with an other node.  In case of misconfiguration there is a
   possibility of Prefix SID collision in the network and if the Prefix
   SID collision happens there needs a way to notify the BGP originator
   about the Prefix SID collision information.  In case BGP nodes are
   locally configured with SR Global Block (SRGB) range then there could
   be possibility that SRGB range is fully used up when BGP originator
   is trying to use the SRGB to allocate SR label on a certain prefix
   SID.




Majumdar & Deevi        Expires October 23, 2017                [Page 2]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   The draft BGP Signaling of IPv6 SR VPN Networks describes the
   migration scenarios from MPLS based dataplane to SRv6 based
   dataplane.  But again this draft doesn't describe the scenario if the
   different migration scenarios are supported in the ingress PE.
   Considering all the cases there is a need to support BGP notification
   mechanism to inform the BGP originator about the downstream behavior
   on what is supported or advertised Prefix SID can be used without any
   issues

   This requires BGP to send informational feedback message back to
   originator of the BGP update message and let the originator act on
   it.  The existing notification message (bgp message type 3) defined
   for notifying the error conditions back to originator requires the
   BGP session to be closed.  So this doesn't suit well in cases where
   there is only a need to send some information messages to originator
   but not close/withdraw the prefixes received from originator.

   The SR Prefix SID Collision and Out of range Notification mechanisms
   are some of the use cases where BGP Feedback message could be used.
   On receipt of this notification, the originator can take appropriate
   action like correcting the configuration in the network causing the
   collision.

   The Migration case from L3 MPLS based Segment Routing to SRv6 Segment
   Routing is another use case of the Feedback message.  When migrating
   the exiting MPLS VPN network into SRv6 VPN network it is possible
   that not all the nodes in the network are SRv6 capable.  Its possible
   that the egress router sends SRv6 SID but ingress node not support
   it.  In this case the Ingress node might have to send an information
   message to originator to send MPLS VPN label instead of SRv6 SID.

   To achieve this a new BGP message type called BGP "Feedback Message"
   is defined in this draft.  The Feedback message type is to provide
   the feedback to the BGP peers.  It would be processed hop by hop like
   update message.  Upon receiving BGP Feedback message, BGP node can
   decide if they want to take any action on it.  The BGP session would
   not be impacted by the Feedback message.  The BGP Feedback message
   would be a generic purpose message and could be used for any cases
   within BGP by defining the required new TLVs under this message.  The
   BGP nodes will exchange their capability to support this BGP Feedback
   Message type and the BGP feedback message is only sent to the node
   which support it.

2.  Segment Routing Prefix SID Issues

   The BGP Prefix SID is described in [draft-ietf-idr-bgp-prefix-sid].
   The downstream BGP router might detect collision in the label index.
   When it finds the collision for the same Prefix SID label index, it



Majumdar & Deevi        Expires October 23, 2017                [Page 3]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   would fallback to dynamic label.  This collision most likely will
   continue in other downstream BGP routers and based on the current
   mechanism, all of them would be using dynamic label.  This is not a
   desired behavior.  The same behavior could happen for out of SRGB
   range SID label index.

   This draft proposes a mechanism to notify the BGP originator if the
   advertised prefix SID label index is in collision with another prefix
   SID label index or if the advertised prefix SID label index is no
   longer able to produce local SR index as the local SRGB range is
   fully used.  The current Prefix SID Label Index collision or out of
   SRGB range notification to the originator can be handled with the
   newly introduced BGP feedback mechanism.

   As soon as the downstream BGP router detects the collision on the
   label index or finds that the label index is outside the SRGB range,
   it can inform the originating BGP router that Label Index collision
   detected.  The BGP originator once received the Label Index collision
   or out of range feedback message it would process and notify user
   through some log messages.  The originator BGP router can optionally
   resolve the collision by allocating a new Label Index and advertise
   the new label index TLV to its downstream BGP peers.

3.  Prefix SID Label Index Collision Traffic flow

                                +---+   +---+
           Lo0=1.1.1.1/32,                        Lo0=2.2.2.2/32,
           Label Index = 100    | A |   | B |     Label Index = 100

                                +---+   +---+
                  1.1.1.1/32->A    \     /    2.2.2.2/32->B
                 Label Index = 100  \   /     Label Index = 100
                                    +---+
                                    | C |   SRGB Config: [30000, 40000]
                                    +---+  SR Index=30100 (In Collision)
                                      |
                                      |
                                    +---+
                                    | D |   SRGB Config: [60000, 70000]
                                    +---+  SR Index=60100 (In Collision)

   In the above SR flow, note that A and B are the two BGP originator
   for the prefixes 1.1.1.1/32 and 2.2.2.2/32 respectively.  C is the
   first BGP downstream router connected to both A and B and receives
   update from both A and B.  C and D have local SRGB range configured
   [30000, 40000] and [60000, 70000] respectively.





Majumdar & Deevi        Expires October 23, 2017                [Page 4]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   In this use case C applies certain route map policy which prevents
   the prefix update from A to go to B and vice-versa.  The other case
   is A applies certain route-map policy which prevents A to receive BGP
   prefix update from B and vice-versa.

   In this flow C would be the first downstream router that would detect
   the SR label index collision.  C would assign SR Index 30100 as it
   receives the prefix advertisement from either A or B with label index
   100 for the first time.  The next time prefix advertise comes with
   the same label index it would collide with the originally allocated
   SR Index and would allocate dynamic label.  The same behavior would
   continue on D as well.

4.  Segment Routing SRv6-VPN Migration Issues

   The draft [BGP Signaling of IPv6-SR VPN Networks] describes the BGP
   signaling of SRv6-VPN SID for the VPN route; it doesn't describe the
   scenario when ingress PE can only support L3 MPLS based data plane or
   the local BGP policy prevent ingress PE to use SRv6-VPN Service.
   These can be referred as SRv6 VPN Service Migration.  The BGP
   Feedback message described below handle the SRv6-VPN Service
   migration scenarios.

5.  BGP Feedback Mechanism

   This draft defines a new BGP Message type called BGP Feedback Message
   which will carry the informational message back to the originator.
   It should carry the associated prefix and informational data.

   Currently defined Notification message (BGP Message type 3) doesn't
   suit for these cases as the Notification message BGP has to close the
   session.

   The idea behind the Feedback message type is to provide the feedback
   to the BGP peers without having to close the BGP session.  It would
   be processed hop by hop like update message.  Upon receiving BGP
   Feedback message BGP node can decide if they want to take any action
   on it.  But the Feedback message doesn't impose a mandate on a BGP
   node to take certain action.  It is treated more of a passing
   information to the BGP peers.  The BGP Feedback message would be a
   generic purpose message and could be used by for different use cases
   within BGP.

   The SR Prefix SID Collision and Out of range Notification mechanisms
   are some of the use cases where BGP Feedback message could be used.

   The Migration case from L3 MPLS based Segment Routing to SRv6 Segment
   Routing is another use case of the Feedback message.



Majumdar & Deevi        Expires October 23, 2017                [Page 5]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


6.  BGP Feedback Capability

   To advertise the BGP Feedback Capability to a peer, a BGP speaker
   uses BGP Capabilities Advertisement [BGP-CAP].  This capability is
   advertised using the Capability code 74 and Capability length 0.

   By advertising the BGP Feedback Capability to a peer, a BGP speaker
   conveys to the peer that the speaker is capable of receiving and
   properly handling the BGP Feedback message (as defined in Section 7)
   from the peer.

7.  BGP Feedback Message Format

   The BGP Feedback message is a new BGP message type defined as
   follows:

   Type: 6 - BGP Feedback Message

   The BGP Feedback Message Format:


     +----------------------------------------- +
     |      Prefix Length (1 octet)
     +----------------------------------------- +
     |      Prefix  (Variable)
     +----------------------------------------- +
     |      Type  (1 octet)
     +----------------------------------------- +
     |      Length (1 octet)
     +----------------------------------------- +
     |      Data  (Variable)
     +----------------------------------------- +


   Prefix Length:  Length of Prefix in octets

   Prefix:  Prefix associated with feedback message

   Type:  BGP Feedback message Type.  It defines type of BGP application
        associated with the message.

      Type 1:  SR Label Index

      Type 2:  SRv6 Migration

   Length: Length of the Feedback Message Data.

   Data: BGP Feedback Message Data



Majumdar & Deevi        Expires October 23, 2017                [Page 6]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


8.  BGP Feedback Message Prefix SID Data

   The below format defines the Prefix SID Message to be used part of
   Data field in the BGP Feedback Message.


     +----------------------------------------- +
     |      Impact Type (1 octet)
     +----------------------------------------- +
     |      Impact Value  (1 octet)
     +----------------------------------------- +
     |      Number of Labels  (1 octet)
     +----------------------------------------- +
     |      Label Index (variable)
     +----------------------------------------- +


   Impact Type: Collision or SRGB Outside Range

     Impact Type 1:  Segment Routing Label Index Collision

     Impact Type 2:  Segment Routing SRGB Outside Range

   Impact Value: Impacted or Resolved.

     Impact Value 1:  Collision or SRGB range Impacted

     Impact Value 2:  Collision or SRGB range Impact Resolved

   Number of Labels: The number of labels associated with the Prefix
   that got impacted.  It would be 1 in the current case.  But in future
   if more labels get advertised with the route this option will address
   it.

   Label Index: Actual Indexes which are all impacted or impact
   resolved.

9.  Prefix SID Index Feedback Mechanism Summary

   This new Feedback mechanism is defined to notify the BGP originator
   if the BGP advertised prefix with the SID label index is in collision
   with already used index in the network or if the assigned label index
   from the BGP originator is outside the SRGB range.

   Once BGP originator gets the BGP feedback message it might provide
   collision or out of range SID index info in the log message or part
   of BGP show command.  It could optionally assign a new label index
   with the prefix came under collision or out of range.



Majumdar & Deevi        Expires October 23, 2017                [Page 7]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   This specification doesn't mandate action on the BGP originator.  The
   BGP originator would decide on the action.  This draft is defined
   only to define the mechanism on how to notify the BGP originator.

   The BGP originator would be notified if the impacted SID index is no
   longer impacted as well.  This scenario could happen through the
   route withdraw or SRGB range modification.

10.  The Migration from L3 MPLS to SRv6 SR

   At Egress-PE:

   If BGP offers a SRv6-VPN service Then BGP allocates an SRv6-VPN SID
   for the VPN service and adds the BGP SRv6-VPN SID TLV while
   advertising VPN prefixes.

   If BGP offers an MPLS VPN service Then BGP allocates an MPLS Label
   for the VPN service and use it in NLRI as normal for MPLS L3 VPNs.

   If BGP offers both SRv6-VPN and MPLS VPN service then BGP would
   advertise SRv6-VPN SID TLV and the NLRI with MPLS label for VPN
   service.

   At Ingress-PE:

   Selection of which encapsulation below (SRv6-VPN or MPLS-VPN) is
   defined by local BGP policy

   If BGP supports SRv6-VPN service, and receives a BGP SRv6-VPN SID
   Attribute from the Egress PE with a SRv6 SID then BGP programs RIB to
   use SRv6 for the VPN prefix.

   If BGP supports MPLS VPN service, and the MPLS Label is not Implicit-
   Null in the BGP update received from the Egress PE then BGP programs
   RIB to use the MPLS label is used as a VPN label for the VPN prefix.

   Based on what is advertised from the Egress PE to the Ingress PE and
   what is actually supported in the Ingress PE the below two scenarios
   could occur:

   - If Egress PE offers only SRv6-VPN SID TLV and Ingress PE only
   supports MPLS VPN service or local BGP policy imposes Ingress PE to
   use only MPLS VPN Service then Ingress PE needs to send the BGP
   Feedback Message to the Egress PE.

   - If Egress PE offers only MPLS VPN Service and Ingress PE only
   supports SRv6-VPN service or local BGP policy imposes Ingress PE to




Majumdar & Deevi        Expires October 23, 2017                [Page 8]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   use only SRv6-VPN VPN Service then Ingress PE needs to send the BGP
   Feedback Message to the Egress PE.

11.  BGP Feedback Message SR Migration Handling Data

   The below format defines the Segment Routing Migration Handling
   Message to be used part of Data field in the BGP Feedback Message.


     +----------------------------------------- +
     |      Received VPN Service (1 octet)
     +----------------------------------------- +
     |      Imposed VPN Service  (1 octet)
     +----------------------------------------- +

   Received VPN Service: The VPN Service Received at the Ingress PE from
   the Egress PE

     Type 1:  L3 MPLS Segment Routing.

     Type 2:  IPv6 Segment Routing.

     Type 3:  Both L3 MPLS Segment Routing and IPv6 Segment Routing.

   Imposed VPN Service: The Imposed VPN Service in the Ingress PE

     Type 1:  L3 MPLS Segment Routing.

     Type 2:  IPv6 Segment Routing.

12.  Security Considerations

   This document introduces no new security considerations above and
   beyond those already specified in [RFC4271] and [RFC3107].

13.  IANA Considerations

   This document defines a new BGP Message Type known as the BGP
   Feedback Message and a new BGP Capability Code [BGP-CAP].  This
   document requests IANA to assign a new message type (suggested value:
   6) for BGP the Feedback and a new BGP Capability Code (suggested
   value: 74) [BGP-CAP] for Feedback Message Handling capability from
   the BGP Message Type and Capability Code registry.

   This document defines 2 new TLVs for BGP Feedback Message type.
   These TLVs needs to be registered with IANA.  We request IANA to
   create a new registry for BGP Feedback TLVs as follows:




Majumdar & Deevi        Expires October 23, 2017                [Page 9]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   Under "Border Gateway Protocol (BGP) Parameters" registry, "BGP
   Feedback TLV Types" (Reference: this document) should follow the
   below Registration Procedure(s): Values 1-254 First Come, First
   Served, Value 0 and 255 reserved

    Value           Type                                     Reference
      0           Reserved                                 this document
      1           SR Label Index Message                   this document
      2           SRv6 Migration Message                   this document
      3-254       Unassigned
      255         Reserved                                 this document

14.  References

14.1.  Normative References

   [I-D.filsfils-spring-segment-routing-policy]
              Filsfils, C., Sivabalan, S., Yoyer, D., Nanduri, M., Lin,
              S., bogdanov@google.com, b., Horneffer, M., Clad, F.,
              Steinberg, D., Decraene, B., and S. Litkowski, "Segment
              Routing Policy for Traffic Engineering", draft-filsfils-
              spring-segment-routing-policy-00 (work in progress),
              February 2017.

   [I-D.filsfils-spring-srv6-network-programming]
              Filsfils, C., Leddy, J., daniel.voyer@bell.ca, d.,
              daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R.,
              Matsushima, S., Lebrun, D., Decraene, B., Peirens, B.,
              Salsano, S., Naik, G., Elmalky, H., Jonnalagadda, P.,
              Sharif, M., Ayyangar, A., Mynam, S., Bashandy, A., Raza,
              K., Dukes, D., Clad, F., and P. Camarillo, "SRv6 Network
              Programming", draft-filsfils-spring-srv6-network-
              programming-00 (work in progress), March 2017.

   [I-D.ietf-6man-segment-routing-header]
              Previdi, S., Filsfils, C., Raza, K., Leddy, J., Field, B.,
              daniel.voyer@bell.ca, d., daniel.bernier@bell.ca, d.,
              Matsushima, S., Leung, I., Linkova, J., Aries, E., Kosugi,
              T., Vyncke, E., Lebrun, D., Steinberg, D., and R. Raszuk,
              "IPv6 Segment Routing Header (SRH)", draft-ietf-6man-
              segment-routing-header-06 (work in progress), March 2017.

   [RFC2460]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
              December 1998, <http://www.rfc-editor.org/info/rfc2460>.






Majumdar & Deevi        Expires October 23, 2017               [Page 10]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   [RFC3107]  Rekhter, Y. and E. Rosen, "Carrying Label Information in
              BGP-4", RFC 3107, DOI 10.17487/RFC3107, May 2001,
              <http://www.rfc-editor.org/info/rfc3107>.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
              2006, <http://www.rfc-editor.org/info/rfc4364>.

   [RFC4456]  Bates, T., Chen, E., and R. Chandra, "BGP Route
              Reflection: An Alternative to Full Mesh Internal BGP
              (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
              <http://www.rfc-editor.org/info/rfc4456>.

   [RFC7432]  Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
              Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
              Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
              2015, <http://www.rfc-editor.org/info/rfc7432>.

   [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>.

14.2.  Informative References

   [I-D.ietf-idr-bgp-prefix-sid]
              Previdi, S., Filsfils, C., Lindem, A., Sreekantiah, A.,
              and H. Gredler, "Segment Routing Prefix SID extensions for
              BGP", draft-ietf-idr-bgp-prefix-sid-05 (work in progress),
              April 2017.

   [I-D.ietf-spring-conflict-resolution]
              Ginsberg, L., Psenak, P., Previdi, S., and M. Pilka,
              "Segment Routing Conflict Resolution", draft-ietf-spring-
              conflict-resolution-02 (work in progress), October 2016.

   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
              and R. Shakir, "Segment Routing Architecture", draft-ietf-
              spring-segment-routing-11 (work in progress), February
              2017.

   [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>.





Majumdar & Deevi        Expires October 23, 2017               [Page 11]

Internet-Draft   BGP Feedback Message In Segment Routing      April 2017


   [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,
              <http://www.rfc-editor.org/info/rfc4271>.

   [RFC4659]  De Clercq, J., Ooms, D., Carugi, M., and F. Le Faucheur,
              "BGP-MPLS IP Virtual Private Network (VPN) Extension for
              IPv6 VPN", RFC 4659, DOI 10.17487/RFC4659, September 2006,
              <http://www.rfc-editor.org/info/rfc4659>.

   [RFC5549]  Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network
              Layer Reachability Information with an IPv6 Next Hop",
              RFC 5549, DOI 10.17487/RFC5549, May 2009,
              <http://www.rfc-editor.org/info/rfc5549>.

Authors' Addresses

   Kausik Majumdar
   Cisco Systems
   821 Alder Drive
   Milpitas, CA  95054
   USA

   Email: kmajumda@cisco.com


   Krishna Deevi
   Cisco Systems
   821 Alder Drive
   Milpitas, CA  95054
   USA

   Email: kdeevi@cisco.com


















Majumdar & Deevi        Expires October 23, 2017               [Page 12]