Internet-Draft Advertising Service Functions Using OSPF March 2023
Xu, et al. Expires 10 September 2023 [Page]
Workgroup:
LSR Working Group
Internet-Draft:
draft-xu-lsr-ospf-service-function-adv-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
X. Xu
China Mobile
H. Huang
Huawei
H. Shah
Ciena
L. Contreras
Telefonica I+D

Advertising Service Functions Using OSPF

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 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 https://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 10 September 2023.

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 OSPF. Here the OSPF means both OSPFv2 [RFC2328] and OSPFv3 [RFC5340].

2. Terminology

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

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

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 [RFC7770]. 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 within a given Router Information (RI) Opaque LSA 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 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 format of an MPLS label, an IPv6 address, 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 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 corresponding service function SID. Other sub-TLVs are to be defined in the future.

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

5. Security Considerations

This document does not introduce any new security risk.

7. Contributors

Nan Wu
Huawei
eric.wu@huawei.com

8. References

8.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC7770]
Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, , <https://www.rfc-editor.org/rfc/rfc7770>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.

8.2. Informative References

[I-D.xu-spring-sfc-use-case]
Xu, X., Li, Z., Shah, H. C., and L. M. Contreras, "Service Function Chaining Use Case for SPRING", Work in Progress, Internet-Draft, draft-xu-spring-sfc-use-case-02, , <https://datatracker.ietf.org/doc/html/draft-xu-spring-sfc-use-case-02>.
[RFC2328]
Moy, J., "OSPF Version 2", STD 54, RFC 2328, DOI 10.17487/RFC2328, , <https://www.rfc-editor.org/rfc/rfc2328>.
[RFC5340]
Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, , <https://www.rfc-editor.org/rfc/rfc5340>.
[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, , <https://www.rfc-editor.org/rfc/rfc8402>.

Authors' Addresses

Xiaohu Xu
China Mobile
Hongyi Huang
Huawei
Himanshu Shah
Ciena
Luis M. Contreras
Telefonica I+D