Network Working Group                                              X. Xu
Internet-Draft                                                    Huawei
Intended status: Standards Track                            May 29, 2014
Expires: November 30, 2014


                Advertising Service Functions Using OSPF
                 draft-xu-ospf-service-function-adv-00

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
   segment IDs using OSPF.  Here the OSPF means both OSPFv2 and OSPFv3.

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 November 30, 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
   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.



Xu                      Expires November 30, 2014               [Page 1]


Internet-Draft  Advertising Service Functions Using OSPF        May 2014


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Advertising Service Functions and Corresponding SIDs  . . . .   2
     3.1.  Service Function TLV  . . . . . . . . . . . . . . . . . .   3
     3.2.  Service Function SID Sub-TLV  . . . . . . . . . . . . . .   3
   4.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   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 the service classifier to encode the segment list
   represeting 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 SIDs using OSPF.  Here the
   OSPF means both OSPFv2 [RFC2328] and OSPFv3 [RFC2740].

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

3.  Advertising Service Functions and Corresponding SIDs

   Service nodes within the network need to advertise each service
   function they are offering by using a TLV within the body of the OSPF
   Router Information (RI) Opaque LSA [RFC4970].  This new TLV is called
   as Service Function TLV.  The Service Function TLV is applicable to
   both OSPFv2 and OSPFv3.  The Service Function TLV could appear
   multiple times wihin a given Router Information (RI) Opaque LSA when



Xu                      Expires November 30, 2014               [Page 2]


Internet-Draft  Advertising Service Functions Using OSPF        May 2014


   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 and meanwhile advertise it by using a sub-TLV
   of the above Service Function 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
   MPLS label format or in the IPv6 address format, or both.

3.1.  Service Function 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 related to service
      functions.  Besides the Service Function SID sub-TLVs, other sub-
      TLVs (to be defined in future) which are used to describe some
      characters of a given service function could also be added.

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




Xu                      Expires November 30, 2014               [Page 3]


Internet-Draft  Advertising Service Functions Using OSPF        May 2014


      Type: TBD

      Length: variable (3 or 16).

      Value: if the Length is set to 3, the 20 rightmost bits represent
      a 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 to allocate one TLV type codes
   for the Service Function TLV within the body of the OSPF Router
   Information (RI) Opaque LSA , and one sub-TLV type code within the
   Service Function TLV for 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., "Service Function Chaining Use Case", draft-xu-
              spring-sfc-use-case-00 (work in progress), April 2014.

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

   [RFC4970]  Lindem, A., Shen, N., Vasseur, JP., Aggarwal, R., and S.
              Shaffer, "Extensions to OSPF for Advertising Optional
              Router Capabilities", RFC 4970, July 2007.

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-02 (work in progress), May 2014.

   [RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.



Xu                      Expires November 30, 2014               [Page 4]


Internet-Draft  Advertising Service Functions Using OSPF        May 2014


   [RFC2740]  Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6", RFC
              2740, December 1999.

Author's Address

   Xiaohu Xu
   Huawei

   Email: xuxiaohu@huawei.com










































Xu                      Expires November 30, 2014               [Page 5]