One document matched: draft-bryant-mpls-tp-ach-tlv-01.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-01"
     ipr="trust200902">
  <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" role="editor"
            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 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.</t>

      <t>NOTE the family of Address Types 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 of
      an additional sections similar to <xref target="IPv4A"></xref>.</t>

      <t>NOTE other TLV types will be added in further revisions of this
      document. The authors request that members if the MPLS-TP community
      requiring new TLVs to complete there MPLS-TP specifications provide
      details of their required TLV in the form of text for the creation of
      additional sections similar to <xref target="SAs"></xref>.</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>The MPLS generic associated channel header specification <xref
      target="I-D.ietf-mpls-tp-gach-gal"></xref> (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 <xref target="I-D.ietf-mpls-tp-requirements"></xref>,
      <xref target="I-D.ietf-mpls-tp-framework"></xref>. 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 TLVs from defined in this document may be used as
      sub-TLVs in the construction of compound TLV structures.</t>
    </section>

    <section title="ACH TLV Object Definitions">
      <t>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 the
      value component.</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 security reasons the value must be
        zero.</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|         AchTlvType = 0        |       Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                             Value = 0                         ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



]]></artwork>

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

      <section anchor="SAs" title="Source Address ">
        <t>This TLV specifies the source address (SA) of an ACH packet. </t>

        <t>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 being responded to.</t>

        <t>The address is an ACH address as described in <xref
        target="ACHadd"></xref>.</t>

        <t><figure anchor="SA" title="Source Address">
            <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AchTlvType = 1         |       Length                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                           Address                             |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



]]></artwork>

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

      <section title="Destination Address">
        <t>This TLV specifies the destination address (DA) of an ACH
        packet.</t>

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

        <t>The address is an ACH address as described in <xref
        target="ACHadd"></xref>.</t>

        <t><figure anchor="DA" title="Destination Address">
            <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AchTlvType = 2        |        Length                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                           Address                             |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



]]></artwork>

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

      <section title="Label Switched Path Identifier (LSPI)">
        <t>This TLV is used to identify a Label Switched Path (LSP).</t>

        <figure anchor="LSPID" title="Label Switched Path Identifier">
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AchTlvType = 3        |       Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                              TBD                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



]]></artwork>

          <postamble></postamble>
        </figure>

        <t>This will draw on the contents of <xref target="RFC4379"></xref>.
        Further material will be added in a future version of this
        document.</t>
      </section>

      <section title="Pseudowire Identifier (PWI)">
        <t>This TLV is used to identify a pseudowire.</t>

        <figure anchor="PWID" title="Pseudowire Identifier">
          <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         AchTlvType = 4        |       Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                              TBD                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



]]></artwork>

          <postamble></postamble>
        </figure>

        <t>This will draw on the contents of <xref target="RFC4379"></xref>.
        Further material will be added in a future version of this
        document.</t>
      </section>
    </section>

    <section anchor="ACHadd" title="ACH Addresses">
      <t>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.</t>

      <t>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 in the TV instance.
      Although many address types are of fixed length, and some which are not
      incorporate a length indicator, this may not always be the case and
      hence a length field is incorporated in the address TLV. </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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          AddType              |       Length                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                            Address                            |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
        </figure></t>

      <section anchor="IPv4A" title="IPv4 Address">
        <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          AddType = 1          |       Length = 4              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         IPv4 Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
          </figure></t>

        <t>This address TLV contains an IPv4 address as defined in <xref
        target="RFC0791"></xref>.</t>
      </section>

      <section title="IPv6 Address">
        <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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          AddType = 2          |       Length = 16             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                        IPv6 Address                           |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
          </figure></t>

        <t>This address TLV contains an IPv6 address as defined in <xref
        target="RFC1883"></xref></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 to create two new registries in the pseudowire name
      spaces: the ACH TLV Registry and the ACH Address Type Registry.</t>

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

      <figure>
        <artwork><![CDATA[
Name       Type  Length    Description                  Reference
                (octets)
Null        0      3       Null TLV                     This Draft
SA          1     var      Source Addr                  This Draft
DA          2     var      Dest Addr                    This Draft
LSPI        3     var      LSP Identifier               This Draft
PWI         4     var      PW Identifier                This Draft

]]></artwork>

        <postamble></postamble>
      </figure>

      <t></t>

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

      <figure>
        <artwork><![CDATA[
Name       Type  Length   Description                  Reference
                (octets)
Null        0             Reserved
IPv4        1      4      IPv4 Address                 This Draft
IPv6        2     16      IPv6 Address                 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'?>

      <?rfc include='reference.I-D.ietf-mpls-tp-requirements'?>

      <?rfc include='reference.I-D.ietf-mpls-tp-framework'?>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-22 22:23:48