One document matched: draft-bryant-mpls-tp-ach-tlv-00.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc symrefs="no"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc toc="yes"?>
<rfc category="std" docName="draft-bryant-mpls-tp-ach-tlv-00"
     ipr="trust200811">
  <front>
    <title abbrev="ACH TLV">Definition of ACH TLV Structure</title>

    <author fullname="Sami Boutros" initials="S" surname="Boutros">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <facsimile></facsimile>

        <email>sboutros@cisco.com</email>

        <uri></uri>
      </address>
    </author>

    <author fullname="Stewart Bryant" initials="S" surname="Bryant">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <facsimile></facsimile>

        <email>stbryant@cisco.com</email>

        <uri></uri>
      </address>
    </author>

    <author fullname="Siva Sivabalan" initials="S" surname="Sivabalan">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <facsimile></facsimile>

        <email>msiva@cisco.com</email>

        <uri></uri>
      </address>
    </author>

    <author fullname="George Swallow" initials="G " surname="Swallow">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <facsimile></facsimile>

        <email>swallow@cisco.com</email>

        <uri></uri>
      </address>
    </author>

    <author fullname="David Ward" initials="D" surname="Ward">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <facsimile></facsimile>

        <email>dward@cisco.com</email>

        <uri></uri>
      </address>
    </author>

    <date year="2009" />

    <area>Internet</area>

    <workgroup>MPLS</workgroup>

    <keyword></keyword>

    <keyword></keyword>

    <keyword>MPLS</keyword>

    <keyword>Internet-Draft</keyword>

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

    <note title="Requirements Language">
      <t>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 <xref
      target="RFC2119">RFC2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>In some application of the associated channel header (ACH) <xref
      target="RFC4385"></xref> as generalized in <xref
      target="I-D.ietf-mpls-tp-gach-gal"></xref> (GACH) it is necessary to
      have to ability to include a set of TLVs to provide additional context
      information for the ACH payload. 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.</t>

      <t>Additionally GACH TLVs may be embedded with GACH TLVs to form higher
      level constructs. For example a path-list TLV is a TLV which contains a
      list of address TLVs of appropriate address type.</t>
    </section>

    <section title="ACH TLV">
      <t>This section describes the structure of the set of TLVs that MAY
      follow an ACH. It then describes the structure of a ACH TLV object.</t>

      <t>An ACH TLV header MUST follow an ACH if the ATLV bit is set in the
      ACH <xref target="I-D.ietf-mpls-tp-gach-gal"></xref>. Figure 2 shows the
      structure of a packet payload when an ACH with the ATLV bit set.</t>

      <t><figure anchor="ACHContext" title="ACH TLV Structure">
          <preamble></preamble>

          <artwork><![CDATA[ 
+---------------------------------------------+
| Associated Channel Header with ATLV bit = 1 |
+---------------------------------------------+
| ACH TLV Header                              |
+---------------------------------------------+
|                                             |
. One or more ACH TLV                         .
.                                             .
|                                             |
+---------------------------------------------+
|                                             |
. ACH Payload as defined by ACH Type          .  
|                                             |
+---------------------------------------------+



]]></artwork>

          <postamble></postamble>
        </figure></t>

      <section title="ACH TLV Header">
        <t>The ACH TLV Header defines the length of the set of ACH TLVs that
        follow ACH header.</t>

        <figure anchor="ACHhdr" title="ACH TLV Header">
          <preamble></preamble>

          <artwork><![CDATA[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Length                 |          Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>

          <postamble></postamble>
        </figure>

        <t>The length field specifies the length in octets of the complete set
        of TLVs that follow the ACH TLV header. A length of zero indicates
        that no ACH TLVs follow this header.</t>

        <t>The reserved field is for future use and must be set to zero on
        transmission and ignored on reception.</t>
      </section>

      <section title="ACH TLV Object">
        <t>The ACH TLV object consists of a 16 bit type field, followed by a
        16 bit length field which specifies the number of octets that follow
        the length field. This is followed zero or more octets of value
        information.</t>

        <t>The semantics of the value information are defined by the ACH TLV
        Type as recorded in the ACH TLV Type registry.</t>

        <t><figure anchor="ACHTLVObject" title="ACH TLV Object">
            <preamble></preamble>

            <artwork><![CDATA[ 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   ACH TLV Type                |          Length               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                             Value                             ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




]]></artwork>

            <postamble></postamble>
          </figure></t>

        <t>Most of the ACH TLV types specified by this document are common
        address types which need no need no further explanation. Any types
        which are not simple addresses are described in the following
        section.</t>
      </section>
    </section>

    <section title="ACH TLV Object Definitions">
      <t>This section provides further definition for a number of ACH TLV
      objects.</t>

      <section title="The Null TLV Object">
        <t>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 example it might be used to reserve space
        for a record route operation.</t>

        <t><figure anchor="NullTLV" title="Null TLV Object">
            <preamble></preamble>

            <artwork><![CDATA[ 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 = 0             |       Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                             Value = 0                         ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



]]></artwork>

            <postamble></postamble>
          </figure></t>
      </section>

      <section title="Type FEC128PWv4">
        <t>This TLV contains a non-zero 32-bit pseudowire connection ID (PW
        ID) as specified in Section 5.2 of <xref target="RFC4447"></xref> that
        terminates on a PE identified by an IPv4 address.</t>

        <t><figure>
            <artwork><![CDATA[ 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 = FEC128PWv4    |       Length = 12             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          IPv4 Address                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Group ID                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          PW ID                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>
      </section>

      <section title="Type FEC128PWv6">
        <t>This TLV contains a non-zero 32-bit pseudowire connection ID (PW
        ID) as specified in Section 5.2 of <xref target="RFC4447"></xref> that
        terminates on a PE identified by an IPv6 address.</t>

        <t><figure>
            <artwork><![CDATA[ 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 = FEC128PWv4    |       Length =  24            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                          IPv6 Address                         ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Group ID                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          PW ID                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>
      </section>

      <section title="Type FEC129PWv4">
        <t>This TLV contains the Generalized ID FEC Element as specified in
        Section 5.3.2 of <xref target="RFC4447"></xref> (i.e. The complete
        structure containing the AGI, SAII and TAII in the referenced section)
        that terminates on a PE identified by an IPv4 address.</t>

        <t><figure>
            <artwork><![CDATA[ 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 = FEC129PWv4    |       Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          IPv4 Address                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   AGI Type    |    Length     |      Value                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    AGI  Value (contd.)                        ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   AII Type    |    Length     |      Value                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                   SAII  Value (contd.)                        ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   AII Type    |    Length     |      Value                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                   TAII Value (contd.)                         ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



]]></artwork>
          </figure></t>
      </section>

      <section title="Type FEC129PWv6">
        <t>This TLV contains the Generalized ID FEC Element as specified in
        Section 5.3.2 of <xref target="RFC4447"></xref> (i.e. The complete
        structure containing the AGI, SAII and TAII in the referenced section)
        that terminates on a PE identified by an IPv6 address.</t>

        <t><figure>
            <artwork><![CDATA[ 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 = FEC129PWv6    |       Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          IPv6 Address                         |
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   AGI Type    |    Length     |      Value                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    AGI  Value (contd.)                        ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   AII Type    |    Length     |      Value                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                   SAII  Value (contd.)                        ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   AII Type    |    Length     |      Value                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                   TAII Value (contd.)                         ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>

        <t></t>
      </section>

      <section title="Type ConnName">
        <t>This is an octet string that identifies the name of the connection.
        The encoding of the octets and the and the semantics of the string are
        outside the scope of this document.</t>
      </section>

      <section title="Path-list">
        <t>This TLV contains a list of identifiers that are associated with
        the path of the packet. It consists of a TLV that identifies this is a
        path-list TLV with a value that consists of a set of address TLVs.</t>

        <t><figure>
            <artwork><![CDATA[ 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 = Path-list   |         Length = var            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type = AddressX    |         Length = var            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                          Address                              ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                                                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type = AddressX    |         Length = var            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                          Address                              ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>

        <t>By way of further illustration the following is a path-list that
        contains 3 IPv4 addresses.</t>

        <figure>
          <artwork><![CDATA[ 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 = path-list   |         Length = 24             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type = IPv4DA      |         Length = 4              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          IPv4 Address                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type = IPv4DA      |         Length = 4              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          IPv4 Address                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Type = IPv4DA      |         Length = 4              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          IPv4 Address                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>

        <t></t>

        <t>A path-list may contain a Null TLV.</t>
      </section>
    </section>

    <section title="Security Considerations">
      <t>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.</t>
    </section>

    <section title="IANA Considerations">
      <t>IANA is requested create a new registry called ACH TLV Registry. The
      allocation policy for this registry is IETF consensus.</t>

      <t>The ACH TLV Registry should be initialized with the following
      values:</t>

      <figure>
        <artwork><![CDATA[
Name       Type  Length   Description                  Definition   Reference
                (octets)
Null        0      3      Null TLV                     This Draft   This Draft
IPv4DA      1      4      IPv4 Destination Addr        RFC791       This Draft
IPv4SA      2      4      IPv4 Source Addr             RFC791       This Draft
IPv6DA      3     16      IPv6 Destination Addr        RFC1883      This Draft
IPv6SA      4     16      IPv6 Source Addr             RFC1883      This Draft   
MACSA       5      6      IEEE Mac Destination Addr                 This Draft  
MACDA       6      6      IEEE Mac Destination Addr                 This Draft
NSAPSA      7    var      OSI NSAP Source Addr         ISO8348      This Draft
NSAPDA      8    var      OSI NSAP Source Addr         ISO8348      This Draft
FEC128PWv4  9     12      FEC 128 PW Identifier v4 PE  RFC4447      This Draft
FEC128PWv6 10     24      FEC 128 PW Identifier v6 PE  RFC4447      This Draft
FEC129PWv4 11    var      FEC 129 PW Identifier v4 PE  RFC4447      This Draft
FEC129PWv6 12    var      FEC 129 PW Identifier v6 PE  RFC4447      This Draft
ConnName   13    var      Octet connection name        This draft   This Draft
Path-list  14    var      Path-list                    This draft   This Draft

]]></artwork>

        <postamble></postamble>
      </figure>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.2119'?>

      <?rfc include='reference.RFC.4447'?>

      <?rfc include='reference.RFC.0791'?>

      <?rfc include='reference.RFC.1883'?>

      <?rfc include='reference.RFC.4379'?>

      <?rfc include='reference.RFC.4385'?>

      <?rfc include='reference.RFC.4378'?>

      <?rfc include='reference.RFC.3032'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.I-D.ietf-mpls-tp-gach-gal'?>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-22 22:55:03