Network Working Group                                              X. Xu
Internet-Draft                                                     N. Wu
Intended status: Standards Track                                  Huawei
Expires: December 29, 2014                                       H. Shah
                                                                   Ciena
                                                            L. Contreras
                                                          Telefonica I+D
                                                           June 27, 2014


               Advertising Service Functions Using IS-IS
                 draft-xu-isis-service-function-adv-02

Abstract

   The Segment Routing mechanism can be leveraged to realize the service
   path layer functionality of the Service Function Chaining (i.e,
   steering traffic through the service function path).  This document
   describes how to advertise service functions and their corresponding
   attributes (e.g.,segment ID) using IS-IS.

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 December 29, 2014.

Copyright Notice

   Copyright (c) 2014 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



Xu, et al.              Expires December 29, 2014               [Page 1]


Internet-Draft  Advertising Service Functions Using IS-IS      June 2014


   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
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Advertising Service Functions and Corresponding SIDs  . . . .   3
     3.1.  Service Function Sub-TLV  . . . . . . . . . . . . . . . .   3
     3.2.  Service Function SID Sub-TLV  . . . . . . . . . . . . . .   4
   4.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   [I-D.xu-spring-sfc-use-case] describes a particular use case for
   SPRING where the Segment Routing (SR) mechanism is leveraged to
   realize the service path layer functionality of the Service Function
   Chaining (SFC), i.e, steering traffic through the service function
   path.  To allow a service classifier to encode the segment list
   representing a particular service function path, the classifier needs
   to know on which service node(s) a given service function is located
   and what segment ID (SID) is used to indicate that service function
   on a given service node.  This document describes how to advertise
   service functions and their corresponding attributes (e.g.,SID) using
   IS-IS.

1.1.  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 RFC 2119 [RFC2119].

2.  Terminology

   This memo makes use of the terms defined in [RFC4971] and
   [I-D.xu-spring-sfc-use-case].






Xu, et al.              Expires December 29, 2014               [Page 2]


Internet-Draft  Advertising Service Functions Using IS-IS      June 2014


3.  Advertising Service Functions and Corresponding SIDs

   Service nodes within the network need to advertise each service
   function they are offering by using a new sub-TLV of the IS-IS Router
   CAPABILITY TLV [RFC4971].  This new sub-TLV is called as Service
   Function sub-TLV.  The Service Function sub-TLV could appear multiple
   times wihin a given IS-IS Router CAPABILITY TLV when more than one
   service function needs to be advertised by a given service node.  The
   scope of the advertisement depends on the application but it is
   recommended that it SHOULD be domain-wide.  Furthermore, service
   nodes need to allocate a corresponding SID to each service function
   they are offering and advertise it by using a sub-TLV of the above
   Service Function sub-TLV, called Service Function SID sub-TLV.  In
   the MPLS-SR case, service nodes within the network would allocate a
   locally significant MPLS label to each service function they are
   offering.  In the IPv6-SR case, service nodes within the network
   would allocate a locally unique link-local IPv6 address to each
   service function they are offering.  For a given service function,
   the service node offering that service function could advertise the
   corresponding SID in the format of an MPLS label, an IPv6 address, or
   both.

3.1.  Service Function Sub-TLV

      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=TBD    |    Length     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                  Service Function Identifier                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                          Sub-TLVs                             ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type: TBD.

      Length: variable.

      Service Function Identifier: A unique identifier that represents a
      service function within an SFC-enabled domain.

      Sub-TLVs: contains zero or more sub-TLVs corresponding to the
      particular attributes of a given service function.  The Service
      Function SID sub-TLV as defined in Section 3.2 is one such sub-TLV
      which is used to indicate the corrresponding service function SID.
      Other sub-TLVs are to be defined in the future.





Xu, et al.              Expires December 29, 2014               [Page 3]


Internet-Draft  Advertising Service Functions Using IS-IS      June 2014


3.2.  Service Function SID Sub-TLV

      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=TBD    |    Length     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                    Service Function SID                       ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type: TBD.

      Length: variable (3 or 16).

      Value: if the Length is set to 3, the rightmost 20 bits represent
      an MPLS label.  If the length is set to 16, the value represents
      an IPv6 address.

4.  Acknowledgements

   TBD.

5.  IANA Considerations

   This memo includes a request to IANA for allocating type codes for
   the Service Function sub-TLV and the Service Function SID sub-TLV.

6.  Security Considerations

   This document does not introduce any new security risk.

7.  References

7.1.  Normative References

   [I-D.xu-spring-sfc-use-case]
              Xu, X., Li, Z., and H. Shah, "Service Function Chaining
              Use Case for SPRING", draft-xu-spring-sfc-use-case-01
              (work in progress), June 2014.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4971]  Vasseur, JP., Shen, N., and R. Aggarwal, "Intermediate
              System to Intermediate System (IS-IS) Extensions for
              Advertising Router Information", RFC 4971, July 2007.





Xu, et al.              Expires December 29, 2014               [Page 4]


Internet-Draft  Advertising Service Functions Using IS-IS      June 2014


7.2.  Informative References

   [I-D.filsfils-spring-segment-routing]
              Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
              Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R.,
              Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe,
              "Segment Routing Architecture", draft-filsfils-spring-
              segment-routing-03 (work in progress), June 2014.

Authors' Addresses

   Xiaohu Xu
   Huawei

   Email: xuxiaohu@huawei.com


   Nan Wu
   Huawei

   Email: eric.wu@huawei.com


   Himanshu Shah
   Ciena

   Email: hshah@ciena.com


   Luis M. Contreras
   Telefonica I+D
   Ronda de la Comunicacion, s/n
   Sur-3 building, 3rd floor
   Madrid,  28050
   Spain

   Email: luismiguel.contrerasmurillo@telefonica.com
   URI:   http://people.tid.es/LuisM.Contreras/













Xu, et al.              Expires December 29, 2014               [Page 5]