Network Working Group E. Osborne Internet-Draft Cisco Systems Intended status: Standards Track May 13, 2013 Expires: November 14, 2013 Extended Administrative Groups in MPLS-TE draft-osborne-mpls-extended-admin-groups-01 Abstract This document provides additional administrative groups (sometimes referred to as "link colors") to the IGP extensions for MPLS-TE. 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]. 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 14, 2013. Copyright Notice Copyright (c) 2013 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 Osborne Expires November 14, 2013 [Page 1] Internet-Draft extended-admin-groups May 2013 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. Extended Administrative Groups sub-TLV . . . . . . . . . . . 2 2.1. Packet Format . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Admin group numbering . . . . . . . . . . . . . . . . . . 3 2.3. Backward compatability . . . . . . . . . . . . . . . . . 3 2.3.1. AG and EAG coexistence . . . . . . . . . . . . . . . 3 2.3.2. Desire for unadvertised EAG bits . . . . . . . . . . 4 3. Attribute filters in RSVP . . . . . . . . . . . . . . . . . . 4 3.1. EXTENDED_SESSION_ATTRIBUTE_RA . . . . . . . . . . . . . . 4 3.2. Populating the attribute filter fields . . . . . . . . . 5 3.3. Formatting a Path message . . . . . . . . . . . . . . . . 6 3.4. Interpreting the attribute filter fields . . . . . . . . 7 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 7. Normative References . . . . . . . . . . . . . . . . . . . . 8 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction MPLS-TE advertises 32 administrative groups (commonly referred to as "colors" or "link colors") using the Administrative Group sub-TLV of the Link TLV. This is defined for OSPFv2 [RFC3630], OSPFv3 [RFC5329]and ISIS [RFC5305]. This document adds a sub-TLV to the IGP TE extensions, "Extended Administrative Group". This sub-TLV provides for additional administrative groups (link colors) beyond the current limit of 32. 2. Extended Administrative Groups sub-TLV The Extended Administrative Groups sub-TLV is used in addition to the Administrative Groups when a device wishes to advertise more than 32 colors for a link. The EAG sub-TLV is optional. This document uses the term 'colors' as a shorthand to refer to particular bits with an AG or EAG. The examples in this document use 'red' to represent the least significant bit in the AG (red == 0x1), 'blue' to represent the second bit (blue == 0x2). To say that a link has a given color or that the specified color is set on the link is to say that the corresponding bit or bits in the link's AG are set to 1. Osborne Expires November 14, 2013 [Page 2] Internet-Draft extended-admin-groups May 2013 2.1. Packet Format The format of the Extended Administrative Groups sub-TLV is the same for both OSPF and ISIS: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Extended Admin Group | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ........... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Extend Admin Group | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Type of the sub-TLV for OSPF and ISIS is TBD. The Length is the size of the Extended Admin Group (EAG) value in bytes. The EAG may be of any length, but must be a multiple of 4 bytes. 2.2. Admin group numbering By convention, the existing Administrative Group TLVs are numbered 0 (LSB) to 31 (MSB). The EAG values are a superset of AG. That is, bits 0-31 in the EAG have the same meaning and must have the same values as an AG flooded for the same link. [ NOTE to be removed before publication: This is a change from version -00 of the draft. Doing it this way allows us to eventually deprecate AG rather than advertising two sub-TLVs forever. ] 2.3. Backward compatability There are two things to consider for backward compatibility with existing AG implementations - how do AG and EAG coexist, and what happens if a node has matching criteria for unadvertised EAG bits? 2.3.1. AG and EAG coexistence If a node advertises EAG it MAY also advertise AG. If a node advertises both AG and EAG then the first 32 bits of the EAG MUST be identical to the advertised AG. If the AG and EAG advertised for a link differ, the EAG MUST take priority. This allows nodes which do not support EAG to obtain some link color information from the network, but also allow for an eventual migration away from AG. Osborne Expires November 14, 2013 [Page 3] Internet-Draft extended-admin-groups May 2013 2.3.2. Desire for unadvertised EAG bits The existing AG sub-TLV is optional; thus a node may be configured with a preference to include red or exclude blue, and be faced with a link that is not advertising a value for either blue or red. What does an implementation do in this case? It shouldn't assume that red is set, but it is also arguably incorrect to assume that red is NOT set, as a bit must first exist before it can be set to 0. Practically speaking this has not been an issue for deployments, as many implementations always advertise the AG bits, often with a default value of 0x00000000. However, this issue may be of more concern once EAGs are added to the network. EAGs may exist on some nodes but not others, and the EAG length may be longer for some links than for others. Each implementation is free to choose its own method for handling this question. However, to encourage maximum interoperability an implementation SHOULD treat specified but unadvertised EAG bits as if they are set to 0. A node MAY provide other (configurable) strategies for handling this case. 3. Attribute filters in RSVP In addition to updating the IGP sub-TLV, RSVP needs to be extended to provide the ability to signal desired resource affinities. This section provides that update. 3.1. EXTENDED_SESSION_ATTRIBUTE_RA This section provides the EXTENDED_SESSION_ATTRIBUTE_RA. RFC3209 defines two types of SESSION_ATTRIBUTE, one with resource affinities and one without. The former is C-Type 1 and is referred to in this document as SESSION_ATTRIBUTE_RA. The latter is referred to as SESSION_ATTRIBUTE and is C-Type 7. The Class and C-Type for EXTENDED_SESSION_ATTRIBUTE_RA are 207 and TBD, respectively. The format of the EXTENDED_SESSION_ATTRIBUTE_RA is: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attribute filter length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Exclude-any // Osborne Expires November 14, 2013 [Page 4] Internet-Draft extended-admin-groups May 2013 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Include-any // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Include-all // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Setup Prio | Holding Prio | Flags | Name Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Session Name (NULL padded display string) // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Exclude-any, Include-any and Include-all fields are collectively referred to as the "attribute filter fields". All three attribute filter fields MUST be the same length. All fields in the EXTENDED_SESSION_ATTRIBUTE_RA MUST be interpreted exactly as they are in the SESSION_ATTRIBUTE_RA. The attribute filter length is the sum of the lengths of the three attribute filter fields, in bytes. If the user wishes to convey 128 bits of information in each of the fields, the total length of the attribute filter fields is 3*128 == 384 bits. The attribute filter length is thus 384/8 == 48 bytes. 3.2. Populating the attribute filter fields Each attribute filter field MUST be the same length. As with the EAG sub-TLV, each attribute filter field is a multiple of four bytes in length. The length of each field MUST be at least the minimum length necessary to fully convey the headend's matching criteria, and SHOULD be no longer than that. For example, if the headend wishes to Include-any bits 1 and 17 then all three fields MUST be at least 4 bytes in length and SHOULD be no more than 4 bytes in length. If the headend wishes to Include-any bits 1, 17 and 150 then all three fields MUST be at least 20 bytes (160 bits) in length and SHOULD be no longer than 20 bytes. Osborne Expires November 14, 2013 [Page 5] Internet-Draft extended-admin-groups May 2013 3.3. Formatting a Path message RFC3209 section 3.1 allows for only a single session attribute (implicitly, either SESSION_ATTRIBUTE or SESSION_ATTRIBUTE_RA). In order to achieve maximum backward compatibility, a node MAY signal both a SESSION_ATTRIBUTE_RA and an EXTENDED_SESSION_ATTRIBUTE_RA. A node MUST NOT signal both a SESSION_ATTRIBUTE and an EXTENDED_SESSION_ATTRIBUTE_RA. All fields common to the SESSION_ATTRIBUTE_RA and EXTENDED_SESSION_ATTRIBUTE_RA (the first 32 bits of Exclude-any, Include-any and Include-all, as well as the Setup Prio, Holding Prio, Flags, Name Length and Session Name) MUST be the same in both the SESSION_ATTRIBUTE_RA and EXTENDED_SESSION_ATTRIBUTE_RA. If they are different, the EXTENDED_SESSION_ATTRIBUTE_RA takes priority. An implementation SHOULD alert the user if any of these fields differ between the SESSION_ATTRIBUTE_RA and EXTENDED_SESSION_ATTRIBUTE_RA. RFC3209 section 3.1 is thus updated with to possible Path message formats, one which allows for the coexistence of both SESSION_ATTRIBUTE_RA and EXTENDED_SESSION_ATTRIBUTE_RA and one which only allows for SESSION_ATTRIBUTE. [NOTE: is there a clean way to do this in one definition? Is this even necessary? My ASN.1-fu is not so good, and I don't want to define Path and Path_RA and have to touch everything else in rfc3209] ::= [ ] [ ] [ ] or ::= [ ] [ ] [ ] [ ] Osborne Expires November 14, 2013 [Page 6] Internet-Draft extended-admin-groups May 2013 3.4. Interpreting the attribute filter fields Since the attribute filter fields are of variable length, it is possible that an RSVP message may indicate more bits than a given node has advertised for a link. It is equally possible that an RSVP message may indicate fewer bits than a given node has advertised for a link. In all cases, the shorter of the two fields (the attribute filter field or the locally configured link admin group) MUST be padded with zeros so that both fields are of equal length. Specifically, length mismatches are to be handled as follows: The length of any single attribute filter field is A. The length of the configured link attribute for a given link is C. If C > A, a node MUST pad the received attribute filter field values with zeros so that C == A. A node MUST NOT alter the length of the signalled attribute filter field; the zero padding is only local to a given node. If A > C, a node MUST pad the locally configured link attributes with zeros so that A == C. A node SHOULD NOT use this information to alter the length of the EAG sub-TLV that it floods. [ NOTE to readers: rfc3209 is unclear about how the attribute filter fields are to be used. The intent appears to be that any bits set to 1 in any of the three attribute filter fields must be considered a match for filtering purposes, and that any bits set to 0 are not used to match. In other words, there is no way to say "the following bits MUST be zero" for any of the attribute filter fields. A 0 in an attribute filter field says "I do not care what the value of this bit is". I am making this inference largely from the text in Include-any and Include-all which says "A null set...automatically passes". If existing implementations treat these fields differently (e.g. a 0 MUST be matched as a zero) then I'd like to know that so I can get the text in this section right. ] 4. Security Considerations This extension adds no new security considerations. 5. IANA Considerations This document requests a sub-TLV allocation in both OSPF and ISIS, as well as an RSVP C-Type from Class 207. Osborne Expires November 14, 2013 [Page 7] Internet-Draft extended-admin-groups May 2013 6. Acknowledgements Thanks to Santiago Alvarez, Rohit Gupta, Liem Nguyen, Tarek Saad, and Robert Sawaya for their review and comments. 7. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, September 2003. [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, October 2008. [RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, "Traffic Engineering Extensions to OSPF Version 3", RFC 5329, September 2008. Author's Address Eric Osborne Cisco Systems Email: eosborne@cisco.com Osborne Expires November 14, 2013 [Page 8]