| rfc9486xml2.original.xml | rfc9486.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Fred Baker (priva | ||||
| te) --> | ||||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
| <!-- One method to get references from the online citation libraries. | ||||
| There has to be one entity for each item to be referenced. | ||||
| An alternate method (rfc include) is described in the references. --> | ||||
| <!ENTITY RFC2119 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.2119.xml"> | ||||
| <!ENTITY RFC2784 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.2784.xml"> | ||||
| <!ENTITY RFC8174 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8174.xml"> | ||||
| <!ENTITY RFC8200 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8200.xml"> | ||||
| <!ENTITY RFC8250 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8250.xml"> | ||||
| <!ENTITY RFC5036 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.5036.xml"> | ||||
| <!ENTITY RFC4193 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.4193.xml"> | ||||
| <!ENTITY RFC1772 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.1772.xml"> | ||||
| <!ENTITY RFC9197 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.9197.xml"> | ||||
| <!ENTITY RFC4302 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.4302.xml"> | ||||
| <!ENTITY RFC9098 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.9098.xml"> | ||||
| <!ENTITY RFC9326 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.9326.xml"> | ||||
| <!DOCTYPE rfc [ | ||||
| <!ENTITY nbsp " "> | ||||
| <!ENTITY zwsp "​"> | ||||
| <!ENTITY nbhy "‑"> | ||||
| <!ENTITY wj "⁠"> | ||||
| ]> | ]> | |||
| <?rfc toc="yes"?> | ||||
| <?rfc tocompact="no"?> | ||||
| <?rfc tocdepth="3"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc sortrefs="yes"?> | ||||
| <rfc category="std" docName="draft-ietf-ippm-ioam-ipv6-options-12" | ||||
| ipr="trust200902"> | ||||
| <front> | ||||
| <title abbrev="In-situ OAM IPv6 encapsulation">In-situ OAM IPv6 | ||||
| Options</title> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | ||||
| std" consensus="true" docName="draft-ietf-ippm-ioam-ipv6-options-12" number="948 | ||||
| 6" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" toc | ||||
| Depth="3" symRefs="true" sortRefs="true" version="3"> | ||||
| <front> | ||||
| <title abbrev="IOAM IPv6 Options">IPv6 Options for In Situ Operations, | ||||
| Administration, and Maintenance (IOAM)</title> | ||||
| <seriesInfo name="RFC" value="9486"/> | ||||
| <author fullname="Shwetha Bhandari" initials="S." surname="Bhandari" role="e ditor"> | <author fullname="Shwetha Bhandari" initials="S." surname="Bhandari" role="e ditor"> | |||
| <organization abbrev="Thoughtspot">Thoughtspot</organization> | <organization abbrev="Thoughtspot">Thoughtspot</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>3rd Floor, Indiqube Orion, 24th Main Rd, Garden Lay | <extaddr>3rd Floor, Indiqube Orion</extaddr> | |||
| out, HSR Layout</street> | <street>24th Main Rd, Garden Layout, HSR Layout</street> | |||
| <city>Bangalore, KARNATAKA 560 102</city> | <city>Bangalore</city> | |||
| <country>India</country> | <region>Karnataka</region> | |||
| </postal> | <code>560 102</code> | |||
| <email>shwetha.bhandari@thoughtspot.com</email> | <country>India</country> | |||
| </address> | </postal> | |||
| <email>shwetha.bhandari@thoughtspot.com</email> | ||||
| </address> | ||||
| </author> | </author> | |||
| <author fullname="Frank Brockners" initials="F." surname="Brockners" role="e ditor"> | <author fullname="Frank Brockners" initials="F." surname="Brockners" role="e ditor"> | |||
| <organization abbrev="Cisco">Cisco Systems, Inc.</organization> | <organization abbrev="Cisco">Cisco Systems, Inc.</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>Hansaallee 249, 3rd Floor</street> | <street>Hansaallee 249, 3rd Floor</street> | |||
| <city>Duesseldorf</city> | ||||
| <!-- Reorder these if your country does things differently --> | ||||
| <city>DUESSELDORF</city> | ||||
| <code>40549</code> | <code>40549</code> | |||
| <country>Germany</country> | <country>Germany</country> | |||
| </postal> | </postal> | |||
| <email>fbrockne@cisco.com</email> | <email>fbrockne@cisco.com</email> | |||
| <!-- uri and facsimile elements may also be added --> | ||||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="September" year="2023"/> | ||||
| <date day="7" month="May" year="2023"/> | <area>tsv</area> | |||
| <area>Transport Area</area> | ||||
| <workgroup>ippm</workgroup> | <workgroup>ippm</workgroup> | |||
| <keyword></keyword> | ||||
| <abstract> | <abstract> | |||
| <t>In-situ Operations, Administration, and Maintenance (IOAM) records | <t>In situ Operations, Administration, and Maintenance (IOAM) records | |||
| operational and telemetry information in the packet while the packet | operational and telemetry information in the packet while the packet | |||
| traverses a path between two points in the network. This document | traverses a path between two points in the network. This document | |||
| outlines how IOAM data fields are encapsulated in IPv6.</t> | outlines how IOAM Data-Fields are encapsulated in IPv6.</t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section title="Introduction"> | <section numbered="true" toc="default"> | |||
| <t>In-situ Operations, Administration, and Maintenance (IOAM) records | <name>Introduction</name> | |||
| <t>In situ Operations, Administration, and Maintenance (IOAM) records | ||||
| operational and telemetry information in the packet while the packet | operational and telemetry information in the packet while the packet | |||
| traverses a path between two points in the network. IOAM concepts | traverses a path between two points in the network. IOAM concepts and | |||
| and associated nomenclature, as well as IOAM data fields are | associated nomenclature as well as IOAM Data-Fields are defined in <xref | |||
| defined in <xref target="RFC9197"/>. | target="RFC9197" format="default"/>. This document outlines how IOAM | |||
| This document outlines how IOAM data fields are encapsulated in IPv6 <xref | Data-Fields are encapsulated in IPv6 <xref target="RFC8200" | |||
| target="RFC8200"/> and discusses deployment requirements for networks that | format="default"/> and discusses deployment requirements for networks | |||
| use IPv6-encapsulated IOAM data fields.</t> | that use IPv6-encapsulated IOAM Data-Fields.</t> | |||
| <t>The terms "encapsulation" and "decapsulation" are used in this document | <t>The terms "encapsulation" and "decapsulation" are used in this | |||
| in the same way as in <xref target="RFC9197"/>: | document in the same way as in <xref target="RFC9197" format="default"/>: | |||
| An IOAM encapsulating node incorporates one or more IOAM-Option-Types | An IOAM encapsulating node incorporates one or more IOAM Option-Types | |||
| into packets. An IOAM decapsulating node removes IOAM-Option-Type(s) | into packets that IOAM is enabled for.</t> | |||
| from packets.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <name>Conventions</name> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Requirements Language</name> | ||||
| <t> | ||||
| The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | ||||
| IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
| NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | ||||
| RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | ||||
| <section title="Conventions"> | ||||
| <section title="Requirements Language"> | ||||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in BCP | ||||
| 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | ||||
| when, they appear in all capitals, as shown here.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Abbreviations"> | <name>Abbreviations</name> | |||
| <t>Abbreviations used in this document:</t> | <t>Abbreviations used in this document:</t> | |||
| <dl newline="false" spacing="normal" indent="11"> | ||||
| <t><list hangIndent="11" style="hanging"> | <dt>E2E:</dt> | |||
| <t hangText="E2E:">Edge-to-Edge</t> | <dd>Edge-to-Edge</dd> | |||
| <dt>IOAM:</dt> | ||||
| <t hangText="IOAM:">In-situ Operations, Administration, and | <dd>In situ Operations, Administration, and Maintenance as defined in | |||
| Maintenance as defined in <xref target="RFC9197"/></t> | <xref target="RFC9197" | |||
| format="default"/></dd> | ||||
| <t hangText="OAM:">Operations, Administration, and Maintenance</t> | <dt>OAM:</dt> | |||
| <dd>Operations, Administration, and Maintenance</dd> | ||||
| <t hangText="POT:">Proof of Transit</t> | <dt>POT:</dt> | |||
| </list></t> | <dd>Proof of Transit</dd> | |||
| </dl> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="In-situ OAM Metadata Transport in IPv6"> | <name>In situ OAM Metadata Transport in IPv6</name> | |||
| <t>IOAM in IPv6 is used to enhance diagnostics of IPv6 networks. | <t>IOAM in IPv6 is used to enhance diagnostics of IPv6 networks. It | |||
| It complements other mechanisms designed to enhance diagnostics of IPv6 | complements other mechanisms designed to enhance diagnostics of IPv6 | |||
| networks, such as the IPv6 Performance and Diagnostic Metrics | networks, such as the "IPv6 Performance and Diagnostic Metrics (PDM) | |||
| Destination Option described in <xref target="RFC8250"/>.</t> | Destination Option" described in <xref target="RFC8250" | |||
| format="default"/>.</t> | ||||
| <t> At the time this document was written, several implementations of IOAM | <t> At the time this document was written, several implementations of | |||
| for IPv6 exist, e.g., IOAM for IPv6 in the Linux Kernel (supported from Ke | IOAM for IPv6 exist, e.g., IOAM for IPv6 in the Linux Kernel (supported | |||
| rnel | from Kernel version 5.15 onward, | |||
| version 5.15 onwards | ||||
| <eref target="https://github.com/torvalds/linux/commit/7c804e91df523a37c29 e183ea2b10ac73c3a4f3d"> | <eref target="https://github.com/torvalds/linux/commit/7c804e91df523a37c29 e183ea2b10ac73c3a4f3d"> | |||
| IPv6 IOAM in Linux Kernel</eref>), | IPv6 IOAM in Linux Kernel</eref>) and | |||
| <eref target="https://docs.fd.io/vpp/17.04/ioam_ipv6_doc.html"> | <eref target="https://docs.fd.io/vpp/17.04/ioam_ipv6_doc.html"> | |||
| IOAM for IPv6 in VPP </eref>. | IOAM for IPv6 in Vector Packet Processing (VPP)</eref>. | |||
| </t> | </t> | |||
| <t>IOAM data fields can be encapsulated with two types of extension header | <t>IOAM Data-Fields can be encapsulated with two types of extension | |||
| s | headers in IPv6 packets -- either the hop-by-hop options header or the | |||
| in IPv6 packets - either the hop-by-hop options header or | destination options header. Multiple options with the same option type | |||
| the destination options header. Multiple options | <bcp14>MAY</bcp14> appear in the same hop-by-hop options or destination | |||
| with the same option type MAY appear in the same hop-by-hop options or | options header with distinct content.</t> | |||
| destination options header, with distinct content.</t> | ||||
| <t>An IPv6 packet carrying IOAM data in an extension header can have | <t>An IPv6 packet carrying IOAM data in an extension header can have | |||
| other extension headers, compliant with <xref target="RFC8200"/>.</t> | other extension headers, compliant with <xref target="RFC8200" format="def | |||
| ault"/>.</t> | ||||
| <t>IPv6 hop-by-hop and destination option format for carrying | <figure> | |||
| IOAM data fields:<figure> | <name>IPv6 Hop-by-Hop and Destination Option Format for Carrying | |||
| <artwork><![CDATA[ | IOAM Data-Fields</name> | |||
| <artwork name="" type="" align="center" alt=""><![CDATA[ | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Option Type | Opt Data Len | Reserved | IOAM-Opt-Type | | | Option-Type | Opt Data Len | Reserved | IOAM Opt-Type | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | |||
| | | | | | | | | |||
| . . I | . . I | |||
| . . O | . . O | |||
| . . A | . . A | |||
| . . M | . . M | |||
| . . . | . . . | |||
| . Option Data . O | . Option Data . O | |||
| . . P | . . P | |||
| . . T | . . T | |||
| skipping to change at line 166 ¶ | skipping to change at line 143 ¶ | |||
| . . M | . . M | |||
| . . . | . . . | |||
| . Option Data . O | . Option Data . O | |||
| . . P | . . P | |||
| . . T | . . T | |||
| . . I | . . I | |||
| . . O | . . O | |||
| . . N | . . N | |||
| | | | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <t><list style="hanging"> | ||||
| <t hangText="Option Type:">8-bit option type identifier as defined | ||||
| in <xref target="IANA"/>.</t> | ||||
| <t hangText="Opt Data Len:">8-bit unsigned integer. Length of this | ||||
| option, in octets, not including the first 2 octets.</t> | ||||
| <t hangText="Reserved:">8-bit field MUST be set to zero | ||||
| by the source.</t> | ||||
| <t hangText="IOAM-Option-Type:"> Abbreviated to "IOAM-Opt-Type" | ||||
| in the diagram above: 8-bit field as defined in section 4.1 of | ||||
| <xref target="RFC9197"/>.</t> | ||||
| <t hangText="Option Data:">Variable-length field. | ||||
| Option-Type-specific data.</t> | ||||
| </list></t> | ||||
| <t>IOAM Option data is inserted as follows:<list style="numbers"> | ||||
| <t>Pre-allocated Trace Option: The IOAM Preallocated Trace | ||||
| Option-Type defined in Section 4.4 of <xref target="RFC9197"/> is | ||||
| represented as an IPv6 option in the hop-by-hop extension header: <lis | ||||
| t | ||||
| style="hanging"> | ||||
| <t hangText="Option Type:">TBD_1_1 8-bit identifier of the | ||||
| IPv6 Option Type for IOAM.</t> | ||||
| <t hangText="IOAM Type:">IOAM Pre-allocated Trace Option-Type.</t> | ||||
| </list></t> | ||||
| <t>Proof of Transit Option: The IOAM POT Option-Type defined in | ||||
| Section 4.5 of <xref target="RFC9197"/> is represented as an IPv6 | ||||
| option in the hop-by-hop extension header: <list style="hanging"> | ||||
| <t hangText="Option Type:">TBD_1_1 8-bit identifier of the | ||||
| IPv6 Option Type for IOAM.</t> | ||||
| <t hangText="IOAM Type:">IOAM POT Option-Type.</t> | ||||
| </list></t> | ||||
| <t>Edge to Edge Option: The IOAM E2E option defined in Section 4.6 | ||||
| <xref target="RFC9197"/> is represented as an IPv6 option | ||||
| in destination extension header: <list style="hanging"> | ||||
| <t hangText="Option Type:">TBD_1_0 8-bit identifier of the | ||||
| IPv6 Option Type for IOAM.</t> | ||||
| <t hangText="IOAM Type:">IOAM E2E Option-Type.</t> | ||||
| </list></t> | ||||
| <t>Direct Export (DEX) Option: The IOAM Direct Export Option-Type defi | ||||
| ned in | ||||
| Section 3.2 of <xref target="RFC9326"/> is represented | ||||
| as an IPv6 option in the hop-by-hop extension header: | ||||
| <list style="hanging"> | ||||
| <t hangText="Option Type:">TBD_1_0 8-bit identifier of the | ||||
| IPv6 Option Type for IOAM.</t> | ||||
| <t hangText="IOAM Type:">IOAM Direct Export (DEX) Option-Type.</t> | <dl newline="false" spacing="normal"> | |||
| </list></t> | <dt>Option-Type:</dt> | |||
| <dd>8-bit option type identifier as defined | ||||
| in <xref target="IANA" format="default"/>.</dd> | ||||
| <dt>Opt Data Len:</dt> | ||||
| <dd>8-bit unsigned integer. Length of this | ||||
| option, in octets, not including the first 2 octets.</dd> | ||||
| <dt>Reserved:</dt> | ||||
| <dd>8-bit field <bcp14>MUST</bcp14> be set to zero | ||||
| by the source.</dd> | ||||
| <dt>IOAM Option-Type:</dt> | ||||
| <dd>Abbreviated to "IOAM Opt-Type" | ||||
| in the diagram above: 8-bit field as defined in <xref target="RFC9197" | ||||
| section="4.1" sectionFormat="of"/>.</dd> | ||||
| <dt>Option Data:</dt> | ||||
| <dd><t>Variable-length field. | ||||
| The data is specific to the Option-Type, as detailed below.</t> | ||||
| </list>All the IOAM IPv6 options defined here have alignment | <dl newline="false" spacing="normal"> | |||
| requirements. Specifically, they all require 4n alignment. This ensures | <dt>Pre-allocated Trace Option:</dt> | |||
| that fields specified in <xref target="RFC9197"/> are | <dd> | |||
| aligned at a multiple-of-4 offset from the start of the hop-by-hop and | <t>The IOAM Pre-allocated Trace Option-Type, defined in <xref | |||
| destination options header.</t> | target="RFC9197" section="4.4" sectionFormat="of"/>, is represented | |||
| as an IPv6 option in the hop-by-hop extension header:</t> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>Option-Type:</dt> | ||||
| <dd>0x31 (8-bit identifier of the IPv6 Option-Type for | ||||
| IOAM).</dd> | ||||
| <dt>IOAM Type:</dt> | ||||
| <dd>IOAM Pre-allocated Trace Option-Type.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| <dt>Proof of Transit Option-Type:</dt> | ||||
| <dd> | ||||
| <t>The IOAM POT Option-Type, defined in <xref target="RFC9197" | ||||
| section="4.5" sectionFormat="of"/>, is represented as an IPv6 | ||||
| option in the hop-by-hop extension header:</t> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>Option-Type:</dt> | ||||
| <dd>0x31 (8-bit identifier of the IPv6 Option-Type for | ||||
| IOAM).</dd> | ||||
| <dt>IOAM Type:</dt> | ||||
| <dd>IOAM POT Option-Type.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| <dt>Edge-to-Edge Option:</dt> | ||||
| <dd> | ||||
| <t>The IOAM E2E Option, defined in <xref target="RFC9197" | ||||
| section="4.6" sectionFormat="of"/>, is represented as an IPv6 | ||||
| option in destination extension header: </t> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>Option-Type:</dt> | ||||
| <dd>0x11 (8-bit identifier of the IPv6 Option-Type for | ||||
| IOAM).</dd> | ||||
| <dt>IOAM Type:</dt> | ||||
| <dd>IOAM E2E Option-Type.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| <dt>Direct Export (DEX) Option:</dt> | ||||
| <dd> | ||||
| <t>The IOAM Direct Export Option-Type, defined in <xref | ||||
| target="RFC9326" section="3.2" sectionFormat="of"/>, is | ||||
| represented as an IPv6 option in the hop-by-hop extension | ||||
| header:</t> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>Option-Type:</dt> | ||||
| <dd>0x11 (8-bit identifier of the IPv6 Option-Type for | ||||
| IOAM).</dd> | ||||
| <dt>IOAM Type:</dt> | ||||
| <dd>IOAM Direct Export (DEX) Option-Type.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>All the IOAM IPv6 options defined here have alignment | ||||
| requirements. Specifically, they all require alignment on multiples of 4 | ||||
| bytes. This ensures that fields specified in <xref target="RFC9197" | ||||
| format="default"/> are aligned at a multiple-of-4 offset from the start | ||||
| of the hop-by-hop and destination options header.</t> | ||||
| <t>IPv6 options can have a maximum length of 255 octets. Consequently, | <t>IPv6 options can have a maximum length of 255 octets. Consequently, | |||
| the total length of IOAM Option-Types including all data fields | the total length of IOAM Option-Types including all data fields is also | |||
| is also limited to 255 octets when encapsulated into IPv6.</t> | limited to 255 octets when encapsulated into IPv6.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="IOAM Deployment In IPv6 Networks"> | <name>IOAM Deployment in IPv6 Networks</name> | |||
| <t/> | <section anchor="v6_requirement" numbered="true" toc="default"> | |||
| <name>Considerations for IOAM Deployment and Implementation in IPv6 | ||||
| <section anchor="v6_requirement" | Networks</name> | |||
| title="Considerations for IOAM deployment and implementation | <t>IOAM deployments in IPv6 networks <bcp14>MUST</bcp14> take the follow | |||
| in IPv6 networks"> | ing | |||
| considerations and requirements into account.</t> | ||||
| <t>IOAM deployments in IPv6 networks MUST take the following | <ol type="C%d:"> | |||
| considerations and requirements into account:<list style="hanging"> | <li> | |||
| <t hangText="C1"> | IOAM <bcp14>MUST</bcp14> be deployed in an IOAM-Domain. An | |||
| IOAM MUST be deployed in an IOAM-Domain. An IOAM-Domain | IOAM-Domain is a set of nodes that use IOAM. An IOAM-Domain is | |||
| is a set of nodes that use IOAM. An IOAM-Domain is bounded by | bounded by its perimeter or edge. The set of nodes forming an | |||
| its perimeter or edge. The set of nodes forming an IOAM-Domain | IOAM-Domain may be connected to the same physical infrastructure | |||
| may be connected to the same physical infrastructure | (e.g., a service provider's network). They may also be remotely | |||
| (e.g., a service provider's network). They may also be remotely | connected to each other (e.g., an enterprise VPN or an overlay). It | |||
| connected to each other (e.g., an enterprise VPN or an overlay). | is expected that all nodes in an IOAM-Domain are managed by the same | |||
| It is expected that all nodes in an IOAM-Domain are managed by | administrative entity. Please refer to <xref target="RFC9197" | |||
| the same administrative entity. Please refer to | format="default"/> for more details on IOAM-Domains. | |||
| <xref target="RFC9197"/>) for more details on IOAM-Domains. | </li> | |||
| </t> | <li> | |||
| <t hangText="C2">Implementations of IOAM MUST ensure that the | Implementations of IOAM <bcp14>MUST</bcp14> ensure that the | |||
| addition of IOAM data fields does not alter the way routers | addition of IOAM Data-Fields does not alter the way routers forward | |||
| forward packets or the forwarding decisions they make. | packets or the forwarding decisions they make. Packets with added | |||
| Packets with added IOAM information must follow the same path | IOAM information must follow the same path within the domain as an | |||
| within the domain as an identical packet without IOAM information | identical packet without IOAM information would, even in the | |||
| would, even in the presence of Equal-Cost Multi-Path (ECMP). | presence of Equal-Cost Multipath (ECMP). This behavior is | |||
| This behavior is important for deployments where | important for deployments where IOAM Data-Fields are only added | |||
| IOAM data fields are only added "on-demand". | "on-demand". Implementations of IOAM <bcp14>MUST</bcp14> ensure | |||
| Implementations of IOAM MUST ensure that ECMP behavior for | that ECMP behavior for packets with and without IOAM Data-Fields is | |||
| packets with and without IOAM data fields is the same. | the same. In order for IOAM to work in IPv6 networks, IOAM | |||
| In order for IOAM to work in IPv6 networks, | <bcp14>MUST</bcp14> be explicitly enabled per interface on every | |||
| IOAM MUST be explicitly enabled per interface on every node | node within the IOAM-Domain. Unless a particular interface is | |||
| within the IOAM domain. Unless a particular interface is | explicitly enabled (i.e., explicitly configured) for IOAM, a router | |||
| explicitly enabled (i.e., explicitly configured) for IOAM, | <bcp14>MUST</bcp14> ignore IOAM Options. | |||
| a router MUST ignore IOAM Options. </t> | </li> | |||
| <li> | ||||
| <t hangText="C3"> | In order to maintain the integrity of packets in an IOAM-Domain, | |||
| In order to maintain the integrity of packets in an IOAM domain, | the Maximum Transmission Unit (MTU) of transit routers and switches | |||
| the Maximum Transmission Unit (MTU) of transit routers and switches | must be configured to a value that does not lead to an "ICMP Packet | |||
| must be configured to a value that does not lead to an ICMP | Too Big" error message being sent to the originator and the packet | |||
| Packet Too Big error message being sent to the originator and | being dropped. The PMTU tolerance range must be identified, and | |||
| the packet being dropped. | IOAM encapsulation operations or data field insertion must not | |||
| The PMTU tolerance range must be identified and IOAM encapsulation | exceed this range. Control of the MTU is critical to the proper | |||
| operations or data field insertion must not exceed this range. | operation of IOAM. The PMTU tolerance must be identified through | |||
| Control of the MTU is critical to the proper operation of IOAM. | configuration, and IOAM operations must not exceed the packet size | |||
| The PMTU tolerance must be identified through configuration and | beyond PMTU. | |||
| IOAM operations must not exceed the packet size beyond PMTU.</t> | </li> | |||
| <li> | ||||
| <t hangText="C4"> <xref target="RFC8200"/> | <xref target="RFC8200" format="default"/> precludes insertion of | |||
| precludes insertion of IOAM data directly into the original IPv6 | IOAM data directly into the original IPv6 header of in-flight | |||
| header of in-flight packets. | packets. IOAM deployments that do not encapsulate/decapsulate IOAM | |||
| IOAM deployments which do not encapsulate/decapsulate IOAM on the | on the host but desire to encapsulate/decapsulate IOAM on transit | |||
| host but desire to encapsulate/decapsulate IOAM on transit nodes | nodes <bcp14>MUST</bcp14> add an additional IPv6 header to the | |||
| MUST add an additional IPv6 header to the original packet. | original packet. IOAM data is added to this additional IPv6 header. | |||
| IOAM data is added to this additional IPv6 header. | </li> | |||
| </t> | </ol> | |||
| </list></t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="IOAM domains bounded by hosts"> | <name>IOAM-Domains Bounded by Hosts</name> | |||
| <t>For deployments where the IOAM domain is bounded by hosts, hosts | <t>For deployments where the IOAM-Domain is bounded by hosts, hosts | |||
| will perform the operation of IOAM data field encapsulation and | will perform the operation of IOAM Data-Field encapsulation and | |||
| decapsulation, i.e., hosts will place the IOAM data fields | decapsulation, i.e., hosts will place the IOAM Data-Fields | |||
| directly in the IPv6 header or remove the IOAM data fields directly | directly in the IPv6 header or remove the IOAM Data-Fields directly | |||
| from the IPv6 header. IOAM data is carried in IPv6 packets as hop-by-hop or | from the IPv6 header. IOAM data is carried in IPv6 packets as hop-by-hop or | |||
| destination options as specified in this document.</t> | destination options as specified in this document.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="IOAM domains bounded by network devices"> | <name>IOAM-Domains Bounded by Network Devices</name> | |||
| <t>For deployments where the IOAM domain is bounded by network | <t>For deployments where the IOAM-Domain is bounded by network | |||
| devices, network devices such as routers form the edge of an IOAM | devices, network devices such as routers form the edge of an | |||
| domain. Network devices will perform the operation of IOAM data field | IOAM-Domain. Network devices will perform the operation of IOAM | |||
| encapsulation and decapsulation. Network devices will encapsulate | Data-Field encapsulation and decapsulation. Network devices will | |||
| IOAM data fields in an additional, outer, IPv6 header which | encapsulate IOAM Data-Fields in an additional, outer, IPv6 header that | |||
| carries the IOAM data fields.</t> | carries the IOAM Data-Fields.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>This document describes the encapsulation of IOAM data fields in | <t>This document describes the encapsulation of IOAM Data-Fields in | |||
| IPv6. For general IOAM security considerations, | IPv6. For general IOAM security considerations, see <xref | |||
| see <xref target="RFC9197"/>. Security considerations of the specific | target="RFC9197" format="default"/>. Security considerations of the | |||
| IOAM data fields for each case (i.e., Trace, Proof of Transit, and E2E) | specific IOAM Data-Fields for each case (i.e., Trace, POT, and E2E) are | |||
| are also described and defined in <xref target="RFC9197"/>.</t> | also described and defined in <xref target="RFC9197" | |||
| format="default"/>.</t> | ||||
| <t>As this document describes new options for IPv6, the | <t>As this document describes new options for IPv6, the | |||
| security considerations of <xref target="RFC8200"/> and | security considerations of <xref target="RFC8200" format="default"/> and | |||
| <xref target="RFC8250"/> apply.</t> | <xref target="RFC8250" format="default"/> apply.</t> | |||
| <t>From a network-protection perspective, there is an assumed trust | ||||
| <t>From a network-protection perspective, there is an assumed | model such that any node that adds IOAM to a packet, removes IOAM from a | |||
| trust model such that any node that adds IOAM to a packet, | packet, or modifies IOAM Data-Fields of a packet is assumed to be | |||
| removes IOAM from a packet, or modifies IOAM data fields | allowed to do so. By default, packets that include IPv6 extension | |||
| of a packet is assumed to be allowed to do so. By default, packets that | headers with IOAM information <bcp14>MUST NOT</bcp14> be leaked through | |||
| include IPv6 extension headers with IOAM information MUST NOT | the boundaries of the IOAM-Domain.</t> | |||
| be leaked through the boundaries of the IOAM-Domain.</t> | <t>IOAM-Domain boundary routers <bcp14>MUST</bcp14> filter any incoming | |||
| <t>IOAM-Domain boundary routers MUST filter any incoming traffic | traffic from outside the IOAM-Domain that contains IPv6 extension | |||
| from outside the IOAM-Domain that contains IPv6 extension headers | headers with IOAM information. IOAM-Domain boundary routers | |||
| with IOAM information. IOAM-Domain boundary routers MUST | <bcp14>MUST</bcp14> also filter any outgoing traffic leaving the | |||
| also filter any outgoing traffic leaving the IOAM-Domain that | IOAM-Domain that contains IPv6 extension headers with IOAM | |||
| contains IPv6 extension headers with IOAM information.</t> | information.</t> | |||
| <t>In the general case, an IOAM node only adds, removes, or modifies | <t>In the general case, an IOAM node only adds, removes, or modifies | |||
| an IPv6 extension header with IOAM information, if the | an IPv6 extension header with IOAM information, if the | |||
| directive to do so comes from a trusted source and the directive | directive to do so comes from a trusted source and the directive | |||
| is validated.</t> | is validated.</t> | |||
| <t>Problems may occur if the above behaviors are not implemented | <t>Problems may occur if the above behaviors are not implemented | |||
| or if the assumed trust model is violated (e.g., through a security | or if the assumed trust model is violated (e.g., through a security | |||
| breach). In addition to the security considerations discussed in | breach). In addition to the security considerations discussed in | |||
| <xref target="RFC9197"/>, the security considerations associated | <xref target="RFC9197" format="default"/>, the security considerations ass | |||
| with IPv6 extension headers listed in <xref target="RFC9098"/> apply.</t> | ociated | |||
| with IPv6 extension headers listed in <xref target="RFC9098" format="defau | ||||
| <section title="Applicability of AH"> | lt"/> apply.</t> | |||
| <t> | <section numbered="true" toc="default"> | |||
| The network devices in an IOAM-Domain are trusted to add, update and remov | <name>Applicability of Authentication Header (AH)</name> | |||
| e | <t> The network devices in an IOAM-Domain are trusted to add, update, | |||
| IOAM options according to the constraints specified in <xref target="RFC82 | and remove IOAM options according to the constraints specified in | |||
| 00"/>. | <xref target="RFC8200" format="default"/>. IOAM-Domain does not rely | |||
| IOAM domain does not rely on the Authentication Header (AH) as defined in | on the AH as defined in <xref target="RFC4302" format="default"/> to | |||
| <xref target="RFC4302"/> to secure IOAM options. | secure IOAM options. The use of IOAM options with AH and its | |||
| The use of IOAM options with AH and its processing is not defined | processing are not defined in this document. Future documents may | |||
| in this document. Future documents may define the use of IOAM with AH and | define the use of IOAM with AH and its processing.</t> | |||
| its processing.</t> | </section> | |||
| </section> | ||||
| </section> | ||||
| <section anchor="IANA" title="IANA Considerations"> | ||||
| <t>This draft requests the following IPv6 Option Type assignments from | ||||
| the destination options and hop-by-hop options sub-registry of Internet | ||||
| Protocol Version 6 (IPv6) Parameters.</t> | ||||
| <t>http://www.iana.org/assignments/ipv6-parameters/ipv6- | ||||
| parameters.xhtml#ipv6-parameters-2</t> | ||||
| <t><figure> | ||||
| <artwork><![CDATA[ | ||||
| Hex Value Binary Value Description Reference | ||||
| act chg rest | ||||
| ------------------------------------------------------------------ | ||||
| TBD_1_0 00 0 TBD_1 IOAM [This draft] | ||||
| destination option | ||||
| and | ||||
| IOAM hop-by-hop option | ||||
| TBD_1_1 00 1 TBD_1 IOAM [This draft] | ||||
| destination option | ||||
| and | ||||
| IOAM hop-by-hop option | ||||
| ]]></artwork> | ||||
| </figure></t> | ||||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <t>IANA has assigned the IPv6 Option-Types from | ||||
| the "Destination Options and Hop-by-Hop Options" subregistry of | ||||
| "Internet Protocol Version 6 (IPv6) Parameters" <eref | ||||
| target="https://www.iana.org/assignments/ipv6-parameters/" | ||||
| brackets="angle"/>.</t> | ||||
| <table> | ||||
| <thead> | ||||
| <tr> | ||||
| <th rowspan="2">Hex Value</th> | ||||
| <th colspan="3">Binary Value</th> | ||||
| <th rowspan="2">Description</th> | ||||
| <th rowspan="2">Reference</th> | ||||
| </tr> | ||||
| <tr> | ||||
| <th>act</th> | ||||
| <th>chg</th> | ||||
| <th>rest</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>0x11</td> | ||||
| <td>00</td> | ||||
| <td>0</td> | ||||
| <td>10001</td> | ||||
| <td>IOAM Destination Option and IOAM Hop-by-Hop Option</td> | ||||
| <td>RFC 9486</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>0x31</td> | ||||
| <td>00</td> | ||||
| <td>1</td> | ||||
| <td>10001</td> | ||||
| <td>IOAM Destination Option and IOAM Hop-by-Hop Option</td> | ||||
| <td>RFC 9486</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <section title="Acknowledgements"> | ||||
| <t>The authors would like to thank Tom Herbert, Eric Vyncke, Nalini | ||||
| Elkins, Srihari Raghavan, Ranganathan T S, Karthik Babu Harichandra | ||||
| Babu, Akshaya Nadahalli, Stefano Previdi, Hemant Singh, Erik Nordmark, | ||||
| LJ Wobker, Mark Smith, Andrew Yourtchenko and Justin Iurman for the | ||||
| comments and advice. For the IPv6 encapsulation, this document leverages | ||||
| concepts described in <xref target="I-D.kitamura-ipv6-record-route"/>. | ||||
| The authors would like to acknowledge the work done by the author | ||||
| Hiroshi Kitamura and people involved in writing it.</t> | ||||
| </section> | </section> | |||
| <!----> | ||||
| <!-- --> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | ||||
| &RFC2119; | ||||
| &RFC8174; | ||||
| &RFC9197; | <displayreference target="I-D.kitamura-ipv6-record-route" to="IPV6-RECORD-ROUTE" /> | |||
| &RFC9326; | <references> | |||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 119.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 174.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
| 197.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
| 326.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 200.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 250.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
| 302.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
| 098.xml"/> | ||||
| <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | ||||
| .kitamura-ipv6-record-route.xml"/> | ||||
| </references> | ||||
| </references> | </references> | |||
| <references title="Informative References"> | <section numbered="false" toc="default"> | |||
| &RFC8200; | <name>Acknowledgements</name> | |||
| <t>The authors would like to thank <contact fullname="Tom Herbert"/>, | ||||
| &RFC8250; | <contact fullname="Éric Vyncke"/>, <contact fullname="Nalini Elkins"/>, | |||
| <contact fullname="Srihari Raghavan"/>, <contact fullname="Ranganathan T S | ||||
| &RFC4302; | "/>, <contact fullname="Karthik Babu Harichandra Babu"/>, <contact | |||
| fullname="Akshaya Nadahalli"/>, <contact fullname="Stefano Previdi"/>, | ||||
| &RFC9098; | <contact fullname="Hemant Singh"/>, <contact fullname="Erik Nordmark"/>, | |||
| <contact fullname="LJ Wobker"/>, <contact fullname="Mark Smith"/>, | ||||
| <reference anchor="I-D.kitamura-ipv6-record-route"> | <contact fullname="Andrew Yourtchenko"/>, and <contact fullname="Justin | |||
| <front> | Iurman"/> for the comments and advice. For the IPv6 encapsulation, this | |||
| <title>Record Route for IPv6 (PR6) Hop-by-Hop Option | document leverages concepts described in <xref | |||
| Extension</title> | target="I-D.kitamura-ipv6-record-route" format="default"/>. The authors | |||
| would like to acknowledge the work done by the author <contact | ||||
| <author fullname="Hiroshi Kitamura" initials="H" surname="Kitamura"/> | fullname="Hiroshi Kitamura"/> and people involved in writing it.</t> | |||
| </section> | ||||
| <date month="November" year="2000"/> | ||||
| </front> | ||||
| <seriesInfo name="Internet-Draft" | ||||
| value="draft-kitamura-ipv6-record-route-00"/> | ||||
| <format target="https://tools.ietf.org/id/draft-kitamura-ipv6-record-rou | ||||
| te-00.txt" | ||||
| type="TXT"/> | ||||
| </reference> | ||||
| </references> | <section numbered="false" toc="default"> | |||
| <section numbered="no" title="Contributors"> | <name>Contributors</name> | |||
| <t>This document was the collective effort of several authors. The tex | ||||
| t | ||||
| and content were contributed by the editors and the co-authors listed | ||||
| below. The contact information of the co-authors appears at the end of | ||||
| this document.</t> | ||||
| <t><list style="symbols"> | <t>This document was the collective effort of several authors. The text | |||
| <t>Carlos Pignataro</t> | and content were contributed by the editors and the coauthors listed | |||
| <t>Hannes Gredler</t> | below.</t> | |||
| <t>John Leddy</t> | ||||
| <t>Stephen Youell</t> | ||||
| <t>Tal Mizrahi</t> | ||||
| <t>Aviv Kfir</t> | ||||
| <t>Barak Gafni</t> | ||||
| <t>Petr Lapukhov</t> | ||||
| <t>Mickey Spiegel</t> | ||||
| <t>Suresh Krishnan</t> | ||||
| <t>Rajiv Asati</t> | ||||
| <t>Mark Smith</t> | ||||
| </list></t> | ||||
| </section> | ||||
| <section numbered="no" title="Contributors' Addresses"> | <contact fullname="Carlos Pignataro"> | |||
| <t><figure> | <organization>Cisco Systems, Inc.</organization> | |||
| <artwork><![CDATA[ | <address> | |||
| <postal> | ||||
| <street>7200-11 Kit Creek Road</street> | ||||
| <city>Research Triangle Park</city> | ||||
| <region>NC</region><code>27709</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>cpignata@cisco.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Carlos Pignataro | <contact fullname="Hannes Gredler"> | |||
| Cisco Systems, Inc. | <organization>RtBrick Inc.</organization> | |||
| 7200-11 Kit Creek Road | <address> | |||
| Research Triangle Park, NC 27709 | <email>hannes@rtbrick.com</email> | |||
| United States | </address> | |||
| Email: cpignata@cisco.com | </contact> | |||
| Hannes Gredler | <contact fullname="John Leddy"> | |||
| RtBrick Inc. | <address> | |||
| Email: hannes@rtbrick.com | <email>john@leddy.net</email> | |||
| </address> | ||||
| </contact> | ||||
| John Leddy | <contact fullname="Stephen Youell"> | |||
| Email: john@leddy.net | <organization>JP Morgan Chase</organization> | |||
| <address> | ||||
| <postal> | ||||
| <street>25 Bank Street</street> | ||||
| <city>London</city><code>E14 5JP</code> | ||||
| <country>United Kingdom</country> | ||||
| </postal> | ||||
| <email>stephen.youell@jpmorgan.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Stephen Youell | <contact fullname="Tal Mizrahi"> | |||
| JP Morgan Chase | <organization>Huawei Network.IO Innovation Lab</organization> | |||
| 25 Bank Street | <address> | |||
| London E14 5JP | <postal> | |||
| United Kingdom | <country>Israel</country> | |||
| Email: stephen.youell@jpmorgan.com | </postal> | |||
| <email>tal.mizrahi.phd@gmail.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Tal Mizrahi | <contact fullname="Aviv Kfir"> | |||
| Huawei Network.IO Innovation Lab | <organization>Mellanox Technologies, Inc.</organization> | |||
| Israel | <address> | |||
| Email: tal.mizrahi.phd@gmail.com | <postal> | |||
| <street>350 Oakmead Parkway, Suite 100</street> | ||||
| <city>Sunnyvale</city> <region>CA</region><code>94085</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>avivk@mellanox.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Aviv Kfir | <contact fullname="Barak Gafni"> | |||
| Mellanox Technologies, Inc. | <organization>Mellanox Technologies, Inc.</organization> | |||
| 350 Oakmead Parkway, Suite 100 | <address> | |||
| Sunnyvale, CA 94085 | <postal> | |||
| U.S.A. | <street>350 Oakmead Parkway, Suite 100</street> | |||
| Email: avivk@mellanox.com | <city>Sunnyvale</city><region>CA</region><code>94085</code> | |||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>gbarak@mellanox.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Barak Gafni | <contact fullname="Petr Lapukhov"> | |||
| Mellanox Technologies, Inc. | <organization>Facebook</organization> | |||
| 350 Oakmead Parkway, Suite 100 | <address> | |||
| Sunnyvale, CA 94085 | <postal> | |||
| U.S.A. | <street>1 Hacker Way</street> | |||
| Email: gbarak@mellanox.com | <city>Menlo Park</city><region>CA</region><code>94025</code> | |||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>petr@fb.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Petr Lapukhov | <contact fullname="Mickey Spiegel"> | |||
| <organization>Barefoot Networks, an Intel company</organization> | ||||
| 1 Hacker Way | <address> | |||
| Menlo Park, CA 94025 | <postal> | |||
| US | <street>4750 Patrick Henry Drive</street> | |||
| Email: petr@fb.com | <city>Santa Clara</city><region>CA</region><code>95054</code> | |||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>mickey.spiegel@intel.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Mickey Spiegel | <contact fullname="Suresh Krishnan"> | |||
| Barefoot Networks, an Intel company | <organization>Kaloom</organization> | |||
| 4750 Patrick Henry Drive | <address> | |||
| Santa Clara, CA 95054 | <email>suresh@kaloom.com</email> | |||
| US | </address> | |||
| Email: mickey.spiegel@intel.com | </contact> | |||
| Suresh Krishnan | <contact fullname="Rajiv Asati"> | |||
| Kaloom | <organization>Cisco Systems, Inc.</organization> | |||
| Email: suresh@kaloom.com | <address> | |||
| <postal> | ||||
| <street>7200 Kit Creek Road</street> | ||||
| <city>Research Triangle Park</city><region>NC</region><code>27709</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>rajiva@cisco.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Rajiv Asati | <contact fullname="Mark Smith"> | |||
| Cisco Systems, Inc. | <address> | |||
| 7200 Kit Creek Road | <postal> | |||
| Research Triangle Park, NC 27709 | <street>PO BOX 521</street> | |||
| US | <city>Heidelberg</city><region>VIC</region><code>3084</code> | |||
| Email: rajiva@cisco.com | <country>Australia</country> | |||
| </postal> | ||||
| <email>markzzzsmith+id@gmail.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| Mark Smith | ||||
| PO BOX 521 | ||||
| HEIDELBERG, VIC 3084 | ||||
| AU | ||||
| Email: markzzzsmith+id@gmail.com | ||||
| ]]></artwork> | ||||
| </figure></t> | ||||
| </section> | </section> | |||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 67 change blocks. | ||||
| 464 lines changed or deleted | 491 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||