Network Working Group U. Chunduri, Ed. Internet-Draft Ericsson Inc. Intended status: Standards Track X. Xu Expires: July 8, 2016 Huawei L. Contreras Telefonica I+D M. Boucadair, Ed. France Telecom L. Jalil Verizon January 5, 2016 Using Operator-defined TLVs for Agile Service Deployment draft-chunduri-ospf-operator-defined-tlvs-02 Abstract This document proposes a TLV within the body of the OSPF Router Information (RI) Opaque LSA, called Operator-defined Sub-TLV Container TLV. Here the term OSPF means both OSPFv2 and OSPFv3.This attribute is meant to accommodate policy-based and deployment- specific use cases. 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 July 8, 2016. Copyright Notice Copyright (c) 2016 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 Chunduri, et al. Expires July 8, 2016 [Page 1] Internet-Draft Operator-defined Sub-TLVs January 2016 (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 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. A Sample Use Case . . . . . . . . . . . . . . . . . . . . . . 3 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Operator-defined Sub-TLV Container TLV . . . . . . . . . . . 4 6. Operator-defined Sub-TLV . . . . . . . . . . . . . . . . . . 5 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 10.1. Normative References . . . . . . . . . . . . . . . . . . 7 10.2. Informative References . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction There are some use cases where OSPF is used for service auto- discovery by using node administrative tags [I-D.ietf-ospf-node- admin-tag] . One major benefit of using administrative tags rather than IANA defined TLVs or sub-TLVs to indicate different services is to facilitate the rapid deployment of new services without any need for the standardization of those TLVs or sub-TLVs. However, there are some special use cases where the service to be advertised has one or more attributes which need to be advertised as well. In such case, the administrative tag is not much applicable anymore. To inherit the benefit of administrative tags (i.e., allowing operators to use OSPF for service auto-discovery without the need of any standardization process) while meeting the requirement of advertising services and their associated attributes, this document proposes a TLV within the body of the OSPF Router Information (RI) Opaque LSA, called Operator-defined Sub-TLV Container TLV. With such TLV, operators could flexibly define one or more sub-TLVs indicating one or more services and their associated attributes without relying on any standardization process. This document gives a framework where operator information can be transparently injected into the routing domain. Chunduri, et al. Expires July 8, 2016 [Page 2] Internet-Draft Operator-defined Sub-TLVs January 2016 The characterization of the TLV and its associated sub-SLVs is local to the each administrative domain. Defining new sub-TLVs is therefore deployment-specific and policy-based. OSPF here denotes both OSPFv2 and OSPFv3. 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. A Sample Use Case This section describes a use case example to illustrate the use of the Operator-defined Sub-TLV Container TLV defined in Section 5. It shows how operators can deploy services rapidly by advertising associated attributes. It is out of scope of this section to identify an exhaustive list of deployment use cases. In the context of service function chaining ([RFC7665]), advertising Service Functions and it's attributes will ease automating how service chains are structured and will help policy decision engines (typically, a controller) to selectively direct the traffic to appropriate service function instances according to a set policy guidelines and/or the information reported in the Operator-defined Sub-TLV. Particularly, Service Function nodes implementing various service functions within the network need to advertise each service function they are offering, so that a control and/or management entity can decide which instance to invoke for the delivery of an added- value service or to react to particular events (such as failure of a service function instance). Each service can be identified by a dedicated sub-TLV type while the associated attributes/identifiers of the service are indicated by the value part of the corresponding sub-TLV. These identifiers MAY not be globally unique and MAY not be exposed outside of a given administrative domain. The Operator-defined sub-TLV Container TLV could appear multiple times within a given Router Information (RI) Opaque LSA, when more than one service function instances needs to be advertised by a given node based on a local policy. Advertising service functions and it's attributes also allow a controller to adjust its policies and react dynamically. Typical actions would be, to withdraw a service instance from being invoked Chunduri, et al. Expires July 8, 2016 [Page 3] Internet-Draft Operator-defined Sub-TLVs January 2016 in the context of a service delivery, update load balancing polices, dynamically activate a backup instance, etc. The mechanisms, on how service information and attributes are used by an external controller (for example to steer the traffic) is beyond the scope of this document. 3. Applicability This mechanism MUST only be used for local applications or non- standard commercial applications. If the information injected in this attribute requires a specific handling from an OSPF speaker other than reading configuration parameters and encode it as described in this document, then those MUST NOT be advertised through this mechanism. The attribute in this document is operator-defined. As such, it is the responsibility of the provider to decide which information can be conveyed as per the pre-defined format specific to the deployment by means of the operator-defined attributes. 4. Terminology This memo makes use of the terms defined in [RFC4970]. 5. Operator-defined Sub-TLV Container TLV A new TLV within the body of the OSPFv2 and OSPFv3 RI Opaque LSA, called Operator-defined Sub-TLV Container TLV is defined to carry one or more operator-defined sub-TLVs. The format of the Operator-defined Sub-TLV Container TLV is shown in Figure 1. Chunduri, et al. Expires July 8, 2016 [Page 4] Internet-Draft Operator-defined Sub-TLVs January 2016 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First Operator-defined Sub-TLV | o o | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // ... // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Last Operator-defined Sub-TLV | o o | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Operator-defined Sub-TLV Container TLV Type: TBD Section 8 Length: A 16-bit field that indicates the length of the value portion in octets. It MUST be multiple of 4 octets dependent on the number of Operator-defined Sub-TLVs advertised. Value: Contains one or more nested TLV triplets of operator-defined sub-TLVs as defined in Section 6. There can be more than one TLV of these possible and the flooding scope of this TLV depends on the application. Being part of the RI Opaque LSA, the Operator-defined sub-TLV Container TLV inherits applicability as well as restrictions as specified in Section 3 of [RFC4970]. 6. Operator-defined Sub-TLV The operator-defined sub-TLV has the following structure and can be part of the Container TLV as defined in Section 5 within the body of the OSPF RI LSA. Chunduri, et al. Expires July 8, 2016 [Page 5] Internet-Draft Operator-defined Sub-TLVs January 2016 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attribute Length | Attribute Value (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // ... // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attribute Length | Attribute Value (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Operator-defined Sub-TLV Type: Per Operator/Local Policy. Length: A 16-bit field that indicates the length of the value portion in octets and will be padded/formatted as described in Section 2.1 of [RFC4970]. Value: Represents the associated attribute of the service or Type defined locally (i.e., within a single administrative domain). The Value field contains one or more {Attribute-Len, Attribute-value} tuple. Attribute Length is of 2 bytes, for fixed formatting and Attribute value as represented by attribute length. All multi byte attribute values MUST be encoded in Network Byte Order (NBO). If multiple fixed length values have to be represented, those SHOULD be represented with multiple {Attribute-Len, Attribute-value} tuples. The meaning of the operator-defined sub-TLV is totally opaque to OSPF and is defined by the network local policy and is controlled via configuration. The application that needs to consume the data defined is likely to implement some validation checks. Routers advertising the operator-defined sub-TLV are configured to do so without knowing (or even explicitly supporting) functionality implied by the sub-TLV. How a receiving node communicates the operator-defined sub-TLVs with the policy manager is outside the scope of this document. The operator-defined TLV is formatted as described in Section 2.1 of [RFC4970]. However, the code points of operator-defined sub-TLVs as defined above are allocated by operators themselves, specific to the deployment rather than IANA. Furthermore, the semantics of the operator-defined sub-TLV order has no meaning. That is, there is no implied meaning to the ordering of the operator-defined sub-TLV that indicates a certain operation or set of operations that need to be Chunduri, et al. Expires July 8, 2016 [Page 6] Internet-Draft Operator-defined Sub-TLVs January 2016 performed based on the ordering. The ordering of operator-defined sub-TLVs and the interpretation of the operator-defined sub-TLV is deployment-specific. Routers can be configured with local policies if the order of sub-TLV must be preserved. How a router is configured with additional instructions (such as order preservation) is implementation-specific. It is reasonable that non-routing information should be advertise in a non-routing instance of OSPF as defined in [I-D.ietf-ospf- transport-instance] so as to minimize the impact on the operation of routing. However, since the information contained in the self- defined sub-TLV may be related to the routing, whether or not using a non-routing instance to flood the self-defined sub-TLVs should be determined by operators according to the information to be conveyed by the self-defined sub-TLV. 7. Acknowledgements Authors would like to thank Acee Lindem for reviewing and providing suggestions on the initial version of the document. Also thankful to Anton Smirnov, Peter Psenak, Chris Bowers and Les Ginsberg for their review and comments. 8. IANA Considerations This document includes a request to IANA to allocate a TLV type code for the new RI LSA TLV proposed in Section 5 of this document from OSPF Router Information (RI) TLVs Registry defined by [RFC4970]. 9. Security Considerations As Operator Defined TLV specified in this draft is part of RI LSA, this document does not introduce any new security risk other than what is specified by [RFC4970]. Security considerations for the base OSPF protocol are covered in [RFC2328] and [RFC5340]. 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, DOI 10.17487/RFC2328, April 1998, . Chunduri, et al. Expires July 8, 2016 [Page 7] Internet-Draft Operator-defined Sub-TLVs January 2016 [RFC4970] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 4970, DOI 10.17487/RFC4970, July 2007, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . 10.2. Informative References [I-D.ietf-ospf-node-admin-tag] Hegde, S., Raghuveer, H., Gredler, H., Shakir, R., Smirnov, A., Li, Z., and B. Decraene, "Advertising per- node administrative tags in OSPF", draft-ietf-ospf-node- admin-tag-02 (work in progress), June 2015. [I-D.ietf-ospf-transport-instance] Lindem, A., Roy, A., and S. Mirtorabi, "OSPF Transport Instance Extensions", draft-ietf-ospf-transport- instance-11 (work in progress), June 2014. [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function Chaining (SFC) Architecture", RFC 7665, DOI 10.17487/RFC7665, October 2015, . Authors' Addresses Uma Chunduri (editor) Ericsson Inc. 300 Holger Way, San Jose, California 95134 USA Phone: 408 750-5678 Email: uma.chunduri@ericsson.com Xiaohu Xu Huawei Email: xuxiaohu@huawei.com Chunduri, et al. Expires July 8, 2016 [Page 8] Internet-Draft Operator-defined Sub-TLVs January 2016 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/ Mohamed Boucadair (editor) France Telecom Rennes 35000 France Email: mohamed.boucadair@orange.com Luay Jalil Verizon 400 International Parkway Richardson, Tx 75081 USA Email: luay.jalil@verizon.com Chunduri, et al. Expires July 8, 2016 [Page 9]