MPLS                                                          S. Boutros
Internet-Draft                                            S. Bryant, Ed.
Intended status: Standards Track                            S. Sivabalan
Expires: August September 6, 2010                                   G . Swallow
                                                                 D. Ward
                                                           Cisco Systems
                                                        February 2,
                                                                 D. Ward
                                                        Juniper Networks
                                                              V. Manral
                                                        IP Infusion Inc.
                                                           March 5, 2010

                    Definition of ACH TLV Structure
                     draft-ietf-mpls-tp-ach-tlv-01
                     draft-ietf-mpls-tp-ach-tlv-02

Abstract

   In some application of the associated channel header (ACH), it is
   necessary to have the ability to include a set of TLVs to provide
   additional context information for the ACH payload.  This document
   defines a number of TLV types.

   The following notes (up until the start of "Requirements Language"
   will be deleted before Working Group Last Call

   NOTE the family of Address Types

   This document is known to be incomplete.  The
   authors request that members of the MPLS-TP community provide details
   of their required address formats in the form of text for the
   creation a product of an additional sections similar a joint Internet Engineering Task Force
   (IETF) / International Telecommunications Union Telecommunications
   Standardization Sector (ITU-T) effort to Section 3.1.

   NOTE other TLV types will be added in further revisions of this
   document.  The authors request that members if include an MPLS Transport
   Profile within the MPLS-TP community
   requiring new TLVs IETF MPLS and PWE3 architectures to complete there MPLS-TP specifications provide
   details of their required TLV in support the form of text for the creation
   capabilities and functionalities of
   additional sections similar to Section 2.2.

   NOTE The intension is to keep this document as a living list of TLVs
   for some time.  When the Working Groups consider that we have
   captured the majority of the TLVs we will close packet transport network as
   defined by the document and
   submit for publication. ITU-T.

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 RFC2119 [1].

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on August September 6, 2010.

Copyright Notice

   Copyright (c) 2010 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 BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 4
   2.  ACH TLV Object Definitions  . . . . . . . . . . . . . . . . . . 4
     2.1.  The Null TLV Object . . . . . . . . . . . . . . . . . . . . 4
     2.2.  IPv4 Source Address . . . . . . . . . . . . . . . . . . . . . .  5 4
     2.3.  Destination  IPv6 Source Address . . . . . . . . . . . . . . . . . . . . 5
     2.4.  Label Switched Path Identifier (LSPI)  . . . . . . . . . .  6
     2.5.  Pseudowire Identifier (PWI)  . . . . . . .  ITU-T Carrier Code  . . . . . . . .  6
   3.  ACH Addresses . . . . . . . . . . . . 5
     2.5.  Global Identifier . . . . . . . . . . . .  7
     3.1.  IPv4 Address . . . . . . . . . 6
     2.6.  Network Interface Identifier  . . . . . . . . . . . . . .  7
     3.2.  IPv6 Address . 6
     2.7.  Authentication  . . . . . . . . . . . . . . . . . . . . . .  8
   4. 7
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .  8
   5. . 7
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  8
   6. . 7
   5.  References  . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     6.1. 8
     5.1.  Normative References  . . . . . . . . . . . . . . . . . . .  9
     6.2. 8
     5.2.  Informative References  . . . . . . . . . . . . . . . . . .  9 8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 10 9

1.  Introduction

   The MPLS generic associated channel header specification [7] [6] (GACH)
   describes a TLV structure that is used to provide additional context
   information for the ACH payload.  This document defines a number of
   TLVs that are required by the MPLS-TP design [8], [9].  One use of
   these TLVs to identify the source and/or intended destination of the
   ACH payload for use in transport networks.  However the use of this
   construct is not limited to providing addressing information nor is
   the applicability restricted to transport network applications.

   Additionally TLVs from defined in this document may be used as sub-
   TLVs in the construction of compound TLV structures. [7], [8].

2.  ACH TLV Object Definitions

   This section provides the definition for a number of ACH TLV objects.
   In each case the length in the TLV header is the length of just only the
   value component.

2.1.  The Null TLV Object

   The Null TLV provides an OPTIONAL mechanism of restoring 32bit
   alignment of the following element in the packet and also provides an
   OPTIONAL mechanism to reserve space in the packet to be used by TLV
   objects that will be written by LSR that perform some operation on
   the packet at a later time.  For security reasons the value must be
   zero.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         AchTlvType = 0        |       Length                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                             Value = 0                         ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Figure 1: Null TLV Object

2.2.  IPv4 Source Address

   This TLV specifies the IPv4 [2] source address (SA) (SAv4) of an ACH
   packet.

   Where the packet is associated with a maintenance request/response
   operation it refers to the requester of the operation, i.e.  It is
   the address of the Maintenance End Point that initiated the operation
   being either requested, or is being responded to.

   The address is an ACH address as described in Section 3.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         AchTlvType = 1        |        Length = 4             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                           Address                             |
   |                         IPv4 Address                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Figure 2: IPv4 Source Address

2.3.  Destination  IPv6 Source Address

   This TLV specifies the destination IPv6 [3] source address (DA) (SAv6) of an ACH
   packet.

   Where the packet is associated with a maintenance request/response
   operation it refers to the target requester of the operation, i.e.  It is
   the address of the Maintenance End Point or Maintenance Intermediate
   Point that has been requested to execute initiated the operation
   being either requested, or is being responded to.

   The address is an ACH address as described in Section 3.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         AchTlvType = 2        |        Length = 16            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                        IPv6 Address                           |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Figure 3: Destination IPv4 Source Address

2.4.  Label Switched Path Identifier (LSPI)  ITU-T Carrier Code

   This TLV is used to identify a Label Switched Path (LSP). carry an ITU-T Carrier Code Identifier (ICC) as
   defined in M.1400 [4].

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         AchTlvType = 3        |       Length = 16             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                              TBD
   |                     ICC                                       |
   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Figure 4: Label Switched Path Identifier

   This will draw on the contents of [2].  Further material will be
   added ITU-T Carrier Code

   The ICC is encoded in ASCII in a future version of this document. fixed format 6 byte field, with
   unused trailing bytes set to NULL (0).

2.5.  Pseudowire  Global Identifier (PWI)

   This TLV is used to identify carry a pseudowire. Global Identifier (Global_ID) [5] .

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         AchTlvType = 4        |        Length = 4             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                              TBD                              |
   |                         Global ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Figure 5: Pseudowire Global_ID TLV

2.6.  Network Interface Identifier

   This will draw on the contents of [2].  Further material will be
   added in a future version of this document.

3.  ACH Addresses

   This section is incomplete.  Definitions of other address types will
   be provided in a future version of this document.  The authors would
   like to take input from other members of the MPLS-TP design community
   as to the required additional addressing types and the correct way to
   represent them in this framework.

   Addresses are expressed in the following TLV format.  This
   representation allows ACH TLVs to be specified in a format that is
   independent of the address that are to be used to carry Network Interface ID (IF_ID) [5] .  As
   defined in the TV instance.
   Although many address types are [5], an IF_ID consists of fixed length, and some which are
   not incorporate a length indicator, this may not always be the case node identifier (Node_ID) and hence
   a length field is incorporated in the address TLV. Logical Interface Handle (LIH), both or which are 32 bit
   identifiers.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          AdrType         AchTlvType = 5        |        Length                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                            Address                            |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.1.  IPv4 Address
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+             |          AdrType = 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Length = 4                         Node_ID                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         IPv4 Address                         LIH                                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This address

                            Figure 6: IF_ID TLV contains an IPv4 address

2.7.  Authentication

   The structure of the ACH authentication (auth) TLV is as defined in [3].

3.2.  IPv6 Address follows:
     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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          AdrType     AchTlvType  = 2 6           |          Length = 16               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                        IPv6 Address
   |   Auth Type   |   Auth Len    |    Authentication Data...     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   This address TLV contains an IPv6 address

   The authentication proceedures and data format used is the same as
   that defined in [4]

4. Sections 4.1, 4.2, 4.3 and 4.4 of [9] .

   Each document which defines a channel type needs to define whether an
   authentication TLV is required, permitted, or disallowed, and the
   actions to be taken in normal and error situations.

   An application not supporting data origin authentication MAY use this
   mechanism instead of defining its own proprietery mechanism.

3.  Security Considerations

   This specification defines a mechanism to identify a set of protocol
   parameters.  The necessary security considerations will be described
   in the definition of the protocols that uses these parameters.

5.

4.  IANA Considerations

   IANA is requested to create two a new registries registry in the pseudowire name
   spaces: the ACH TLV Registry and the ACH Address Type Registry.

   The ACH TLV Registry should be initialized with the following
   entries.  The allocation policy for this registry is IETF consensus.

   Name       Type  Length    Description                  Reference
                   (octets)
   Null        0      3       Null TLV                     This Draft
   SA
   SAv4        1     var      4       IPv4 Source Addr Address          This Draft
   DA
   SAv6        2     var      Dest Addr     16       IPv6 Source Address          This Draft
   LSPI
   ICC         3     var      LSP Identifier      6       ITU-T Carrier Code           This Draft
   PWI
   Global_ID   4     var      PW      4       Global Identifier            This Draft
   PID
   IF_ID       5      2       ACH Protocol      8       Network Interface ID         This Draft

   The ACH Address Type Registry should be initialized with the
   following entries.  The allocation policy for this registry is IETF
   consensus.

   Name       Type  Length   Description                  Reference
                   (octets)
   Null        0             Reserved
   IPv4        1      4      IPv4 Address                 This Draft
   IPv6        2     16      IPv6 Address
   Auth        6     var      Authentication               This Draft

6.

5.  References

6.1.

5.1.  Normative References

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

   [2]   Kompella, K. and G. Swallow, "Detecting Multi-Protocol Label
         Switched (MPLS) Data Plane Failures", RFC 4379, February 2006.

   [3]  Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.

   [4]

   [3]  Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6)
        Specification", RFC 2460, December 1998.

   [5]   Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51,
         RFC 1661, July 1994.

   [6]   Schryver, V., "IANA Considerations

   [4]  "ITU-T Recommendation M.1400, "Designations for the Point-to-Point
         Protocol (PPP)", BCP 88, RFC 3818, June 2004.

6.2. interconnections
        among operators' networks"", 2006.

   [5]  Bocci, M. and G. Swallow, "MPLS-TP Identifiers",
        draft-ietf-mpls-tp-identifiers-00 (work in progress),
        November 2009.

5.2.  Informative References

   [7]

   [6]  Bocci, M., Vigoureux, M., Bryant, S., Swallow, G., Ward, D., and R. Aggarwal, S. Bryant, "MPLS Generic
        Associated Channel",
         draft-ietf-mpls-tp-gach-gal-06 (work in progress), May RFC 5586, June 2009.

   [8]

   [7]  Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N., and S.
        Ueno, "MPLS-TP Requirements",
         draft-ietf-mpls-tp-requirements-10 (work in progress),
         August "Requirements of an MPLS Transport Profile", RFC 5654,
        September 2009.

   [9]

   [8]  Bocci, M., Bryant, S., Frost, D., Levrau, L., and L. Berger, "A
        Framework for MPLS in Transport Networks",
         draft-ietf-mpls-tp-framework-09
        draft-ietf-mpls-tp-framework-10 (work in progress),
         January
        February 2010.

   [10]  Beller,

   [9]  Katz, D. and A. Farrel, "An Inband Data Communication Network
         For the MPLS Transport Profile", draft-ietf-mpls-tp-gach-dcn-06 D. Ward, "Bidirectional Forwarding Detection",
        draft-ietf-bfd-base-11 (work in progress), September 2009. January 2010.

Authors' Addresses

   Sami Boutros
   Cisco Systems

   Phone:
   Fax:

   Email: sboutros@cisco.com
   URI:

   Stewart Bryant (editor)
   Cisco Systems

   Phone:
   Fax:

   Email: stbryant@cisco.com
   URI:

   Siva Sivabalan
   Cisco Systems

   Phone:
   Fax:

   Email: msiva@cisco.com
   URI:

   George Swallow
   Cisco Systems

   Phone:
   Fax:

   Email: swallow@cisco.com
   URI:

   David Ward
   Cisco Systems

   Phone:
   Fax:
   Juniper Networks

   Email: dward@Juniper.net

   Vishwas Manral
   IP Infusion Inc.
   Bamankhola,
   Bansgali,, Almora, Uttaranchal  263601
   India

   Email: dward@cisco.com
   URI: vishwas.ietf@gmail.com