| rfc9279xml2.original.xml | rfc9279.xml | |||
|---|---|---|---|---|
| <?xml version='1.0'?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM 'rfc2629.dtd'> | <!DOCTYPE rfc [ | |||
| <rfc category="std" docName="draft-ietf-pim-igmp-mld-extension-08" | <!ENTITY nbsp " "> | |||
| ipr="trust200902"> | <!ENTITY zwsp "​"> | |||
| <?rfc toc="yes"?> | <!ENTITY nbhy "‑"> | |||
| <?rfc compact="yes"?> | <!ENTITY wj "⁠"> | |||
| <?rfc subcompact="no"?> | ]> | |||
| <?rfc symrefs="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="9279" category="std" con | |||
| <front> | sensus="true" docName="draft-ietf-pim-igmp-mld-extension-08" ipr="trust200902" o | |||
| <title abbrev="IGMPv3/MLDv2 message extension"> | bsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sor | |||
| Internet Group Management Protocol version 3 (IGMPv3) and | tRefs="true" symRefs="true" version="3"> | |||
| Multicast Listener Discovery version 2 (MLDv2) Message Extension | ||||
| </title> | ||||
| <author fullname="Mahesh Sivakumar" initials="M." surname="Sivakumar"> | ||||
| <organization>Juniper Networks</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>64 Butler St</street> | ||||
| <city>Milpitas</city> | ||||
| <code>CA 95035</code> | ||||
| <country>USA</country> | ||||
| </postal> | ||||
| <email>sivakumar.mahesh@gmail.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Stig Venaas" initials="S." surname="Venaas"> | ||||
| <organization>Cisco Systems, Inc.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>Tasman Drive</street> | ||||
| <city>San Jose</city> | ||||
| <code>CA 95134</code> | ||||
| <country>USA</country> | ||||
| </postal> | ||||
| <email>stig@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Zheng(Sandy) Zhang" initials="Z." surname="Zhang"> | ||||
| <organization>ZTE Corporation</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>No. 50 Software Ave, Yuhuatai District</street> | ||||
| <city>Nanjing</city> | ||||
| <region/> | ||||
| <code>210000</code> | ||||
| <country>China</country> | ||||
| </postal> | ||||
| <email>zhang.zheng@zte.com.cn</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Hitoshi Asaeda" initials="H." surname="Asaeda"> | ||||
| <organization abbrev="NICT">National Institute of Information and | ||||
| Communications Technology</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>4-2-1 Nukui-Kitamachi</street> | ||||
| <city>Koganei, Tokyo</city> | ||||
| <region/> | ||||
| <code>184-8795</code> | ||||
| <country>Japan</country> | ||||
| </postal> | ||||
| <email>asaeda@nict.go.jp</email> | ||||
| </address> | ||||
| </author> | ||||
| <date/> | ||||
| <area>Routing</area> | ||||
| <keyword>Multicast</keyword> | ||||
| <abstract> | <front> | |||
| <t>This document specifies a generic mechanism to extend IGMPv3 and | <title abbrev="IGMPv3/MLDv2 Message Extension"> | |||
| MLDv2 by using a list of TLVs (Type, Length and Value). | Internet Group Management Protocol Version 3 (IGMPv3) and | |||
| </t> | Multicast Listener Discovery Version 2 (MLDv2) Message Extension | |||
| </abstract> | </title> | |||
| </front> | ||||
| <middle> | <seriesInfo name="RFC" value="9279"/> | |||
| <section title="Introduction"> | <author fullname="Mahesh Sivakumar" initials="M." surname="Sivakumar"> | |||
| <t>This document defines a generic method to extend | <organization>Juniper Networks</organization> | |||
| IGMPv3 <xref target="RFC3376"/> and MLDv2 <xref target="RFC3810"/> | <address> | |||
| messages to accommodate information other than | <postal> | |||
| what is contained in the current message formats. This is done by | <street>64 Butler St</street> | |||
| allowing a list of TLVs (Type, Length and Value) to be used in the | <city>Milpitas</city> | |||
| Additional Data section of IGMPv3 and MLDv2 messages. | <region>CA</region> | |||
| This document defines | <code>95035</code> | |||
| a registry for such TLVs, while other documents will define the specific | <country>United States of America</country> | |||
| types and their values, and their semantics. The extension would only be | </postal> | |||
| used when at least one TLV is to be added to the message. This extension | <email>sivakumar.mahesh@gmail.com</email> | |||
| also applies to the lightweight versions of IGMPv3 and MLDv2 as defined | </address> | |||
| in <xref target="RFC5790"/>. | </author> | |||
| </t> | <author fullname="Stig Venaas" initials="S." surname="Venaas"> | |||
| <t> | <organization>Cisco Systems, Inc.</organization> | |||
| <address> | ||||
| <postal> | ||||
| <street>Tasman Drive</street> | ||||
| <city>San Jose</city> | ||||
| <region>CA</region> | ||||
| <code>95134</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <email>stig@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Zheng(Sandy) Zhang" initials="Z." surname="Zhang"> | ||||
| <organization>ZTE Corporation</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>No. 50 Software Ave, Yuhuatai District</street> | ||||
| <city>Nanjing</city> | ||||
| <code>210000</code> | ||||
| <country>China</country> | ||||
| </postal> | ||||
| <email>zhang.zheng@zte.com.cn</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Hitoshi Asaeda" initials="H." surname="Asaeda"> | ||||
| <organization abbrev="NICT">National Institute of Information and | ||||
| Communications Technology</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>4-2-1 Nukui-Kitamachi, Koganei</street> | ||||
| <region>Tokyo</region> | ||||
| <code>184-8795</code> | ||||
| <country>Japan</country> | ||||
| </postal> | ||||
| <email>asaeda@nict.go.jp</email> | ||||
| </address> | ||||
| </author> | ||||
| <date month="July" year="2022"/> | ||||
| <area>Routing</area> | ||||
| <workgroup>pim</workgroup> | ||||
| <keyword>Multicast</keyword> | ||||
| <abstract> | ||||
| <t>This document specifies a generic mechanism to extend IGMPv3 and Multic | ||||
| ast Listener Discovery Version 2 | ||||
| (MLDv2) by using a list of TLVs (Type, Length, and Value). | ||||
| </t> | ||||
| </abstract> | ||||
| </front> | ||||
| <middle> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Introduction</name> | ||||
| <t>This document defines a generic method to extend IGMPv3 <xref | ||||
| target="RFC3376" format="default"/> and MLDv2 <xref target="RFC3810" | ||||
| format="default"/> messages to accommodate information other than what | ||||
| is contained in the current message formats. This is done by allowing a | ||||
| list of TLVs to be used in the Additional Data | ||||
| section of IGMPv3 and MLDv2 messages. This document defines a registry | ||||
| for such TLVs. Other documents will define their specific types, and | ||||
| their values and semantics. The extension would only be used when | ||||
| at least one TLV is to be added to the message. This extension also | ||||
| applies to the lightweight versions of IGMPv3 and MLDv2 as defined in | ||||
| <xref target="RFC5790" format="default"/>. | ||||
| </t> | ||||
| <t> | ||||
| When this extension mechanism is used, it replaces the Additional Data | When this extension mechanism is used, it replaces the Additional Data | |||
| section defined in IGMPv3/MLDv2 with TLVs. | section defined in IGMPv3/MLDv2 with TLVs. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Additional Data is defined for Query messages in IGMPv3 | Additional Data is defined for Query messages in IGMPv3 (<xref target="RFC | |||
| <xref target="RFC3376"/> Section 4.1.10 | 3376" sectionFormat="of" section="4.1.10"/>) | |||
| and MLDv2 <xref target="RFC3810"/> Section 5.1.12, and for Report | and MLDv2 (<xref target="RFC3810" sectionFormat="of" section="5.1.12"/>), | |||
| messages in IGMPv3 <xref target="RFC3376"/> Section 4.2.11 and MLDv2 | and for Report | |||
| <xref target="RFC3810"/> Section 5.2.11. | messages in IGMPv3 (<xref target="RFC3376" sectionFormat="of" section="4.2 | |||
| </t> | .11"/>) and MLDv2 (<xref target="RFC3810" sectionFormat="of" section="5.2.11"/> | |||
| </section> | ). | |||
| </t> | ||||
| <section title="Conventions used in this document"> | </section> | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <section numbered="true" toc="default"> | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | <name>Conventions Used in This Document</name> | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP 14 | <t> | |||
| <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
| they appear in all capitals, as shown here. | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| </t> | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
| </section> | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| <section title="Extension Format"> | be interpreted as | |||
| <t> | 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 numbered="true" toc="default"> | ||||
| <name>Extension Format</name> | ||||
| <t> | ||||
| For each of the IGMPv3 and MLDv2 headers, a previously reserved bit | For each of the IGMPv3 and MLDv2 headers, a previously reserved bit | |||
| is used to indicate the presence of this extension. | is used to indicate the presence of this extension. | |||
| When this extension is used, | When this extension is used, | |||
| the Additional Data of IGMPv3 and MLDv2 messages is formatted as | the Additional Data of IGMPv3 and MLDv2 messages is formatted as | |||
| follows. Note that this format contains a variable number of TLVs. | follows. Note that this format contains a variable number of TLVs. | |||
| It MUST contain at least one TLV. | It <bcp14>MUST</bcp14> contain at least one TLV. | |||
| </t> | </t> | |||
| <figure title="Figure 1: Extension Format"> | <figure> | |||
| <artwork> | <name>Extension Format</name> | |||
| <![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| 0 1 2 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension Type 1 | Extension Length 1 | | | Extension Type 1 | Extension Length 1 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension Value 1 | | | Extension Value 1 | | |||
| . . . | . . . | |||
| . . . | . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension Type 2 | Extension Length 2 | | | Extension Type 2 | Extension Length 2 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension Value 2 | | | Extension Value 2 | | |||
| . . . | . . . | |||
| . . . | . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension Type n | Extension Length n | | | Extension Type n | Extension Length n | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension Value n | | | Extension Value n | | |||
| . . . | . . . | |||
| . . . | . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | |||
| ]]></artwork> | </figure> | |||
| </figure> | ||||
| <t> | <dl newline="false" spacing="normal"> | |||
| <list style="empty"> | <dt>Extension Type:</dt> | |||
| <t>Extension Type: 2 octets. This identifies a particular Extension | <dd>2 octets. This identifies a particular Extension Type as defined in the "IGM | |||
| Type as defined in the IGMP/MLD Extension Type Registry. If this is | P/MLD Extension Types" registry. If this is not the first TLV, it will follow im | |||
| not the first TLV, it will follow immediately after the | mediately after the end of the previous one. There is no alignment or padding.< | |||
| end of the previous one. There is no alignment or padding. | /dd> | |||
| </t> | <dt>Extension Length:</dt> | |||
| <t>Extension Length: 2 octets. This specifies the length in octets of | <dd>2 octets. This specifies the length in octets of the following Extension Val | |||
| the following Extension Value field. The length may be zero if no | ue field. The length may be zero if no value is needed.</dd> | |||
| value is needed. | <dt>Extension Value:</dt> | |||
| </t> | <dd>This field contains the value. The specification defining the Extension Type | |||
| <t>Extension Value: This field contains the value. The length and the | describes the length and contents of this field. </dd> | |||
| contents of this field is according to the specification of the | </dl> | |||
| Extension Type. | ||||
| </t> | <t> | |||
| </list> | IGMPv3 and MLDv2 messages are defined so they can fit within the | |||
| </t> | network MTU in order to avoid fragmentation. An IGMPv3/MLDv2 Report | |||
| <t> | ||||
| IGMPv3 and MLDv2 messages are defined so that they can fit within the | ||||
| network MTU, in order to avoid fragmentation. An IGMPv3/MLDv2 report | ||||
| message contains a number of records. The records are called | message contains a number of records. The records are called | |||
| Group Records for IGMPv3, and Address Records for MLDv2. | Group Records for IGMPv3 and Address Records for MLDv2. | |||
| When this extension | When this extension | |||
| mechanism is used, the number of records in each Report message | mechanism is used, the number of records in each Report message | |||
| SHOULD be kept small enough that the entire message, including any | <bcp14>SHOULD</bcp14> be kept small enough so that the entire message, inc | |||
| extension TLVs can fit within the network MTU. | luding any | |||
| </t> | extension TLVs, can fit within the network MTU. | |||
| <section title="Multicast Listener Query Extension"> | ||||
| <t>The MLDv2 Query Message format <xref target="RFC3810"/> with extension | ||||
| is shown below. The E-bit MUST be set to 1 to indicate that the extension | ||||
| is present. Otherwise, it MUST be 0. | ||||
| </t> | </t> | |||
| <figure title="Figure 2: MLD Query Extension"> | <section numbered="true" toc="default"> | |||
| <artwork> | <name>Multicast Listener Query Extension</name> | |||
| <![CDATA[ | <t>The MLDv2 Query message format <xref target="RFC3810" format="default | |||
| "/> with extension | ||||
| is shown below. The E-bit <bcp14>MUST</bcp14> be set to 1 to indicate that | ||||
| the extension | ||||
| is present. Otherwise, it <bcp14>MUST</bcp14> be 0. | ||||
| </t> | ||||
| <figure> | ||||
| <name>MLD Query Extension</name> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 0 1 2 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 | 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 = 130 | Code | Checksum | | | Type = 130 | Code | Checksum | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Maximum Response Code | Reserved | | | Maximum Response Code | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| * * | * * | |||
| | | | | | | |||
| skipping to change at line 230 ¶ | skipping to change at line 223 ¶ | |||
| | | | | | | |||
| * * | * * | |||
| | | | | | | |||
| * Source Address [N] * | * Source Address [N] * | |||
| | | | | | | |||
| * * | * * | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension | | | Extension | | |||
| ~ ~ | ~ ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwor | |||
| ]]></artwork> | k> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Version 2 Multicast Listener Report Extension"> | <name>Version 2 Multicast Listener Report Extension</name> | |||
| <t>The MLDv2 Report Message format <xref target="RFC3810"/> with | <t>The MLDv2 Report message format <xref target="RFC3810" format="defaul | |||
| extension is shown below. The E-bit MUST be set to 1 to indicate that | t"/> with | |||
| the extension is present. Otherwise, it MUST be 0. | extension is shown below. The E-bit <bcp14>MUST</bcp14> be set to 1 to ind | |||
| </t> | icate that | |||
| the extension is present. Otherwise, it <bcp14>MUST</bcp14> be 0. | ||||
| <figure title="Figure 3: MLD Report Extension"> | </t> | |||
| <artwork> | <figure> | |||
| <![CDATA[ | <name>MLD Report Extension</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 0 1 2 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 | 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 = 143 | Reserved | Checksum | | | Type = 143 | Reserved | Checksum | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |E| Reserved |Nr of Mcast Address Records (M)| | |E| Reserved |Nr of Mcast Address Records (M)| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . . | . . | |||
| . Multicast Address Record [1] . | . Multicast Address Record [1] . | |||
| skipping to change at line 275 ¶ | skipping to change at line 266 ¶ | |||
| | . | | | . | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . . | . . | |||
| . Multicast Address Record [M] . | . Multicast Address Record [M] . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension | | | Extension | | |||
| ~ ~ | ~ ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwor | |||
| ]]> | k> | |||
| </artwork> | </figure> | |||
| </figure> | </section> | |||
| </section> | <section numbered="true" toc="default"> | |||
| <name>IGMP Membership Query Extension</name> | ||||
| <section title="IGMP Membership Query Extension"> | <t>The IGMPv3 Query message format <xref target="RFC3376" format="defaul | |||
| <t>The IGMPv3 Query Message format <xref target="RFC3376"/> with the | t"/> with the | |||
| extension is shown below. The E-bit MUST be set to 1 to indicate that | extension is shown below. The E-bit <bcp14>MUST</bcp14> be set to 1 to ind | |||
| the extension is present. Otherwise, it MUST be 0. | icate that | |||
| </t> | the extension is present. Otherwise, it <bcp14>MUST</bcp14> be 0. | |||
| <figure title="Figure 4: IGMP Query Extension"> | </t> | |||
| <artwork> | <figure> | |||
| <![CDATA[ | <name>IGMP Query Extension</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 0 1 2 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 | 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 = 0x11 | Max Resp Code | Checksum | | | Type = 0x11 | Max Resp Code | Checksum | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Group Address | | | Group Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |E| Resv|S| QRV | QQIC | Number of Sources (N) | | |E| Resv|S| QRV | QQIC | Number of Sources (N) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Source Address [1] | | | Source Address [1] | | |||
| +- -+ | +- -+ | |||
| | Source Address [2] | | | Source Address [2] | | |||
| +- . -+ | +- . -+ | |||
| . . . | . . . | |||
| . . . | . . . | |||
| +- -+ | +- -+ | |||
| | Source Address [N] | | | Source Address [N] | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension | | | Extension | | |||
| ~ ~ | ~ ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwor | |||
| ]]> | k> | |||
| </artwork> | </figure> | |||
| </figure> | </section> | |||
| </section> | <section numbered="true" toc="default"> | |||
| <name>IGMP Version 3 Membership Report Extension</name> | ||||
| <section title="IGMP Version 3 Membership Report Extension"> | <t>The IGMPv3 Report message format <xref target="RFC3376" format="defau | |||
| <t>The IGMPv3 Report Message format <xref target="RFC3376"/> with the | lt"/> with the | |||
| extension is shown below. The E-bit MUST be set to 1 to indicate that | extension is shown below. The E-bit <bcp14>MUST</bcp14> be set to 1 to ind | |||
| the extension is present. Otherwise, it MUST be 0. | icate that | |||
| </t> | the extension is present. Otherwise, it <bcp14>MUST</bcp14> be 0. | |||
| <figure title="Figure 5: IGMP Report Extension"> | </t> | |||
| <artwork> | <figure> | |||
| <![CDATA[ | <name>IGMP Report Extension</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| 0 1 2 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 | 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 = 0x22 | Reserved | Checksum | | | Type = 0x22 | Reserved | Checksum | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |E| Reserved | Number of Group Records (M) | | |E| Reserved | Number of Group Records (M) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . . | . . | |||
| . Group Record [1] . | . Group Record [1] . | |||
| skipping to change at line 354 ¶ | skipping to change at line 341 ¶ | |||
| | . | | | . | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . . | . . | |||
| . Group Record [M] . | . Group Record [M] . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extension | | | Extension | | |||
| ~ ~ | ~ ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwor | |||
| ]]> | k> | |||
| </artwork> | </figure> | |||
| </figure> | </section> | |||
| </section> | </section> | |||
| </section> | <section numbered="true" toc="default"> | |||
| <section title="No-op TLV"> | <name>No-op TLV</name> | |||
| <t> | <t> | |||
| The no-op TLV is a No-Operation TLV that MUST be ignored during | The No-op TLV is a No-Operation TLV that <bcp14>MUST</bcp14> be ignored du | |||
| processing. This TLV may be useful for verifying that implementations | ring | |||
| correctly implement this extension mechanism. Note that there is | processing. This TLV may be used to verify that the extension mechanism ha | |||
| s been implemented correctly. Note that there is | ||||
| no alignment requirement, so there is no need to use this Extension Type | no alignment requirement, so there is no need to use this Extension Type | |||
| to provide alignment. | to provide alignment. | |||
| </t> | </t> | |||
| <figure title="Figure 6: No-op TLV Format"> | <figure> | |||
| <artwork> | <name>No-op TLV Format</name> | |||
| <![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| 0 1 2 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | No-op Type = 0 | No-op Length | | | No-op Type = 0 | No-op Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Value | | | Value | | |||
| . . . | . . . | |||
| . . . | . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwor | |||
| ]]></artwork> | k> | |||
| </figure> | </figure> | |||
| <t> | ||||
| <list style="empty"> | ||||
| <t>No-op Type: 2 octets. The type of the No-op TLV extension is the | ||||
| value 0. | ||||
| </t> | ||||
| <t>Extension Length: 2 octets. This specifies the length in octets of | ||||
| the following Value field. The length may be zero if no | ||||
| value is needed. | ||||
| </t> | ||||
| <t>Value: This field contains the value. As this Extension Type is | ||||
| always ignored, the value can be arbitrary data. The number of octets | ||||
| used MUST match the specified length. | ||||
| contents of this field is according to the specification of the | ||||
| Extension Type. | ||||
| </t> | ||||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| <section title="Processing the extension"> | <dl newline="false" spacing="normal"> | |||
| <t> | <dt>No-op Type:</dt> <dd>2 octets. The type of the No-op TLV extension is 0.</dd | |||
| The procedure specified in this document applies only when the E-bit | > | |||
| <dt>Extension Length:</dt> | ||||
| <dd>2 octets. This specifies the length in | ||||
| octets of the following Value field. The length may be zero if no value is need | ||||
| ed.</dd> | ||||
| <dt> Value:</dt> | ||||
| <dd>This field contains the value. As this Extension Type is always ignored, the | ||||
| value can be arbitrary data. The number of octets used <bcp14>MUST</bcp14> matc | ||||
| h the specified length. </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Processing the Extension</name> | ||||
| <t> | ||||
| The procedure specified in this document only applies when the E-bit | ||||
| is set. | is set. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| If the validation of the TLVs fails, the entire Additional Data field | If the validation of the TLVs fails, the entire Additional Data field | |||
| MUST be ignored as specified in IGMPv3 [RFC3376] and MLDv2 [RFC3810]. | <bcp14>MUST</bcp14> be ignored as specified in IGMPv3 <xref target="RFC337 6"/> and MLDv2 <xref target="RFC3810"/>. | |||
| The following checks must pass for the validation of the TLVs not to | The following checks must pass for the validation of the TLVs not to | |||
| fail: | fail: | |||
| <list style="empty"> | </t> | |||
| <t> | <ul empty="false" spacing="normal"> | |||
| At least one TLV MUST be present.</t> | <li> | |||
| <t> | At least one TLV <bcp14>MUST</bcp14> be present.</li> | |||
| There MUST NOT be any data in the IP payload after the last TLV. | <li> | |||
| There <bcp14>MUST NOT</bcp14> be any data in the IP payload after the las | ||||
| t TLV. | ||||
| To check this, the parser needs to walk through each of the TLVs until | To check this, the parser needs to walk through each of the TLVs until | |||
| there are less than four octets left in the IP payload. If there are | there are less than four octets left in the IP payload. If there are | |||
| any octets left, validation fails. | any octets left, validation fails. | |||
| </t> | </li> | |||
| <t> | <li> | |||
| The total length of the Extension MUST NOT exceed the remainder of | The total length of the Extension <bcp14>MUST NOT</bcp14> exceed the rema | |||
| the IP payload length. For this validation, one only examines the | inder of | |||
| content of the Extension Length fields. | the IP payload length. For this validation, only the | |||
| </t> | content of the Extension Length fields is examined. | |||
| </list> | </li> | |||
| </t> | </ul> | |||
| <t> | <t> | |||
| Future documents defining a new Extension Type MUST specify any | Future documents defining a new Extension Type <bcp14>MUST</bcp14> specify | |||
| any | ||||
| additional processing and validation. These rules, if any, will | additional processing and validation. These rules, if any, will | |||
| be examined only after the general validation (above) succeeds. | be examined only after the general validation succeeds. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| TLVs with unsupported Extension Types MUST be ignored. | TLVs with unsupported Extension Types <bcp14>MUST</bcp14> be ignored. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Applicability and backwards compatibility"> | <name>Applicability and Backwards Compatibility</name> | |||
| <t>IGMP and MLD implementations, particularly implementations on hosts, | <t>IGMP and MLD implementations, particularly implementations on hosts, | |||
| rarely change, and the adoption process of this extension mechanism is | rarely change. The adoption process of this extension mechanism is | |||
| expected to be slow. | expected to be slow. As new extension TLVs are defined, it may | |||
| Also, as new extension TLVs are defined, it may | take a long time for them to be supported. Due to this, defining | |||
| take a long time before they are supported. Due to this, defining | ||||
| new extension TLVs should not be taken lightly, and it is crucial | new extension TLVs should not be taken lightly, and it is crucial | |||
| to consider backwards compatibility.</t> | to consider backwards compatibility.</t> | |||
| <t>Implementations that do not support this extension mechanism will | <t>Implementations that do not support this extension mechanism will | |||
| ignore it, as specified in [RFC3376] and [RFC3810]. Also, as mentioned | ignore it, as specified in <xref target="RFC3376"/> and <xref target="RFC381 | |||
| 0"/>. As mentioned | ||||
| in the previous section, unsupported extension TLVs are ignored. | in the previous section, unsupported extension TLVs are ignored. | |||
| </t> | </t> | |||
| <t>It is possible that a new extension TLV only applies to queries, or | <t>It is possible that a new extension TLV will only apply to queries or | |||
| only to reports, or there may be other specific conditions for when it is to | only to reports, or that there may be other specific conditions for when it | |||
| be used. A document defining a new Extension Type MUST specify under what | is to | |||
| conditions the new Extension Type should be used, including for which | be used. A document defining a new Extension Type <bcp14>MUST</bcp14> specif | |||
| y the | ||||
| conditions under which the new Extension Type should be used, including whic | ||||
| h | ||||
| message types. | message types. | |||
| It MUST also be specified what the behavior should be if a message is not | It <bcp14>MUST</bcp14> also be specified what the behavior should be if a me | |||
| used in the defined manner, e.g., if it is present in a query message, | ssage is not | |||
| used in the defined manner, e.g., if it is present in a Query message, | ||||
| when it was only expected to be used in reports. | when it was only expected to be used in reports. | |||
| </t> | </t> | |||
| <t>When defining new Extension Types, care should be taken to consider the | <t>When defining new Extension Types, the effect of partial support for th | |||
| effect of partial support for the new TLV, by either the hosts or routers, | e new TLV, by either the hosts or routers, on the same link should be carefully | |||
| on the same link. Further, it must be considered whether there are any | considered. Further, whether there are any | |||
| dependencies or restrictions on combinations between the new Extension | dependencies or restrictions on combinations between the new Extension | |||
| Types and any pre-existing Extension Types. | Types and any preexisting Extension Types must be considered. | |||
| </t> | </t> | |||
| <t>This document defines an extension mechanism only for IGMPv3 and MLDv2. | ||||
| <t>This document defines an extension mechanism only for IGMPv3 and MLDv2. | ||||
| Hence, this mechanism does not apply if hosts or routers send older version | Hence, this mechanism does not apply if hosts or routers send older version | |||
| messages.</t> | messages.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>The Security Considerations of [RFC3376] and [RFC3810] also apply here. | <t>The Security Considerations of <xref target="RFC3376"/> and <xref targe | |||
| </t> | t="RFC3810"/> also apply here. | |||
| <t>This document extends the IGMP and MLD message formats, allowing for a | </t> | |||
| variable number of TLVs. Implementations must take care when parsing | <t>This document extends the IGMP and MLD message formats, allowing for a | |||
| the TLVs to not exceed the packet boundary, an attacker could | variable number of TLVs. Implementations must take care not to exceed the pa | |||
| cket boundary when parsing | ||||
| the TLVs, because an attacker could | ||||
| intentionally specify a TLV with a length exceeding the boundary. | intentionally specify a TLV with a length exceeding the boundary. | |||
| </t> | </t> | |||
| <t>An implementation could add a large number of minimal TLVs in a | <t>An implementation could add a large number of minimal TLVs in a | |||
| message to increase the cost of processing the message to magnify | message to increase the cost of processing the message. This would magnify | |||
| a Denial of Service attack. | a denial-of-service attack. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t>IANA is asked to create a new registry called "IGMP/MLD Extension Types" | <t>IANA has created a new registry called "IGMP/MLD Extension Types" | |||
| in the "Internet Group Management Protocol (IGMP) Type Numbers" section, | in the "Internet Group Management Protocol (IGMP) Type Numbers" section and | |||
| with registration procedure "IETF Review" <xref target="RFC8126"/>, and | lists this document as the reference. | |||
| with this document as a reference. The registry is common for IGMP and MLD. | The registration procedure is "IETF Review" <xref target="RFC8126" format="d | |||
| </t><t> | efault"/>. | |||
| Two Extension Types are provided for "Experimental Use" | The registry is common for IGMP and MLD. | |||
| <xref target="RFC8126"/>. Any experiments should be confined to closed | </t> | |||
| <t> | ||||
| Two Extension Types (65534 and 65535) are provided for "Experimental Use" | ||||
| <xref target="RFC8126" format="default"/>. Any experiments should be confine | ||||
| d to closed | ||||
| environments where it is unlikely that they may conflict with other | environments where it is unlikely that they may conflict with other | |||
| experiments, see <xref target="RFC3692"/>. | experiments; see <xref target="RFC3692" format="default"/>. | |||
| </t><t> | </t> | |||
| The initial content of the registry should be as below.</t> | <t> | |||
| <t><figure> | IANA has initially populated the registry as shown in <xref target="extensio | |||
| <artwork><![CDATA[ | n_type_table"/></t> | |||
| Extension Type Length Name Reference | ||||
| 0 variable No-op [this document] | ||||
| 1-65533 Unassigned | ||||
| 65534 variable Experimental use | ||||
| 65535 variable Experimental use | ||||
| ]]></artwork> | ||||
| </figure></t> | ||||
| </section> | ||||
| <section anchor="ack" title="Acknowledgements"> | ||||
| <t>The authors thank Ron Bonica, Ian Duncan, Wesley Eddy, Leonard Giuliano, | ||||
| Jake Holland, Tommy Pauly, Pete Resnick, | ||||
| Alvaro Retana and Zhaohui Zhang for reviewing the document | ||||
| and providing valuable feedback. | ||||
| </t> | ||||
| </section> | ||||
| </middle> | ||||
| <back> | ||||
| <references title="Normative References"> | <table anchor="extension_type_table"> | |||
| <?rfc include='reference.RFC.2119'?> | <name>IGMP/MLD Extension Types</name> | |||
| <?rfc include='reference.RFC.3376'?> | <thead> | |||
| <?rfc include='reference.RFC.3810'?> | <tr> | |||
| <?rfc include='reference.RFC.8126'?> | <th>Extension Type</th> | |||
| <?rfc include='reference.RFC.8174'?> | <th>Length</th> | |||
| </references> | <th>Name</th> | |||
| <references title="Informative References"> | <th>Reference</th> | |||
| <?rfc include='reference.RFC.3692'?> | </tr> | |||
| <?rfc include='reference.RFC.5790'?> | </thead> | |||
| </references> | <tbody> | |||
| <tr> | ||||
| <td>0</td> | ||||
| <td>variable</td> | ||||
| <td>No-op</td> | ||||
| <td>RFC 9279</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1-65533</td> | ||||
| <td></td> | ||||
| <td>Unassigned</td> | ||||
| <td></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>65534-65535</td> | ||||
| <td>variable</td> | ||||
| <td>Reserved for Experimental Use</td> | ||||
| <td></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | ||||
| </back> | </middle> | |||
| <back> | ||||
| <references> | ||||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.2119.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3376.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3810.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8126.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8174.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3692.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.5790.xml"/> | ||||
| </references> | ||||
| </references> | ||||
| <section anchor="ack" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>The authors thank <contact fullname="Ron Bonica"/>, <contact fullname=" | ||||
| Ian Duncan"/>, <contact fullname="Wesley Eddy"/>, <contact fullname="Leonard Giu | ||||
| liano"/>, <contact fullname="Jake Holland"/>, <contact fullname="Tommy Pauly"/>, | ||||
| <contact fullname="Pete Resnick"/>, <contact fullname="Alvaro Retana"/>, and <c | ||||
| ontact fullname="Zhaohui Zhang"/> | ||||
| for reviewing the document and providing valuable feedback. | ||||
| </t> | ||||
| </section> | ||||
| </back> | ||||
| </rfc> | </rfc> | |||
| End of changes. 31 change blocks. | ||||
| 356 lines changed or deleted | 420 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||