| rfc8957xml2.original.xml | rfc8957.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | ||||
| <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 --> | ||||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
| ]> | ||||
| <?rfc toc="yes"?> | <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 --> | |||
| <?rfc sortrefs="yes"?> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <?rfc symrefs="yes"?> | ||||
| <?rfc comments="yes"?> | ||||
| <rfc docName="draft-ietf-mpls-sfl-framework-11" category="std"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" | |||
| docName="draft-ietf-mpls-sfl-framework-11" number="8957" obsoletes="" | ||||
| updates="" submissionType="IETF" category="std" consensus="true" | ||||
| xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" | ||||
| version="3"> | ||||
| <!-- xml2rfc v2v3 conversion 3.3.0 --> | ||||
| <front> | <front> | |||
| <title abbrev="MPLS FL">Synonymous Flow Label Framework</title> | <title abbrev="MPLS FL">Synonymous Flow Label Framework</title> | |||
| <seriesInfo name="RFC" value="8957"/> | ||||
| <author initials="S." surname="Bryant" fullname="Stewart Bryant"> | <author initials="S." surname="Bryant" fullname="Stewart Bryant"> | |||
| <organization>Futurewei Technologies Inc</organization> | <organization>Futurewei Technologies Inc.</organization> | |||
| <address> | <address> | |||
| <email>sb@stewartbryant.com</email> | <email>sb@stewartbryant.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="M." surname="Chen" fullname="Mach Chen"> | ||||
| <author initials="M." surname="Chen" fullname="Mach(Guoyi) Chen"> | ||||
| <organization>Huawei</organization> | <organization>Huawei</organization> | |||
| <address> | <address> | |||
| <email>mach.chen@huawei.com</email> | <email>mach.chen@huawei.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="G." surname="Swallow" fullname="George Swallow"> | <author initials="G." surname="Swallow" fullname="George Swallow"> | |||
| <organization>Southend Technical Center</organization> | <organization>Southend Technical Center</organization> | |||
| <address> | <address> | |||
| <email>swallow.ietf@gmail.com</email> | <email>swallow.ietf@gmail.com</email> | |||
| </address> | </address> | |||
| skipping to change at line 48 ¶ | skipping to change at line 47 ¶ | |||
| <address> | <address> | |||
| <email>ssivabal@ciena.com</email> | <email>ssivabal@ciena.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="G." surname="Mirsky" fullname="Gregory Mirsky"> | <author initials="G." surname="Mirsky" fullname="Gregory Mirsky"> | |||
| <organization>ZTE Corp.</organization> | <organization>ZTE Corp.</organization> | |||
| <address> | <address> | |||
| <email>gregimirsky@gmail.com</email> | <email>gregimirsky@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2021" month="January"/> | ||||
| <date year="2020" month="October" day="02"/> | ||||
| <workgroup>MPLS Working Group</workgroup> | <workgroup>MPLS Working Group</workgroup> | |||
| <abstract> | <abstract> | |||
| <t>RFC 8372 ("MPLS Flow Identification Considerations") describes the | ||||
| <t>RFC 8372 (MPLS Flow Identification Considerations) describes the requirement | requirement for introducing flow identities within the MPLS | |||
| for | architecture. This document describes a method of accomplishing this by | |||
| introducing | using a technique called "Synonymous Flow Labels" in which labels that | |||
| flow identities within the MPLS architecture. This document | mimic the behavior of other labels provide the identification service. | |||
| describes a method of accomplishing this by using a technique called | These identifiers can be used to trigger per-flow operations on the | |||
| Synonymous Flow Labels in which labels which mimic the behaviour of | packet at the receiving label switching router.</t> | |||
| other labels provide the identification service. These identifiers | ||||
| can be used to trigger per-flow operations on the packet at | ||||
| the receiving label switching router.</t> | ||||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section anchor="introduction" numbered="true" toc="default"> | ||||
| <section anchor="introduction" title="Introduction"> | <name>Introduction</name> | |||
| <t><xref target="RFC8372" format="default"/> ("MPLS Flow Identification | ||||
| <t><xref target="RFC8372"/> (MPLS Flow Identification Considerations) describes | Considerations") describes the requirement for introducing | |||
| the requirement for introducing | ||||
| flow identities within the MPLS architecture. | flow identities within the MPLS architecture. | |||
| This document describes a method of providing the required identification by usi ng a | This document describes a method of providing the required identification by usi ng a | |||
| technique called Synonymous Flow Labels (SFL) in | technique called "Synonymous Flow Labels (SFLs)" in | |||
| which labels which mimic the behaviour of other MPLS labels provide the | which labels that mimic the behavior of other MPLS labels provide the | |||
| identification service. These identifiers can be used to trigger | identification service. These identifiers can be used to trigger | |||
| per-flow operations on the packet at the receiving label switching | per-flow operations on the packet at the receiving label switching | |||
| router.</t> | router.</t> | |||
| </section> | ||||
| </section> | <section anchor="requirements-language" numbered="true" toc="default"> | |||
| <section anchor="requirements-language" title="Requirements Language"> | <name>Requirements Language</name> | |||
| <t> | ||||
| <t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
| “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| “OPTIONAL” in this document are to be interpreted as described in | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
| BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, th | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| ey appear in all | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
| capitals, as shown here.</t> | be interpreted as | |||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| </section> | when, and only when, they appear in all capitals, as shown here. | |||
| <section anchor="SFL" title="Synonymous Flow Labels"> | </t> | |||
| </section> | ||||
| <t>An SFL is defined to be a label that causes exactly the same | <section anchor="SFL" numbered="true" toc="default"> | |||
| behaviour at the egress Label Edge Router (LER) as the label it | <name>Synonymous Flow Labels</name> | |||
| replaces, except that it also causes one or more additional actions that have be | <t>An SFL is defined to be a label that causes exactly the same | |||
| en previously agreed between the peer LERs to be executed | behavior at the egress Label Edge Router (LER) as the label it | |||
| on the packet. There are many possible additional actions such as | replaces, except that it also causes one or more additional actions that have | |||
| the measurement of the number of received packets in a flow, | been previously agreed between the peer LERs to be executed | |||
| triggering an IP Flow Information Export (IPFIX) <xref target="RFC7011"/> captur | on the packet. There are many possible additional actions, such as | |||
| e, triggering other types of Deep Packet | measuring the number of received packets in a flow, | |||
| Inspection, or identification of the packet source. In, for example, | triggering an IP Flow Information Export (IPFIX) <xref target="RFC7011" | |||
| format="default"/> capture, triggering other types of deep packet | ||||
| inspection, or identifying the packet source. For example, in | ||||
| a Performance Monitoring (PM) application, the agreed action could be | a Performance Monitoring (PM) application, the agreed action could be | |||
| the recording of the receipt of the packet by incrementing a packet | recording the receipt of the packet by incrementing a packet | |||
| counter. This is a natural action in many MPLS implementations, and | counter. This is a natural action in many MPLS implementations, and | |||
| where supported this permits the implementation of high quality | where supported, this permits the implementation of high-quality | |||
| packet loss measurement without any change to the packet forwarding | packet loss measurement without any change to the packet-forwarding | |||
| system.</t> | system.</t> | |||
| <t>To illustrate the use of this technology, we start by considering | ||||
| <t>To illustrate the use of this technology, we start by considering | the case where there is an <tt>application</tt> label in the MPLS label stack. | |||
| the case where there is an “application” label in the MPLS label stack. | ||||
| As a first example, let us consider a | As a first example, let us consider a | |||
| pseudowire (PW) <xref target="RFC3985"/> on which it is desired to make | pseudowire (PW) <xref target="RFC3985" format="default"/> on which it is desired to make | |||
| packet loss measurements. Two labels, synonymous with the PW labels, are obtaine d | packet loss measurements. Two labels, synonymous with the PW labels, are obtaine d | |||
| from the egress terminating provider edge (T-PE). By alternating | from the egress terminating provider edge (T-PE). By alternating | |||
| between these SFLs and using them in place of the PW label, the PW | between these SFLs and using them in place of the PW label, the PW | |||
| packets may be batched for counting without any impact on the PW | packets may be batched for counting without any impact on the PW | |||
| forwarding behavior <xref target="RFC8321"/> (note that strictly only one SFL is | forwarding behavior <xref target="RFC8321" format="default"/> (note that | |||
| needed in | strictly only one SFL is needed in | |||
| this application, but that is an optimization that is a matter for | this application, but that is an optimization that is a matter for | |||
| the implementor). The method of obtaining these additional | the implementor). The method of obtaining these additional | |||
| labels is outside the scope of this text, however, | labels is outside the scope of this text; however, | |||
| one control protocol that provides a method of obtaining SFLs is described in | one control protocol that provides a method of obtaining SFLs is described in | |||
| <xref target="I-D.bryant-mpls-sfl-control"/>.</t> | <xref target="I-D.bryant-mpls-sfl-control" format="default"/>.</t> | |||
| <t>Next, consider an MPLS application that is multipoint to point, such as | ||||
| <t>Now consider an MPLS application that is multi-point to point such as | a VPN. Here, it is necessary to identify a packet batch from a | |||
| a VPN. Here it is necessary to identify a packet batch from a | ||||
| specific source. This is achieved by making the SFLs source | specific source. This is achieved by making the SFLs source | |||
| specific, so that batches from one source are marked differently from | specific, so that batches from one source are marked differently from | |||
| batches from another source. The sources all operate independently | batches from another source. The sources all operate independently | |||
| and asynchronously from each other, independently coordinating with | and asynchronously from each other, independently coordinating with | |||
| the destination. Each ingress LER is thus able to establish its own SFL | the destination. Each ingress LER is thus able to establish its own SFL | |||
| to identify the sub-flow and thus enable PM per flow.</t> | to identify the subflow and thus enable PM per flow.</t> | |||
| <t>Finally, we need to consider the case where there is no MPLS | ||||
| <t>Finally we need to consider the case where there is no MPLS | application label such as occurs when sending IP over a Label Switched Path | |||
| application label such as occurs when sending IP over an LSP, i.e. there is a si | (LSP), i.e., there is a single label in the MPLS label stack. In | |||
| ngle label in the MPLS label stack. In | this case, introducing an SFL that was synonymous with the LSP label | |||
| this case introducing an SFL that was synonymous with the LSP label | ||||
| would introduce network-wide forwarding state. This would not be | would introduce network-wide forwarding state. This would not be | |||
| acceptable for scaling reasons. We therefore have no choice but to | acceptable for scaling reasons. Therefore, we have no choice but to | |||
| introduce an additional label. Where penultimate hop popping (PHP) | introduce an additional label. Where penultimate hop popping (PHP) | |||
| is in use, the semantics of this additional label can be similar to | is in use, the semantics of this additional label can be similar to | |||
| the LSP label. Where PHP is not in use, the semantics are similar to | the LSP label. Where PHP is not in use, the semantics are similar to | |||
| an MPLS explicit NULL <xref target="RFC3032"/>. In both of these cases the labe | an MPLS Explicit NULL <xref target="RFC3032" format="default"/>. In both of | |||
| l has the | these cases, the label has the additional semantics of the SFL.</t> | |||
| additional semantics of the SFL.</t> | <t>Note that to achieve the goals set out above, SFLs need to be | |||
| <t>Note that to achieve the goals set out above, SFLs need to be | ||||
| allocated from the platform label table.</t> | allocated from the platform label table.</t> | |||
| </section> | ||||
| </section> | <section anchor="user-service-traffic-in-the-data-plane" numbered="true" toc | |||
| <section anchor="user-service-traffic-in-the-data-plane" title="User Service Tra | ="default"> | |||
| ffic in the Data Plane"> | <name>User Service Traffic in the Data Plane</name> | |||
| <t>As noted in <xref target="SFL" format="default"/>, it is necessary to | ||||
| <t>As noted in <xref target="SFL"/> it is necessary to consider two cases:</t> | consider two cases:</t> | |||
| <ol spacing="normal" type="1"> | ||||
| <t><list style="numbers"> | <li>Application label is present</li> | |||
| <t>Application label is present</t> | <li>Single-label stack</li> | |||
| <t>Single label stack</t> | </ol> | |||
| </list></t> | <section anchor="ALP" numbered="true" toc="default"> | |||
| <name>Application Label Present</name> | ||||
| <section anchor="ALP" title="Application Label Present"> | <t><xref target="Figure1" format="default"/> shows the case in which | |||
| both an LSP label and an application | ||||
| <t><xref target="Figure1"/> shows the case in which both an LSP label and an app | ||||
| lication | ||||
| label are present in the MPLS label stack. Traffic with no SFL | label are present in the MPLS label stack. Traffic with no SFL | |||
| function present runs over the “normal” stack, and SFL-enabled flows | function present runs over the <tt>normal</tt> stack, and SFL-enabled flows | |||
| run over the SFL stack with the SFL used to indicate the packet | run over the SFL stack with the SFL used to indicate the packet | |||
| batch.</t> | batch.</t> | |||
| <figure anchor="Figure1"> | ||||
| <figure title="Use of Synonymous Labels In A Two Label MPLS Label Stack" anchor= | <name>Use of Synonymous Labels in a Two-Label MPLS Label Stack</name> | |||
| "Figure1"><artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| | LSP | | LSP | | | LSP | | LSP | | |||
| | Label | | Label | | | Label | | Label | | |||
| | (May be PHPed) | | (May be PHPed) | | | (May be PHPed) | | (May be PHPed) | | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| | | | | | | | | | | |||
| | Application | | Synonymous Flow | | | Application | | Synonymous Flow | | |||
| | Label | | Label | | | Label | | Label | | |||
| +-----------------+ <= BoS +-----------------+ <= Bottom of stack | +-----------------+ <= BoS +-----------------+ <= Bottom of Stack | |||
| | | | | | | | | | | |||
| | Payload | | Payload | | | Payload | | Payload | | |||
| | | | | | | | | | | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| "Normal" Label Stack Label Stack with SFL | "Normal" Label Stack Label Stack with SFL | |||
| ]]></artwork></figure> | ]]></artwork> | |||
| </figure> | ||||
| <t>At the egress LER the LSP label is popped (if present). | <t>At the egress LER, the LSP label is popped (if present). Then, the | |||
| Then the SFL | SFL is processed executing both the synonymous function and the | |||
| is processed executing both the synonymous function and the corresponding applic | corresponding application function.</t> | |||
| ation function.</t> | <section anchor="TTLandTC" numbered="true" toc="default"> | |||
| <name>Setting TTL and the Traffic Class Bits</name> | ||||
| <section anchor="TTLandTC" title="Setting TTL and the Traffic Class Bits"> | <t>The TTL and the Traffic Class bits <xref target="RFC5462" | |||
| format="default"/> in the SFL label stack entry (LSE) would | ||||
| <t>The TTL and the Traffic Class bits <xref target="RFC5462"/> in the SFL label | ||||
| stack entry (LSE) would | ||||
| normally be set to the same value as would have been set in the label | normally be set to the same value as would have been set in the label | |||
| that the SFL is synonymous with. However, it is recognized that if there | that the SFL is synonymous with. However, it is recognized that, if there | |||
| is an application need these fields in the SFL Label Stack Entry (LSE) MAY be se | is an application need, these fields in the SFL LSE | |||
| t these to some other value. An | <bcp14>MAY</bcp14> be set to some other value. An | |||
| example would be where it was desired to cause the SFL to trigger an | example would be where it was desired to cause the SFL to trigger an | |||
| action in the TTL expiry exception path as part of the label action.</t> | action in the TTL expiry exception path as part of the label action.</t> | |||
| </section> | ||||
| </section> | </section> | |||
| </section> | <section anchor="SLS" numbered="true" toc="default"> | |||
| <section anchor="SLS" title="Single Label Stack"> | <name>Single-Label Stack</name> | |||
| <t><xref target="Figure2" format="default"/> shows the case in which | ||||
| <t><xref target="Figure2"/> shows the case in which only an LSP label is present | only an LSP label is present in the | |||
| in the | ||||
| MPLS label stack. Traffic with no SFL function present runs over the | MPLS label stack. Traffic with no SFL function present runs over the | |||
| “normal” stack and SFL-enabled flows run over the SFL stack with the | "normal" stack, and SFL-enabled flows run over the SFL stack with the | |||
| SFL used to indicate the packet batch. However in this case it is | SFL used to indicate the packet batch. However, in this case, it is | |||
| necessary for the ingress Label Edge Router (LER) to first push the SFL and then | necessary for the ingress Label Edge Router (LER) to first push the SFL and | |||
| to push | then to push the LSP label.</t> | |||
| the LSP label.</t> | <figure anchor="Figure2"> | |||
| <name>Use of Synonymous Labels in a Single-Label MPLS Label Stack</nam | ||||
| <figure title="Use of Synonymous Labels In A Single Label MPLS Label Stack" anch | e> | |||
| or="Figure2"><artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| +-----------------+ | +-----------------+ | |||
| | LSP | | | LSP | | |||
| | Label | | | Label | | |||
| | (May be PHPed) | | | (May be PHPed) | | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| | LSP | | | <= Synonymous with | | LSP | | | <= Synonymous with | |||
| | Label | | Synonymous Flow | Explicit NULL | | Label | | Synonymous Flow | Explicit NULL | |||
| | (May be PHPed) | | Label | | | (May be PHPed) | | Label | | |||
| +-----------------+ <= BoS +-----------------+ <= Bottom of stack | +-----------------+ <= BoS +-----------------+ <= Bottom of Stack | |||
| | | | | | | | | | | |||
| | Payload | | Payload | | | Payload | | Payload | | |||
| | | | | | | | | | | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| "Normal" Label Stack Label Stack with SFL | "Normal" Label Stack Label Stack with SFL | |||
| ]]></artwork></figure> | ]]></artwork> | |||
| </figure> | ||||
| <t>At the receiving Label Switching Router (LSR) it is necessary to consider two | <t>At the receiving Label Switching Router (LSR), it is necessary to | |||
| cases:</t> | consider two cases:</t> | |||
| <ol spacing="normal" type="1"> | ||||
| <t><list style="numbers"> | <li>Where the LSP label is still present</li> | |||
| <t>Where the LSP label is still present</t> | <li>Where the LSP label is penultimate hop popped</li> | |||
| <t>Where the LSP label is penultimate hop popped</t> | </ol> | |||
| </list></t> | <t>If the LSP label is present, it is processed exactly as it would | |||
| normally be processed, and then it is popped. This reveals the SFL, | ||||
| <t>If the LSP label is present, it is processed exactly as it would | which, in the case of the measurements defined in <xref | |||
| normally processed and then it is popped. This reveals the SFL, which, | target="RFC6374" format="default"/>, is simply counted and then | |||
| in the case of <xref target="RFC6374"/> measurements, is simply counted and then | discarded. In this respect, the processing of the SFL is synonymous | |||
| discarded. In this respect the processing of the SFL is synonymous | with an MPLS Explicit NULL. As the SFL is the bottom of stack, the IP | |||
| with an MPLS Explicit NULL. As the SFL is the bottom of stack, the IP | packet that follows is processed as normal.</t> | |||
| packet that follows is processed as normal.</t> | <t>If the LSP label is not present due to PHP action in the upstream | |||
| LSR, two almost equivalent processing actions can take place. | ||||
| <t>If the LSP label is not present due to PHP action in the upstream | The SFL can be treated either 1) as an LSP label that was not PHPed and the | |||
| LSR, two almost equivalent processing actions can take place. Either | ||||
| the SFL can be treated as an LSP label that was not PHPed and the | ||||
| additional associated SFL action is taken when the label is | additional associated SFL action is taken when the label is | |||
| processed. Alternatively, it can be treated as an MPLS Explicit NULL with | processed or 2) as an MPLS Explicit NULL with | |||
| associated SFL actions. From the perspective of the measurement | associated SFL actions. From the perspective of the measurement | |||
| system described in this document the behaviour of the two approaches is | system described in this document, the behavior of the two approaches is | |||
| indistinguishable and thus either may be implemented.</t> | indistinguishable; thus, either may be implemented.</t> | |||
| <section anchor="setting-ttl-and-the-traffic-class-bits" numbered="true" | ||||
| <section anchor="setting-ttl-and-the-traffic-class-bits" title="Setting TTL and | toc="default"> | |||
| the Traffic Class Bits"> | <name>Setting TTL and the Traffic Class Bits</name> | |||
| <t>The TTL and the Traffic Class considerations described in <xref | ||||
| <t>The TTL and the Traffic Class considerations described in | target="TTLandTC" format="default"/> apply.</t> | |||
| <xref target="TTLandTC"/> apply.</t> | </section> | |||
| </section> | ||||
| </section> | <section anchor="aggregation-of-sfl-actions" numbered="true" toc="default" | |||
| </section> | > | |||
| <section anchor="aggregation-of-sfl-actions" title="Aggregation of SFL Actions"> | <name>Aggregation of SFL Actions</name> | |||
| <t>There are cases where it is desirable to aggregate an SFL action | ||||
| <t>There are cases where it is desirable to aggregate an SFL action | against a number of labels, for example, where it is desirable to | |||
| against a number of labels. For example, where it is desirable to | ||||
| have one counter record the number of packets received over a group | have one counter record the number of packets received over a group | |||
| of application labels, or where the number of labels used by a single | of application labels or where the number of labels used by a single | |||
| application is large, and the resultant increase in the number of | application is large and the resultant increase in the number of | |||
| allocated labels needed to support the SFL actions may | allocated labels needed to support the SFL actions may | |||
| becomes too large to be viable. In these circumstances it would be | become too large to be viable. In these circumstances, it would be | |||
| necessary to introduce an additional label in the stack to act as an | necessary to introduce an additional label in the stack to act as an | |||
| aggregate instruction. This is not strictly a synonymous action in | aggregate instruction. This is not strictly a synonymous action in | |||
| that the SFL is not replacing an existing label, but is somewhat | that the SFL is not replacing an existing label but is somewhat | |||
| similar to the single label case shown in <xref target="SLS"/>, and the same | similar to the single-label case shown in <xref target="SLS" format="default"/>, | |||
| signalling, management and configuration tools would be applicable.</t> | and the same | |||
| signaling, management, and configuration tools would be applicable.</t> | ||||
| <figure title="Aggregate SFL Actions" anchor="Figure3"><artwork><![CDATA[ | <figure anchor="Figure3"> | |||
| <name>Aggregate SFL Actions</name> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| +-----------------+ | +-----------------+ | |||
| | LSP | | | LSP | | |||
| | Label | | | Label | | |||
| | (May be PHPed) | | | (May be PHPed) | | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| | LSP | | | | | LSP | | | | |||
| | Label | | Aggregate | | | Label | | Aggregate | | |||
| | (May be PHPed) | | SFL | | | (May be PHPed) | | SFL | | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| | | | | | | | | | | |||
| | Application | | Application | | | Application | | Application | | |||
| | Label | | Label | | | Label | | Label | | |||
| +-----------------+ <=BoS +-----------------+ <= Bottom of stack | +-----------------+ <=BoS +-----------------+ <= Bottom of Stack | |||
| | | | | | | | | | | |||
| | Payload | | Payload | | | Payload | | Payload | | |||
| | | | | | | | | | | |||
| +-----------------+ +-----------------+ | +-----------------+ +-----------------+ | |||
| "Normal" Label Stack Label Stack with SFL | "Normal" Label Stack Label Stack with SFL | |||
| ]]></artwork></figure> | ]]></artwork> | |||
| </figure> | ||||
| <t>The Aggregate SFL is shown in the label stack depicted in <xref target="Figur | <t>The aggregate SFL is shown in the label stack depicted in <xref | |||
| e3"/> as | target="Figure3" format="default"/> as | |||
| preceding the application label, however the choice of position | preceding the application label; however, the choice of position | |||
| before, or after, the application label will be application specific. | before or after the application label will be application specific. | |||
| In the case described in <xref target="ALP"/>, by definition the SFL has the | In the case described in <xref target="ALP" format="default"/>, by definition, t | |||
| full application context. In this case the positioning will depend | he SFL has the | |||
| full application context. In this case, the positioning will depend | ||||
| on whether the SFL action needs the full context of the application | on whether the SFL action needs the full context of the application | |||
| to perform its action and whether the complexity of the application | to perform its action and whether the complexity of the application | |||
| will be increased by finding an SFL following the application label.</t> | will be increased by finding an SFL following the application label.</t> | |||
| </section> | ||||
| </section> | </section> | |||
| </section> | <section anchor="equal-cost-multipath-considerations" numbered="true" toc="d | |||
| <section anchor="equal-cost-multipath-considerations" title="Equal Cost Multipat | efault"> | |||
| h Considerations"> | <name>Equal-Cost Multipath Considerations</name> | |||
| <t>The introduction of an SFL to an existing flow may cause that flow to t | ||||
| <t>The introduction of an SFL to an existing flow may cause that flow to take | ake | |||
| a different path through the network under conditions of Equal Cost | a different path through the network under conditions of Equal-Cost | |||
| Multi-path (ECMP). This in turn may invalidate certain uses of | Multipath (ECMP). This, in turn, may invalidate certain uses of | |||
| the SFL such as performance measurement applications. Where this is | the SFL, such as performance measurement applications. Where this is | |||
| a problem there are two solutions worthy of consideration:</t> | a problem, there are two solutions worthy of consideration:</t> | |||
| <ol spacing="normal" type="1"> | ||||
| <t><list style="numbers"> | <li>The operator <bcp14>MAY</bcp14> elect to always run with the SFL | |||
| <t>The operator MAY elect to always run with the SFL in place in the | in place in the MPLS label stack.</li> | |||
| MPLS label stack.</t> | <li>The operator can elect to use entropy labels <xref target="RFC6790" | |||
| <t>The operator can elect to use <xref target="RFC6790"/> Entropy Labels in | format="default"/> in a network that fully supports | |||
| a network that fully supports this type of ECMP. If this | this type of ECMP. If this approach is adopted, the intervening MPLS | |||
| approach is adopted, the intervening MPLS network MUST NOT | network <bcp14>MUST NOT</bcp14> load balance on any packet field other | |||
| load balance on any packet field other than the entropy label. | than the entropy label. Note that this is stricter than the text in | |||
| Note that this is stricter than the text in Section 4.3 of | <xref target="RFC6790" sectionFormat="of" section="4.3"/>.</li> | |||
| <xref target="RFC6790"/>.</t> | </ol> | |||
| </list></t> | </section> | |||
| <section anchor="privacy" numbered="true" toc="default"> | ||||
| </section> | <name>Privacy Considerations</name> | |||
| <section anchor="privacy" title="Privacy Considerations"> | <t>IETF concerns on pervasive monitoring are described in <xref | |||
| target="RFC7258" format="default"/>. The inclusion of originating | ||||
| <t>IETF concerns on pervasive monitoring are described in | and/or flow information in a packet provides more identity information | |||
| <xref target="RFC7258"/>. The inclusion of originating and/or flow information | and hence potentially degrades the privacy of the communication to an | |||
| in a | attacker in a position to observe the added identifier. Whilst the | |||
| packet provides more identity information and hence potentially | inclusion of the additional granularity does allow greater insight into | |||
| degrades the privacy of the communication to an attacker in a position | the flow characteristics, it does not specifically identify which node | |||
| to observe the added identifier. Whilst the inclusion of | originated the packet unless the attacker can inspect the network at the | |||
| the additional granularity does allow greater insight into the flow | point of ingress or inspect the control protocol packets. This privacy | |||
| characteristics it does not specifically identify which node | threat may be mitigated by encrypting the control protocol packets by | |||
| originated the packet unless the attacker can inspect the network at the | regularly changing the synonymous labels or by concurrently using a | |||
| point of ingress, or inspection of the control protocol packets. | number of such labels, including the use of a combination of those | |||
| This privacy threat may be mitigated by encrypting the control | methods. Minimizing the scope of the identity indication can be useful | |||
| protocol packets, by regularly changing the synonymous labels or by | in minimizing the observability of the flow characteristics. Whenever | |||
| concurrently using a number of such labels, including the use of a combination o | IPFIX or other deep packet inspection (DPI) technique is used, their | |||
| f those methods. Minimizing the scope | relevant privacy considerations apply.</t> | |||
| of the identity indication can be useful in minimizing the | </section> | |||
| observability of the flow characteristics. Whenever IPFIX or other | <section anchor="security-considerations" numbered="true" toc="default"> | |||
| DPI technique is used, their relavent privacy considerations apply.</t> | <name>Security Considerations</name> | |||
| <t>There are | ||||
| </section> | ||||
| <section anchor="security-considerations" title="Security Considerations"> | ||||
| <t>There are | ||||
| no new security issues associated with the MPLS data plane. Any | no new security issues associated with the MPLS data plane. Any | |||
| control protocol used to request SFLs will need to ensure the | control protocol used to request SFLs will need to ensure the | |||
| legitimacy of the request, i.e. that the requesting node is authorized | legitimacy of the request, i.e., that the requesting node is authorized | |||
| to make that SFL request by the network operator.</t> | to make that SFL request by the network operator.</t> | |||
| </section> | ||||
| </section> | <section anchor="iana-considerations" numbered="true" toc="default"> | |||
| <section anchor="iana-considerations" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t>This document has no IANA actions.</t> | ||||
| <t>This draft makes no IANA requests.</t> | </section> | |||
| </section> | ||||
| <section anchor="contributing-authors" title="Contributing Authors"> | ||||
| <figure><artwork><![CDATA[ | ||||
| Zhenbin Li | ||||
| Huawei | ||||
| Email: lizhenbin@huawei.com | ||||
| ]]></artwork></figure> | ||||
| </section> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title='Normative References'> | <displayreference target="I-D.bryant-mpls-sfl-control" to="MPLS-SFL-CONTROL"/> | |||
| <reference anchor="RFC5462" target='https://www.rfc-editor.org/info/rfc5462'> | ||||
| <front> | ||||
| <title>Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" F | ||||
| ield Renamed to "Traffic Class" Field</title> | ||||
| <author initials='L.' surname='Andersson' fullname='L. Andersson'><organization | ||||
| /></author> | ||||
| <author initials='R.' surname='Asati' fullname='R. Asati'><organization /></auth | ||||
| or> | ||||
| <date year='2009' month='February' /> | ||||
| <abstract><t>The early Multiprotocol Label Switching (MPLS) documents defined th | ||||
| e form of the MPLS label stack entry. This includes a three-bit field called th | ||||
| e "EXP field". The exact use of this field was not defined by these d | ||||
| ocuments, except to state that it was to be "reserved for experimental use& | ||||
| quot;.</t><t>Although the intended use of the EXP field was as a "Class of | ||||
| Service" (CoS) field, it was not named a CoS field by these early documents | ||||
| because the use of such a CoS field was not considered to be sufficiently defin | ||||
| ed. Today a number of standards documents define its usage as a CoS field.</t>< | ||||
| t>To avoid misunderstanding about how this field may be used, it has become incr | ||||
| easingly necessary to rename this field. This document changes the name of the | ||||
| field to the "Traffic Class field" ("TC field"). In doing s | ||||
| o, it also updates documents that define the current use of the EXP field. [STA | ||||
| NDARDS-TRACK]</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='5462'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC5462'/> | ||||
| </reference> | ||||
| <reference anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'> | ||||
| <front> | ||||
| <title>Key words for use in RFCs to Indicate Requirement Levels</title> | ||||
| <author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></ | ||||
| author> | ||||
| <date year='1997' month='March' /> | ||||
| <abstract><t>In many standards track documents several words are used to signify | ||||
| the requirements in the specification. These words are often capitalized. This | ||||
| document defines these words as they should be interpreted in IETF documents. | ||||
| This document specifies an Internet Best Current Practices for the Internet Comm | ||||
| unity, and requests discussion and suggestions for improvements.</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='BCP' value='14'/> | ||||
| <seriesInfo name='RFC' value='2119'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC2119'/> | ||||
| </reference> | ||||
| <reference anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'> | ||||
| <front> | ||||
| <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title> | ||||
| <author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></auth | ||||
| or> | ||||
| <date year='2017' month='May' /> | ||||
| <abstract><t>RFC 2119 specifies common key words that may be used in protocol s | ||||
| pecifications. This document aims to reduce the ambiguity by clarifying that on | ||||
| ly UPPERCASE usage of the key words have the defined special meanings.</t></abs | ||||
| tract> | ||||
| </front> | ||||
| <seriesInfo name='BCP' value='14'/> | ||||
| <seriesInfo name='RFC' value='8174'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC8174'/> | ||||
| </reference> | ||||
| <reference anchor="RFC3032" target='https://www.rfc-editor.org/info/rfc3032'> | ||||
| <front> | ||||
| <title>MPLS Label Stack Encoding</title> | ||||
| <author initials='E.' surname='Rosen' fullname='E. Rosen'><organization /></auth | ||||
| or> | ||||
| <author initials='D.' surname='Tappan' fullname='D. Tappan'><organization /></au | ||||
| thor> | ||||
| <author initials='G.' surname='Fedorkow' fullname='G. Fedorkow'><organization /> | ||||
| </author> | ||||
| <author initials='Y.' surname='Rekhter' fullname='Y. Rekhter'><organization /></ | ||||
| author> | ||||
| <author initials='D.' surname='Farinacci' fullname='D. Farinacci'><organization | ||||
| /></author> | ||||
| <author initials='T.' surname='Li' fullname='T. Li'><organization /></author> | ||||
| <author initials='A.' surname='Conta' fullname='A. Conta'><organization /></auth | ||||
| or> | ||||
| <date year='2001' month='January' /> | ||||
| <abstract><t>This document specifies the encoding to be used by an LSR in order | ||||
| to transmit labeled packets on Point-to-Point Protocol (PPP) data links, on LAN | ||||
| data links, and possibly on other data links as well. This document also specif | ||||
| ies rules and procedures for processing the various fields of the label stack en | ||||
| coding. [STANDARDS-TRACK]</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='3032'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC3032'/> | ||||
| </reference> | ||||
| <reference anchor="RFC6790" target='https://www.rfc-editor.org/info/rfc6790'> | ||||
| <front> | ||||
| <title>The Use of Entropy Labels in MPLS Forwarding</title> | ||||
| <author initials='K.' surname='Kompella' fullname='K. Kompella'><organization /> | ||||
| </author> | ||||
| <author initials='J.' surname='Drake' fullname='J. Drake'><organization /></auth | ||||
| or> | ||||
| <author initials='S.' surname='Amante' fullname='S. Amante'><organization /></au | ||||
| thor> | ||||
| <author initials='W.' surname='Henderickx' fullname='W. Henderickx'><organizatio | ||||
| n /></author> | ||||
| <author initials='L.' surname='Yong' fullname='L. Yong'><organization /></author | ||||
| > | ||||
| <date year='2012' month='November' /> | ||||
| <abstract><t>Load balancing is a powerful tool for engineering traffic across a | ||||
| network. This memo suggests ways of improving load balancing across MPLS networ | ||||
| ks using the concept of "entropy labels". It defines the concept, des | ||||
| cribes why entropy labels are useful, enumerates properties of entropy labels th | ||||
| at allow maximal benefit, and shows how they can be signaled and used for variou | ||||
| s applications. This document updates RFCs 3031, 3107, 3209, and 5036. [STANDA | ||||
| RDS-TRACK]</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='6790'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC6790'/> | ||||
| </reference> | ||||
| </references> | ||||
| <references title='Informative References'> | ||||
| <reference anchor="RFC3985" target='https://www.rfc-editor.org/info/rfc3985'> | ||||
| <front> | ||||
| <title>Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture</title> | ||||
| <author initials='S.' surname='Bryant' fullname='S. Bryant' role='editor'><organ | ||||
| ization /></author> | ||||
| <author initials='P.' surname='Pate' fullname='P. Pate' role='editor'><organizat | ||||
| ion /></author> | ||||
| <date year='2005' month='March' /> | ||||
| <abstract><t>This document describes an architecture for Pseudo Wire Emulation E | ||||
| dge-to-Edge (PWE3). It discusses the emulation of services such as Frame Relay, | ||||
| ATM, Ethernet, TDM, and SONET/SDH over packet switched networks (PSNs) using IP | ||||
| or MPLS. It presents the architectural framework for pseudo wires (PWs), defin | ||||
| es terminology, and specifies the various protocol elements and their functions. | ||||
| This memo provides information for the Internet community.</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='3985'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC3985'/> | ||||
| </reference> | ||||
| <reference anchor="RFC8372" target='https://www.rfc-editor.org/info/rfc8372'> | ||||
| <front> | ||||
| <title>MPLS Flow Identification Considerations</title> | ||||
| <author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></au | ||||
| thor> | ||||
| <author initials='C.' surname='Pignataro' fullname='C. Pignataro'><organization | ||||
| /></author> | ||||
| <author initials='M.' surname='Chen' fullname='M. Chen'><organization /></author | ||||
| > | ||||
| <author initials='Z.' surname='Li' fullname='Z. Li'><organization /></author> | ||||
| <author initials='G.' surname='Mirsky' fullname='G. Mirsky'><organization /></au | ||||
| thor> | ||||
| <date year='2018' month='May' /> | ||||
| <abstract><t>This document discusses aspects to consider when developing a solut | ||||
| ion for MPLS flow identification. The key application that needs this solution | ||||
| is in-band performance monitoring of MPLS flows when MPLS is used to encapsulate | ||||
| user data packets.</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='8372'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC8372'/> | ||||
| </reference> | ||||
| <reference anchor="RFC6374" target='https://www.rfc-editor.org/info/rfc6374'> | ||||
| <front> | ||||
| <title>Packet Loss and Delay Measurement for MPLS Networks</title> | ||||
| <author initials='D.' surname='Frost' fullname='D. Frost'><organization /></auth | ||||
| or> | ||||
| <author initials='S.' surname='Bryant' fullname='S. Bryant'><organization /></au | ||||
| thor> | ||||
| <date year='2011' month='September' /> | ||||
| <abstract><t>Many service provider service level agreements (SLAs) depend on the | ||||
| ability to measure and monitor performance metrics for packet loss and one-way | ||||
| and two-way delay, as well as related metrics such as delay variation and channe | ||||
| l throughput. This measurement capability also provides operators with greater | ||||
| visibility into the performance characteristics of their networks, thereby facil | ||||
| itating planning, troubleshooting, and network performance evaluation. This doc | ||||
| ument specifies protocol mechanisms to enable the efficient and accurate measure | ||||
| ment of these performance metrics in MPLS networks. [STANDARDS-TRACK]</t></abst | ||||
| ract> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='6374'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC6374'/> | ||||
| </reference> | ||||
| <reference anchor="RFC7258" target='https://www.rfc-editor.org/info/rfc7258'> | ||||
| <front> | ||||
| <title>Pervasive Monitoring Is an Attack</title> | ||||
| <author initials='S.' surname='Farrell' fullname='S. Farrell'><organization /></ | ||||
| author> | ||||
| <author initials='H.' surname='Tschofenig' fullname='H. Tschofenig'><organizatio | ||||
| n /></author> | ||||
| <date year='2014' month='May' /> | ||||
| <abstract><t>Pervasive monitoring is a technical attack that should be mitigated | ||||
| in the design of IETF protocols, where possible.</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='BCP' value='188'/> | ||||
| <seriesInfo name='RFC' value='7258'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC7258'/> | ||||
| </reference> | ||||
| <reference anchor="RFC8321" target='https://www.rfc-editor.org/info/rfc8321'> | ||||
| <front> | ||||
| <title>Alternate-Marking Method for Passive and Hybrid Performance Monitoring</t | ||||
| itle> | ||||
| <author initials='G.' surname='Fioccola' fullname='G. Fioccola' role='editor'><o | ||||
| rganization /></author> | ||||
| <author initials='A.' surname='Capello' fullname='A. Capello'><organization /></ | ||||
| author> | ||||
| <author initials='M.' surname='Cociglio' fullname='M. Cociglio'><organization /> | ||||
| </author> | ||||
| <author initials='L.' surname='Castaldelli' fullname='L. Castaldelli'><organizat | ||||
| ion /></author> | ||||
| <author initials='M.' surname='Chen' fullname='M. Chen'><organization /></author | ||||
| > | ||||
| <author initials='L.' surname='Zheng' fullname='L. Zheng'><organization /></auth | ||||
| or> | ||||
| <author initials='G.' surname='Mirsky' fullname='G. Mirsky'><organization /></au | ||||
| thor> | ||||
| <author initials='T.' surname='Mizrahi' fullname='T. Mizrahi'><organization /></ | ||||
| author> | ||||
| <date year='2018' month='January' /> | ||||
| <abstract><t>This document describes a method to perform packet loss, delay, and | ||||
| jitter measurements on live traffic. This method is based on an Alternate-Mark | ||||
| ing (coloring) technique. A report is provided in order to explain an example a | ||||
| nd show the method applicability. This technology can be applied in various sit | ||||
| uations, as detailed in this document, and could be considered Passive or Hybrid | ||||
| depending on the application.</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='8321'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC8321'/> | ||||
| </reference> | ||||
| <reference anchor="RFC7011" target='https://www.rfc-editor.org/info/rfc7011'> | ||||
| <front> | ||||
| <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the | ||||
| Exchange of Flow Information</title> | ||||
| <author initials='B.' surname='Claise' fullname='B. Claise' role='editor'><organ | ||||
| ization /></author> | ||||
| <author initials='B.' surname='Trammell' fullname='B. Trammell' role='editor'><o | ||||
| rganization /></author> | ||||
| <author initials='P.' surname='Aitken' fullname='P. Aitken'><organization /></au | ||||
| thor> | ||||
| <date year='2013' month='September' /> | ||||
| <abstract><t>This document specifies the IP Flow Information Export (IPFIX) prot | ||||
| ocol, which serves as a means for transmitting Traffic Flow information over the | ||||
| network. In order to transmit Traffic Flow information from an Exporting Proce | ||||
| ss to a Collecting Process, a common representation of flow data and a standard | ||||
| means of communicating them are required. This document describes how the IPFIX | ||||
| Data and Template Records are carried over a number of transport protocols from | ||||
| an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsol | ||||
| etes RFC 5101.</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='STD' value='77'/> | ||||
| <seriesInfo name='RFC' value='7011'/> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC7011'/> | ||||
| </reference> | ||||
| <reference anchor="I-D.bryant-mpls-sfl-control"> | ||||
| <front> | ||||
| <title>A Simple Control Protocol for MPLS SFLs</title> | ||||
| <author initials='S' surname='Bryant' fullname='Stewart Bryant'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='G' surname='Swallow' fullname='George Swallow'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='S' surname='Sivabalan' fullname='Siva Sivabalan'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month='June' day='8' year='2020' /> | ||||
| <abstract><t>In draft-ietf-mpls-sfl-framework the concept of MPLS synonymous flo | ||||
| w labels (SFL) was introduced. This document describes a simple control protoco | ||||
| l that runs over an associated control header to request, withdraw, and extend t | ||||
| he lifetime of such labels. It is not the only control protocol that moght be u | ||||
| sed to support SFL, but it has the benefit of being able to be used without modi | ||||
| fying of the existing MPLS control prodocols. The existance of this design is n | ||||
| ot intended to restrict the ability to enhance an existing MPLS control protocol | ||||
| to add a similar capability. A Querier MUST wait a configured time (suggested | ||||
| wait of 60 seconds) before re-attempting a Withdraw request. No more than three | ||||
| Withdraw requests SHOULD be made. These restricctions are to prevent overloadi | ||||
| ng the control plane of the actioning router.</t></abstract> | ||||
| </front> | ||||
| <seriesInfo name='Internet-Draft' value='draft-bryant-mpls-sfl-control-08' /> | <references> | |||
| <format type='TXT' | <name>References</name> | |||
| target='http://www.ietf.org/internet-drafts/draft-bryant-mpls-sfl-contro | <references> | |||
| l-08.txt' /> | <name>Normative References</name> | |||
| </reference> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| FC.5462.xml"/> | ||||
| <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.8174.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3032.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.6790.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3985.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8372.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.6374.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7258.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8321.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7011.xml"/> | ||||
| <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | ||||
| .bryant-mpls-sfl-control.xml"/> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section anchor="contributing-authors" numbered="false" toc="default"> | ||||
| <name>Contributors</name> | ||||
| <contact fullname="Zhenbin Li"> | ||||
| <organization>Huawei</organization> | ||||
| <address> | ||||
| <postal/> | ||||
| <email>lizhenbin@huawei.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| </section> | ||||
| </back> | </back> | |||
| <!-- ##markdown-source: | ||||
| H4sIACJ6d18AA+1bW28bx5J+71/RkF8kHEnrS3KcCHuAKLKUCJBsrimv95zF | ||||
| YtGcaZIND2cm0z2iGR399/2qqnsuFCU7myywDyGQmJrpS3Vdvrp08ejoSGVV | ||||
| 7srFiW7D/Og7pYILhT3R001ZlZtV1Xp9UVRrfWVmttAXjVnZddV8UmY2a+zt | ||||
| ib6eXE31xZXKq6zEuxOdN2YejpzFaqu68Ed+XhzN07SjFy/UehFnfcQD7Kx/ | ||||
| aqq2VpkJdlE1mxPtQ66UD6bM/9sUVYk1N9ar2p3o/wxVdqh91YTGzj2+bVby | ||||
| JatWK1sG/19KmTYsq+ZEaX2E//jjSo8DHesfm40pQ3oq5E6DXZsmbL2rGhB5 | ||||
| 0Ya2sWvr9I3NlmVVVAtnvb4sszTMrowrQPDsBy/LzHiVY5DzYP/rY322tOV4 | ||||
| 92uTLfmxHu38c2uw7dYuK4w9zjD2hyW/3rnLT8d6ujYFJDbe6CeLhe32O95s | ||||
| WoFjtszllC4zhT4DL22zfUqZe0yi/WFBz3ZSAD5P3a2ZmcL0p4q8xvP+5YiI | ||||
| M2dLo8+qpq4aE1xVbm/uZdoPGQ187OjXrvGfNlsnb1ittt7xpv+4Oectj7c2 | ||||
| W2CKW/H4wUGVKqtmBeJuLWnX+4uzb7/568v49eWLF9/Hr9+9eP1N/Prq+as0 | ||||
| 4K+vv39+opQr51uLvPr+u2/TzFevu+GvukVev/z2u27Ayxfp6fMX/PXy6M2x | ||||
| aF1vbllVhqYqsN3R0ZE2Mx8akwWlME3THnpfrJbs+jKHrN0cYieugx2ld7kV | ||||
| GfgDnVufNW4GtYeO6Mb+0rrGkqlpnAOnwT55m8GK1ZxWc7xaIDNZu7B0JU/j | ||||
| 3UyTLV2wGdnUsdY3S+c1QKOlxVS/jdErCwPOdTXXJgPf68L5JcFEoBmzjW49 | ||||
| /WV0YHX9pbUaKlvYXO2ELA/l0Oulg50V8rf8sYKAM6ZuZpfm1lVtgy1VhSdN | ||||
| Glk31S1OxKPcmE/eNrcuk4NY37+2jQeSlVgUdNpch0qHxi0WWLS2zREzqaoT | ||||
| f3UlDKpN9skGbYISLmfW3dIhmQ4YngsZswBACbs8ViLYlcvzwir1DJAkcmDD | ||||
| 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 | ||||
| c/nhWeF+lSHDn/j9D+FmqmikOQAA | ||||
| </rfc> | </rfc> | |||
| End of changes. 50 change blocks. | ||||
| 663 lines changed or deleted | 265 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||