| rfc9855v1.txt | rfc9855.txt | |||
|---|---|---|---|---|
| skipping to change at line 428 ¶ | skipping to change at line 428 ¶ | |||
| other router in the network. | other router in the network. | |||
| The TI-LFA repair path is found by intersecting P(S,X) and Q(D,X) | The TI-LFA repair path is found by intersecting P(S,X) and Q(D,X) | |||
| with the post-convergence path to D and computing the explicit SR- | with the post-convergence path to D and computing the explicit SR- | |||
| based path EP(P, Q) from a node P in P(S,X) to a node Q in Q(D,X) | based path EP(P, Q) from a node P in P(S,X) to a node Q in Q(D,X) | |||
| when these nodes are not adjacent along the post-convergence path. | when these nodes are not adjacent along the post-convergence path. | |||
| The TI-LFA repair list is expressed generally as (Node-SID(P), EP(P, | The TI-LFA repair list is expressed generally as (Node-SID(P), EP(P, | |||
| Q)). | Q)). | |||
| S ------- N1 ----------- D | S ------- N1 ----------- D | |||
| *\ | \ | | *\ | \ | | |||
| * \ | \ | | * \ | \ | | |||
| * \ | \ | | * \ | \ | | |||
| * N2-----R1****R2 *** R3 | * N2-----R1****R2 *** R3 | |||
| * * | * * | |||
| N3 ********* | N3 ********* | |||
| ***** : link with high metric (1k) | ***** : link with high metric (1k) | |||
| ----- : link with metric 1 | ----- : link with metric 1 | |||
| Figure 1: Sample Topology with TI-LFA | Figure 1: Sample Topology with TI-LFA | |||
| As an example, in Figure 1, the focus is on the TI-LFA backup from S | As an example, in Figure 1, the focus is on the TI-LFA backup from S | |||
| skipping to change at line 611 ¶ | skipping to change at line 611 ¶ | |||
| 7.1. MPLS Dataplane Considerations | 7.1. MPLS Dataplane Considerations | |||
| The MPLS dataplane for Segment Routing (SR) is described in | The MPLS dataplane for Segment Routing (SR) is described in | |||
| [RFC8660]. | [RFC8660]. | |||
| The following dataplane behaviors apply when creating a repair list | The following dataplane behaviors apply when creating a repair list | |||
| using an MPLS dataplane: | using an MPLS dataplane: | |||
| 1. If the active segment is a node segment that has been signaled | 1. If the active segment is a node segment that has been signaled | |||
| with penultimate hop popping, and the repair list ends with an | with penultimate hop popping, and the repair list ends with an | |||
| adjacency segment terminating on a node that advertised the | adjacency segment terminating on the penultimate node of the | |||
| "NEXT" operation [RFC8402] of the active segment, then the active | active segment, then the active segment MUST be popped before | |||
| segment MUST be popped before pushing the repair list. | pushing the repair list. | |||
| 2. If the active segment is a node segment, but the other conditions | 2. If the active segment is a node segment, but the other conditions | |||
| in 1. are not met, the active segment MUST be popped and then | in 1. are not met, the active segment MUST be popped and then | |||
| pushed again with a label value computed according to the Segment | pushed again with a label value computed according to the Segment | |||
| Routing Global Block (SRGB) of Q, where Q is the endpoint of the | Routing Global Block (SRGB) of Q, where Q is the endpoint of the | |||
| repair list. Finally, the repair list MUST be pushed. | repair list. Finally, the repair list MUST be pushed. | |||
| 7.2. SRv6 Dataplane Considerations | 7.2. SRv6 Dataplane Considerations | |||
| SRv6 dataplane and programming instructions are described | SRv6 dataplane and programming instructions are described | |||
| skipping to change at line 880 ¶ | skipping to change at line 880 ¶ | |||
| and PE4, when the link L fails, depending on the convergence speed of | and PE4, when the link L fails, depending on the convergence speed of | |||
| the nodes, X may reroute its forwarding entries to the remote PEs | the nodes, X may reroute its forwarding entries to the remote PEs | |||
| onto X-H or X-D; however, in a similar timeframe, PE1 will also | onto X-H or X-D; however, in a similar timeframe, PE1 will also | |||
| reroute a subset of its traffic (the subset destined to PE2) out of | reroute a subset of its traffic (the subset destined to PE2) out of | |||
| its nominal path, reducing the quantity of traffic received by X. | its nominal path, reducing the quantity of traffic received by X. | |||
| The capacity planning rule presented previously has the drawback of | The capacity planning rule presented previously has the drawback of | |||
| oversizing the network; however, it allows for preventing any | oversizing the network; however, it allows for preventing any | |||
| transient congestion (for example, when X reroutes traffic before PE1 | transient congestion (for example, when X reroutes traffic before PE1 | |||
| does). | does). | |||
| H --- I --- J | H --- I --- J * | |||
| | | \ | | | * | |||
| PE4 | | PE3 | PE4 | | PE3 | |||
| \ | (L) | / | \ | (L) | * | |||
| A --- X --- B --- G | * A --- X --- B --- G * | |||
| / | | \ | * | | * | |||
| PE1 | | PE2 | PE1 | | PE2 | |||
| \ | | / | * | | * | |||
| C --- D --- E --- F | * C --- D --- E --- F * | |||
| Figure 3 | Figure 3 | |||
| Based on this assumption, in order to facilitate the operation of FRR | Based on this assumption, in order to facilitate the operation of FRR | |||
| and limit the implementation of local FRR policies, traffic can be | and limit the implementation of local FRR policies, traffic can be | |||
| steered by the PLR onto its expected post-convergence path during the | steered by the PLR onto its expected post-convergence path during the | |||
| FRR phase. In our example, when link L fails, X switches the traffic | FRR phase. In our example, when link L fails, X switches the traffic | |||
| destined to PE3 and PE2 on the post-convergence paths. This is | destined to PE3 and PE2 on the post-convergence paths. This is | |||
| perfectly in line with the capacity planning rule that was presented | perfectly in line with the capacity planning rule that was presented | |||
| before and also in line with the fact that X may converge before PE1 | before and also in line with the fact that X may converge before PE1 | |||
| skipping to change at line 929 ¶ | skipping to change at line 929 ¶ | |||
| that happened is different from the failure FRR was protecting | that happened is different from the failure FRR was protecting | |||
| against. As an example, if the operator has implemented a protection | against. As an example, if the operator has implemented a protection | |||
| against a node failure, the expected post-convergence path used | against a node failure, the expected post-convergence path used | |||
| during FRR will be the one considering that the node has failed. | during FRR will be the one considering that the node has failed. | |||
| However, even if a single link is failing or a set of links is | However, even if a single link is failing or a set of links is | |||
| failing (instead of the full node), the node-protecting post- | failing (instead of the full node), the node-protecting post- | |||
| convergence path will be used. The consequence is that the path used | convergence path will be used. The consequence is that the path used | |||
| during FRR is not optimal with respect to the failure that has | during FRR is not optimal with respect to the failure that has | |||
| actually occurred. | actually occurred. | |||
| Another consideration to take into account is as follows: While using | Another consideration to take into account is as follows: while using | |||
| the expected post-convergence path for SR traffic using node segments | the expected post-convergence path for SR traffic using node segments | |||
| only (for instance, PE to PE traffic using the shortest path) has | only (for instance, PE to PE traffic using the shortest path) has | |||
| some advantages, these advantages reduce when SR policies [RFC9256] | some advantages, these advantages reduce when SR policies [RFC9256] | |||
| are involved. A segment list used in an SR policy is computed to | are involved. A segment list used in an SR policy is computed to | |||
| obey a set of path constraints defined locally at the head-end or | obey a set of path constraints defined locally at the head-end or | |||
| centrally in a controller. TI-LFA cannot be aware of such path | centrally in a controller. TI-LFA cannot be aware of such path | |||
| constraints, and there is no reason to expect the TI-LFA backup path | constraints, and there is no reason to expect the TI-LFA backup path | |||
| protecting one segment in that segment list to obey those | protecting one segment in that segment list to obey those | |||
| constraints. When SR policies are used and the operator wants to | constraints. When SR policies are used and the operator wants to | |||
| have a backup path that still follows the policy requirements, this | have a backup path that still follows the policy requirements, this | |||
| skipping to change at line 961 ¶ | skipping to change at line 961 ¶ | |||
| This section presents an analysis performed on real service provider | This section presents an analysis performed on real service provider | |||
| and large enterprise network topologies. The objective of the | and large enterprise network topologies. The objective of the | |||
| analysis is to assess the number of SIDs required in an explicit path | analysis is to assess the number of SIDs required in an explicit path | |||
| when the mechanisms described in this document are used to protect | when the mechanisms described in this document are used to protect | |||
| against the failure scenarios within the scope of this document. The | against the failure scenarios within the scope of this document. The | |||
| number of segments described in this section are applicable to | number of segments described in this section are applicable to | |||
| instantiating SR over the MPLS forwarding plane. | instantiating SR over the MPLS forwarding plane. | |||
| The measurement below indicates that, for link and local SRLG | The measurement below indicates that, for link and local SRLG | |||
| protection, a 1-SID repair path delivers more than 99% coverage. For | protection, a repair path of 1 SID or less delivers more than 99% | |||
| node protection, a 2-SID repair path yields 99% coverage. | coverage. For node protection, a repair path of 2 SIDs or less | |||
| yields 99% coverage. | ||||
| Table 1 below lists the characteristics of the networks used in our | Table 1 below lists the characteristics of the networks used in our | |||
| measurements. The number of links refers to the number of | measurements. The number of links refers to the number of | |||
| "bidirectional" links (not directed edges of the graph). The | "bidirectional" links (not directed edges of the graph). The | |||
| measurements are carried out as follows: | measurements are carried out as follows: | |||
| * For each network, the algorithms described in this document are | * For each network, the algorithms described in this document are | |||
| applied to protect all prefixes against link, node, and local SRLG | applied to protect all prefixes against link, node, and local SRLG | |||
| failure. | failure. | |||
| * For each prefix, the number of SIDs used by the repair path is | * For each prefix, the number of SIDs used by the repair path is | |||
| recorded. | recorded. | |||
| * The percentage of number of SIDs are listed in Tables 2, 3, 4, 5, | * The percentage of number of SIDs are listed in Tables 2, 3, 4, 5, | |||
| 6, and 7. | 6, and 7. | |||
| The measurements listed in the tables indicate that for link and | ||||
| local SRLG protection, a 1-SID repair path is sufficient to protect | ||||
| more than 99% of the prefix in almost all cases. For node | ||||
| protection, 2-SID repair paths yield 99% coverage. | ||||
| +=========+=======+=======+====================+============+ | +=========+=======+=======+====================+============+ | |||
| | Network | Nodes | Links | Node-to-Link Ratio | SRLG Info? | | | Network | Nodes | Links | Node-to-Link Ratio | SRLG Info? | | |||
| +=========+=======+=======+====================+============+ | +=========+=======+=======+====================+============+ | |||
| | T1 | 408 | 665 | 1.63 | Yes | | | T1 | 408 | 665 | 1.63 | Yes | | |||
| +---------+-------+-------+--------------------+------------+ | +---------+-------+-------+--------------------+------------+ | |||
| | T2 | 587 | 1083 | 1.84 | No | | | T2 | 587 | 1083 | 1.84 | No | | |||
| +---------+-------+-------+--------------------+------------+ | +---------+-------+-------+--------------------+------------+ | |||
| | T3 | 93 | 401 | 4.31 | Yes | | | T3 | 93 | 401 | 4.31 | Yes | | |||
| +---------+-------+-------+--------------------+------------+ | +---------+-------+-------+--------------------+------------+ | |||
| | T4 | 247 | 393 | 1.59 | Yes | | | T4 | 247 | 393 | 1.59 | Yes | | |||
| skipping to change at line 1055 ¶ | skipping to change at line 1051 ¶ | |||
| | T7 | 98.9% | 1.1% | 0.0% | 0.0% | | | T7 | 98.9% | 1.1% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T8 | 94.1% | 5.9% | 0.0% | 0.0% | | | T8 | 94.1% | 5.9% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T9 | 98.9% | 1.0% | 0.0% | 0.0% | | | T9 | 98.9% | 1.0% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| Table 2: Link Protection (Repair Size | Table 2: Link Protection (Repair Size | |||
| Distribution) | Distribution) | |||
| +=========+========+========+========+========+ | +=========+========+=======+========+========+ | |||
| | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | | | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | | |||
| +=========+========+========+========+========+ | +=========+========+=======+========+========+ | |||
| | T1 | 74.2% | 99.5% | 99.9% | 100.0% | | | T1 | 74.2% | 99.5% | 99.9% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T2 | 81.1% | 99.8% | 100.0% | 100.0% | | | T2 | 81.1% | 99.8% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T3 | 95.9% | 99.9% | 100.0% | 100.0% | | | T3 | 95.9% | 99.9% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T4 | 62.5% | 98.2% | 100.0% | 100.0% | | | T4 | 62.5% | 98.2% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T5 | 85.7% | 100.0% | 100.0% | 100.0% | | | T5 | 85.7% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T6 | 81.2% | 99.9% | 100.0% | 100.0% | | | T6 | 81.2% | 99.9% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T7 | 98.8% | 100.0% | 100.0% | 100.0% | | | T7 | 98.8% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T8 | 94.1% | 100.0% | 100.0% | 100.0% | | | T8 | 94.1% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T9 | 98.9% | 100.0% | 100.0% | 100.0% | | | T9 | 98.9% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| Table 3: Link Protection (Repair Size | Table 3: Link Protection (Repair Size | |||
| Cumulative Distribution) | Cumulative Distribution) | |||
| Tables 4 and 5 summarize the measurements on the number of SIDs | Tables 4 and 5 summarize the measurements on the number of SIDs | |||
| needed for local SRLG protection. | needed for local SRLG protection. | |||
| +=========+========+=======+========+========+ | +=========+========+=======+========+========+ | |||
| | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | | | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | | |||
| +=========+========+=======+========+========+ | +=========+========+=======+========+========+ | |||
| | T1 | 74.2% | 25.3% | 0.5% | 0.0% | | | T1 | 74.2% | 25.3% | 0.5% | 0.0% | | |||
| +---------+--------+-------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T2 | No SRLG information | | | T2 | No SRLG information | | |||
| skipping to change at line 1108 ¶ | skipping to change at line 1104 ¶ | |||
| | T7 | No SRLG information | | | T7 | No SRLG information | | |||
| +---------+--------+-------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T8 | 85.2% | 14.8% | 0.0% | 0.0% | | | T8 | 85.2% | 14.8% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T9 | 98.9% | 1.1% | 0.0% | 0.0% | | | T9 | 98.9% | 1.1% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| Table 4: Local SRLG Protection (Repair | Table 4: Local SRLG Protection (Repair | |||
| Size Distribution) | Size Distribution) | |||
| +=========+========+========+========+========+ | +=========+========+=======+========+========+ | |||
| | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | | | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | | |||
| +=========+========+========+========+========+ | +=========+========+=======+========+========+ | |||
| | T1 | 74.2% | 99.5% | 99.9% | 100.0% | | | T1 | 74.2% | 99.5% | 99.9% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T2 | No SRLG information | | | T2 | No SRLG information | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T3 | 93.6% | 99.9% | 100.0% | 0.0% | | | T3 | 93.6% | 99.9% | 100% | 0.0% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T4 | 62.5% | 98.2% | 100.0% | 100.0% | | | T4 | 62.5% | 98.2% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T5 | 83.1% | 100.0% | 100.0% | 100.0% | | | T5 | 83.1% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T6 | No SRLG information | | | T6 | No SRLG information | | |||
| +---------+-----------------------------------+ | +---------+----------------------------------+ | |||
| | T7 | No SRLG information | | | T7 | No SRLG information | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T8 | 85.2% | 100.0% | 100.0% | 100.0% | | | T8 | 85.2% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| | T9 | 98.9% | 100.0% | 100.0% | 100.0% | | | T9 | 98.9% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+ | |||
| Table 5: Local SRLG Protection (Repair Size | Table 5: Local SRLG Protection (Repair | |||
| Cumulative Distribution) | Size Cumulative Distribution) | |||
| The remaining two tables summarize the measurements on the number of | The remaining two tables summarize the measurements on the number of | |||
| SIDs needed for node protection. | SIDs needed for node protection. | |||
| +=========+========+=======+========+========+========+ | +=========+========+=======+========+========+========+ | |||
| | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | 4 SIDs | | | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | 4 SIDs | | |||
| +=========+========+=======+========+========+========+ | +=========+========+=======+========+========+========+ | |||
| | T1 | 49.8% | 47.9% | 2.1% | 0.1% | 0.0% | | | T1 | 49.8% | 47.9% | 2.1% | 0.1% | 0.0% | | |||
| +---------+--------+-------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T2 | 36.5% | 59.6% | 3.6% | 0.2% | 0.0% | | | T2 | 36.5% | 59.6% | 3.6% | 0.2% | 0.0% | | |||
| skipping to change at line 1160 ¶ | skipping to change at line 1156 ¶ | |||
| +---------+--------+-------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T7 | 66.1% | 32.8% | 1.1% | 0.0% | 0.0% | | | T7 | 66.1% | 32.8% | 1.1% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T8 | 59.7% | 40.2% | 0.0% | 0.0% | 0.0% | | | T8 | 59.7% | 40.2% | 0.0% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T9 | 98.9% | 1.0% | 0.0% | 0.0% | 0.0% | | | T9 | 98.9% | 1.0% | 0.0% | 0.0% | 0.0% | | |||
| +---------+--------+-------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| Table 6: Node Protection (Repair Size Distribution) | Table 6: Node Protection (Repair Size Distribution) | |||
| +=========+========+========+========+========+========+ | +=========+========+=======+========+========+========+ | |||
| | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | 4 SIDs | | | Network | 0 SIDs | 1 SID | 2 SIDs | 3 SIDs | 4 SIDs | | |||
| +=========+========+========+========+========+========+ | +=========+========+=======+========+========+========+ | |||
| | T1 | 49.7% | 97.6% | 99.8% | 99.9% | 100.0% | | | T1 | 49.7% | 97.6% | 99.8% | 99.9% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T2 | 36.5% | 96.1% | 99.7% | 99.9% | 100.0% | | | T2 | 36.5% | 96.1% | 99.7% | 99.9% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T3 | 73.3% | 98.9% | 99.9% | 100.0% | 100.0% | | | T3 | 73.3% | 98.9% | 99.9% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T4 | 36.1% | 93.4% | 99.8% | 99.9% | 100.0% | | | T4 | 36.1% | 93.4% | 99.8% | 99.9% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T5 | 73.2% | 100.0% | 100.0% | 100.0% | 100.0% | | | T5 | 73.2% | 100% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T6 | 78.4% | 99.7% | 100.0% | 100.0% | 100.0% | | | T6 | 78.4% | 99.7% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T7 | 66.1% | 98.9% | 100.0% | 100.0% | 100.0% | | | T7 | 66.1% | 98.9% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T8 | 59.7% | 100.0% | 100.0% | 100.0% | 100.0% | | | T8 | 59.7% | 100% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| | T9 | 98.9% | 100.0% | 100.0% | 100.0% | 100.0% | | | T9 | 98.9% | 100% | 100% | 100% | 100% | | |||
| +---------+--------+--------+--------+--------+--------+ | +---------+--------+-------+--------+--------+--------+ | |||
| Table 7: Node Protection (Repair Size Cumulative | Table 7: Node Protection (Repair Size Cumulative | |||
| Distribution) | Distribution) | |||
| Acknowledgments | Acknowledgments | |||
| The authors would like to thank Les Ginsberg, Stewart Bryant, | The authors would like to thank Les Ginsberg, Stewart Bryant, | |||
| Alexander Vainsthein, Chris Bowers, Shraddha Hedge, Wes Hardaker, | Alexander Vainsthein, Chris Bowers, Shraddha Hedge, Wes Hardaker, | |||
| Gunter Van de Velde, and John Scudder for their valuable comments. | Gunter Van de Velde, and John Scudder for their valuable comments. | |||
| Contributors | Contributors | |||
| In addition to the authors listed on the front page, the following | In addition to the authors listed on the front page, the following | |||
| End of changes. 12 change blocks. | ||||
| 92 lines changed or deleted | 88 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||