< draft-cc-ospf-flooding-reduction-03.txt   draft-cc-ospf-flooding-reduction-04.txt >
Network Working Group H. Chen Network Working Group H. Chen
Internet-Draft D. Cheng Internet-Draft D. Cheng
Intended status: Standards Track Huawei Technologies Intended status: Standards Track Huawei Technologies
Expires: March 16, 2019 M. Toy Expires: March 24, 2019 M. Toy
Verizon Verizon
Y. Yang Y. Yang
IBM IBM
September 12, 2018 September 20, 2018
LS Flooding Reduction LS Flooding Reduction
draft-cc-ospf-flooding-reduction-03 draft-cc-ospf-flooding-reduction-04
Abstract Abstract
This document proposes an approach to flood link states on a topology This document proposes an approach to flood link states on a topology
that is a subgraph of the complete topology per underline physical that is a subgraph of the complete topology per underline physical
network, so that the amount of flooding traffic in the network is network, so that the amount of flooding traffic in the network is
greatly reduced, and it would reduce convergence time with a more greatly reduced, and it would reduce convergence time with a more
stable and optimized routing environment. The approach can be stable and optimized routing environment. The approach can be
applied to any network topology in a single area. applied to any network topology in a single area.
skipping to change at page 1, line 45 skipping to change at page 1, line 45
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 16, 2019. This Internet-Draft will expire on March 24, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 33 skipping to change at page 2, line 33
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Conventions Used in This Document . . . . . . . . . . . . . . 4 3. Conventions Used in This Document . . . . . . . . . . . . . . 4
4. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 4 4. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 4
5. Flooding Topology . . . . . . . . . . . . . . . . . . . . . . 5 5. Flooding Topology . . . . . . . . . . . . . . . . . . . . . . 5
5.1. Construct Flooding Topology . . . . . . . . . . . . . . . 5 5.1. Construct Flooding Topology . . . . . . . . . . . . . . . 5
5.2. Backup for Flooding Topology Split . . . . . . . . . . . 7 5.2. Backup for Flooding Topology Split . . . . . . . . . . . 7
6. Extensions to OSPF . . . . . . . . . . . . . . . . . . . . . 7 6. Extensions to OSPF . . . . . . . . . . . . . . . . . . . . . 7
6.1. Extensions for Operations . . . . . . . . . . . . . . . . 8 6.1. Extensions for Operations . . . . . . . . . . . . . . . . 8
6.2. Extensions for Centralized Mode . . . . . . . . . . . . . 9 6.2. Extensions for Centralized Mode . . . . . . . . . . . . . 9
6.2.1. Message for Flooding Topology . . . . . . . . . . . . 9 6.2.1. Message for Flooding Topology . . . . . . . . . . . . 9
6.2.2. Encodings for Backup Paths . . . . . . . . . . . . . 13 6.2.2. Encodings for Backup Paths . . . . . . . . . . . . . 16
6.2.3. Message for Incremental Changes . . . . . . . . . . . 21 6.2.3. Message for Incremental Changes . . . . . . . . . . . 24
6.2.4. Leaders Selection . . . . . . . . . . . . . . . . . . 22 6.2.4. Leaders Selection . . . . . . . . . . . . . . . . . . 25
7. Extensions to IS-IS . . . . . . . . . . . . . . . . . . . . . 24 7. Extensions to IS-IS . . . . . . . . . . . . . . . . . . . . . 27
7.1. Extensions for Operations . . . . . . . . . . . . . . . . 24 7.1. Extensions for Operations . . . . . . . . . . . . . . . . 27
7.2. Extensions for Centralized Mode . . . . . . . . . . . . . 24 7.2. Extensions for Centralized Mode . . . . . . . . . . . . . 27
7.2.1. TLV for Flooding Topology . . . . . . . . . . . . . . 24 7.2.1. TLV for Flooding Topology . . . . . . . . . . . . . . 27
7.2.2. Encodings for Backup Paths . . . . . . . . . . . . . 25 7.2.2. Encodings for Backup Paths . . . . . . . . . . . . . 28
7.2.3. TLVs for Incremental Changes . . . . . . . . . . . . 26 7.2.3. TLVs for Incremental Changes . . . . . . . . . . . . 29
7.2.4. Leaders Selection . . . . . . . . . . . . . . . . . . 27 7.2.4. Leaders Selection . . . . . . . . . . . . . . . . . . 30
8. Flooding Behavior . . . . . . . . . . . . . . . . . . . . . . 27 8. Flooding Behavior . . . . . . . . . . . . . . . . . . . . . . 30
8.1. Nodes Perform Flooding Reduction without Failure . . . . 27 8.1. Nodes Perform Flooding Reduction without Failure . . . . 30
8.1.1. Receiving an LS . . . . . . . . . . . . . . . . . . . 27 8.1.1. Receiving an LS . . . . . . . . . . . . . . . . . . . 30
8.1.2. Originating an LS . . . . . . . . . . . . . . . . . . 28 8.1.2. Originating an LS . . . . . . . . . . . . . . . . . . 31
8.1.3. Establishing Adjacencies . . . . . . . . . . . . . . 28 8.1.3. Establishing Adjacencies . . . . . . . . . . . . . . 31
8.2. An Exception Case . . . . . . . . . . . . . . . . . . . . 29 8.2. An Exception Case . . . . . . . . . . . . . . . . . . . . 32
8.2.1. A Critical Failure . . . . . . . . . . . . . . . . . 29 8.2.1. A Critical Failure . . . . . . . . . . . . . . . . . 32
8.2.2. Multiple Failures . . . . . . . . . . . . . . . . . . 29 8.2.2. Multiple Failures . . . . . . . . . . . . . . . . . . 32
9. Security Considerations . . . . . . . . . . . . . . . . . . . 30 9. Security Considerations . . . . . . . . . . . . . . . . . . . 33
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33
10.1. OSPFv2 . . . . . . . . . . . . . . . . . . . . . . . . . 30 10.1. OSPFv2 . . . . . . . . . . . . . . . . . . . . . . . . . 33
10.2. OSPFv3 . . . . . . . . . . . . . . . . . . . . . . . . . 32 10.2. OSPFv3 . . . . . . . . . . . . . . . . . . . . . . . . . 35
10.3. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . 33 10.3. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . 36
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 33 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 36
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 33 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.1. Normative References . . . . . . . . . . . . . . . . . . 33 12.1. Normative References . . . . . . . . . . . . . . . . . . 36
12.2. Informative References . . . . . . . . . . . . . . . . . 34 12.2. Informative References . . . . . . . . . . . . . . . . . 37
Appendix A. Algorithms to Build Flooding Topology . . . . . . . 34 Appendix A. Algorithms to Build Flooding Topology . . . . . . . 37
A.1. Algorithms to Build Tree without Considering Others . . . 34 A.1. Algorithms to Build Tree without Considering Others . . . 37
A.2. Algorithms to Build Tree Considering Others . . . . . . . 36 A.2. Algorithms to Build Tree Considering Others . . . . . . . 39
A.3. Connecting Leaves . . . . . . . . . . . . . . . . . . . . 38 A.3. Connecting Leaves . . . . . . . . . . . . . . . . . . . . 41
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42
1. Introduction 1. Introduction
For some networks such as dense Data Center (DC) networks, the For some networks such as dense Data Center (DC) networks, the
existing Link State (LS) flooding mechanism is not efficient and may existing Link State (LS) flooding mechanism is not efficient and may
have some issues. The extra LS flooding consumes network bandwidth. have some issues. The extra LS flooding consumes network bandwidth.
Processing the extra LS flooding, including receiving, buffering and Processing the extra LS flooding, including receiving, buffering and
decoding the extra LSs, wastes memory space and processor time. This decoding the extra LSs, wastes memory space and processor time. This
may cause scalability issues and affect the network convergence may cause scalability issues and affect the network convergence
negatively. negatively.
skipping to change at page 9, line 30 skipping to change at page 9, line 30
field is not valid. field is not valid.
Some optional sub TLVs may be defined in the future, but none is Some optional sub TLVs may be defined in the future, but none is
defined now. defined now.
6.2. Extensions for Centralized Mode 6.2. Extensions for Centralized Mode
6.2.1. Message for Flooding Topology 6.2.1. Message for Flooding Topology
A flooding topology can be represented by the links in the flooding A flooding topology can be represented by the links in the flooding
topology. For the links between a local node and a number of remote topology. For the links between a local node and a number of its
nodes, we can encode the local node in a way, and encode the remote adjacent (or remote) nodes, we can encode the local node in a way,
nodes in the same way or another way. After all the links in the and encode its adjacent nodes in the same way or another way. After
flooding topology are encoded, the encoded links can be flooded to all the links in the flooding topology are encoded, the encoded links
every node in the network. After receiving the encoded links, every can be flooded to every node in the network. After receiving the
node decodes the links and creates and/or updates the flooding encoded links, every node decodes the links and creates and/or
topology. updates the flooding topology.
For every node in an area, we may use an index to represent it. For every node in an area, we may use an index to represent it.
Every node in an area may order the nodes in a rule, which generates Every node in an area may order the nodes in a rule, which generates
the same sequence of the nodes on every node in the area. The the same sequence of the nodes on every node in the area. The
sequence of nodes have the index 0, 1, 2, and so on respectively. sequence of nodes have the index 0, 1, 2, and so on respectively.
For example, every node orders the nodes by their router IDs in For example, every node orders the nodes by their router IDs in
ascending order. ascending order.
6.2.1.1. Links Encoding
A local node can be encoded in two parts: encoded node index size A local node can be encoded in two parts: encoded node index size
indication (ENSI) and compact node index (CNI). ENSI value plus a indication (ENSI) and compact node index (CNI). ENSI value plus a
number (e.g., 9) gives the size of compact node index. For example, number (e.g., 9) gives the size of compact node index. For example,
ENSI = 0 indicates that the size of CNIs is 9 bits. In the figure ENSI = 0 indicates that the size of CNIs is 9 bits. In the figure
below, Local node LN1 is encoded as ENSI=0 using 3 bits and CNI=LN1's below, Local node LN1 is encoded as ENSI=0 using 3 bits and CNI=LN1's
Index using 9 bits. LN1 is encoded in 12 bits in total. Index using 9 bits. LN1 is encoded in 12 bits in total.
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
|0 0 0| ENSI (3 bits) [9 bits CNI] |0 0 0| ENSI (3 bits) [9 bits CNI]
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
| LN1 Index Value | CNI (9 bits) | LN1 Index Value | CNI (9 bits)
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
One Local Node Encoding An Example of Local Node Encoding
The remote nodes can be encoded in two parts: Number of Nodes (NN) The adjacent nodes can be encoded in two parts: Number of Nodes (NN)
and compact node indexes (CNIs). The size of CNIs is the same as the and compact node indexes (CNIs). The size of CNIs is the same as the
local node. For example, three remote nodes RN10, RN20 and RN30 are local node. For example, three adjacent nodes RN1, RN2 and RN3 are
encoded below in 30 bits (i.e., 3.75 bytes). encoded below in 30 bits (i.e., 3.75 bytes).
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
|0 1 1| NN (3 bits) [3 remote nodes] |0 1 1| NN (3 bits) [3 adjacent nodes]
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
| RN10's Index | CNI (9 bits) for RN10 | RN1's Index | CNI (9 bits) for RN1
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
| RN20's Index | CNI (9 bits) for RN20 | RN2's Index | CNI (9 bits) for RN2
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
| RN30's Index | CNI (9 bits) for RN30 | RN3's Index | CNI (9 bits) for RN3
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
One Remote Nodes Encoding An Example of Adjacent Nodes Encoding
The links between a local node and a number of remote nodes can be The links between a local node and a number of its adjacent (or
encoded as the local node followed by the remote nodes. For example, remote) nodes can be encoded as the local node followed by the
three links between local node LN1 and three remote nodes RN10, RN20 adjacent nodes. For example, three links between local node LN1 and
and RN30 are encoded below in 42 bits (i.e., 5.25 bytes). its three adjacent nodes RN1, RN2 and RN3 are encoded below in 42
bits (i.e., 5.25 bytes).
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+-+ _ +-+-+-+-+-+-+-+-+-+ _
|0 0 0| ENSI (3 bits) [9 bits CNI] | |0 0 0| ENSI (3 bits) [9 bits CNI] |
+-+-+-+-+-+-+-+-+-+ } Encoding for +-+-+-+-+-+-+-+-+-+ } Encoding for
| LN1 Index Value | CNI (9 bits) for LN1 _| Local Node LN1 | LN1 Index Value | CNI (9 bits) for LN1 _| Local Node LN1
+-+-+-+-+-+-+-+-+-+ _ +-+-+-+-+-+-+-+-+-+ _
|0 1 1| NN (3 bits) [3 nodes] | |0 1 1| NN (3 bits) [3 nodes] |
+-+-+-+-+-+-+-+-+-+ | Encoding for +-+-+-+-+-+-+-+-+-+ | Encoding for
| RN10's Index | CNI (9 bits) for RN10 | 3 remote nodes | RN1's Index | CNI (9 bits) for RN1 | 3 adjacent nodes
+-+-+-+-+-+-+-+-+-+ } RN10, RN20, RN30 +-+-+-+-+-+-+-+-+-+ } RN1, RN2, RN3
| RN20's Index | CNI (9 bits) for RN20 | | RN2's Index | CNI (9 bits) for RN2 | of LN1
+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+ |
| RN30's Index | CNI (9 bits) for RN30 _| | RN3's Index | CNI (9 bits) for RN3 _|
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
Links Encoding An Example of Links Encoding
For a flooding topology computed by a leader of an area, it may be For a flooding topology computed by a leader of an area, it may be
represented by all the links on the flooding topology. A Type- represented by all the links on the flooding topology. A Type-
Length-Value (TLV) of the following format for the links encodings Length-Value (TLV) of the following format for the links encodings
can be included in an LSA to represent the flooding topology (FT) and can be included in an LSA to represent the flooding topology (FT) and
flood the FT to every node in the area. flood the FT to every node in the area.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FTLK-TLV-Type (TBD2) | TLV-Length | | FTLK-TLV-Type (TBD2) | TLV-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 1 to its Remote Nodes) ~ ~ Links Encoding (Node 1 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 2 to its Remote Nodes) ~ ~ Links Encoding (Node 2 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: : : :
Flooding Topology Links TLV Flooding Topology Links TLV
Note that a link between a local node LN and a remote node RN can be Note that a link between a local node LN and its adjacent node RN can
encoded once. That is that if it is encoded in a Links Encoding from be encoded once and as a bi-directional link. That is that if it is
LN to RN, then it is not encoded in a Links Encoding from RN to LN. encoded in a Links Encoding from LN to RN, then the link from RN to
LN is implied or assumed.
For OSPFv2, an Opaque LSA of a new opaque type (TBD3) containing a For OSPFv2, an Opaque LSA of a new opaque type (TBD3) containing a
Flooding Topology Links TLV is used to flood the flooding topology Flooding Topology Links TLV is used to flood the flooding topology
from the leader of an area to all the other nodes in the area. from the leader of an area to all the other nodes in the area.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age | Options | LS Type = 10 | | LS age | Options | LS Type = 10 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 13, line 5 skipping to change at page 13, line 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS checksum | Length | | LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Flooding Topology Links TLV ~ ~ Flooding Topology Links TLV ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
OSPFv3: Flooding Topology LSA OSPFv3: Flooding Topology LSA
The U-bit is set to 1, and the scope is set to 01 for area-scoping. The U-bit is set to 1, and the scope is set to 01 for area-scoping.
6.2.1.2. Block Encoding
Block encoding uses a single structure to encode a block (or part) of
topology, which can be a block of links in a flooding topology. It
can also be all the links in the flooding topology. It starts with a
local node LN and its adjacent (or remote) nodes RNi (i = 1, 2, ...,
n), and can be considered as an extension to the links encoding.
The encoding of links between a local node and its adjacent nodes
described in Section 6.2.1.1 is extended to include the links
attached to the adjacent nodes.
The encoding for the adjacent nodes is extended to include Extending
Flags (E Flags for short) between the NN (Number of Nodes) field and
the CNIs (Compact Node Indexes) for the adjacent nodes. The length
of the E Flags field is NN bits. The following is an example
encoding of the adjacent nodes with E Flags of 3 bits, which is the
value of the NN (the number of adjacent nodes).
0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+-+
|0 1 1| NN (3 bits) [3 adjacent nodes]
+-+-+-+
|1 0 1| E Flags [NN=3 bits]
+-+-+-+-+-+-+-+-+-+
| RN1's Index | CNI (9 bits) for RN1
+-+-+-+-+-+-+-+-+-+
| RN2's Index | CNI (9 bits) for RN2
+-+-+-+-+-+-+-+-+-+
| RN3's Index | CNI (9 bits) for RN3
+-+-+-+-+-+-+-+-+-+
An Example of Adjacent Nodes with E Flags Encoding
There is a bit flag (called E flag) in the E Flags field for each
adjacent node. The first bit (i.e., the most significant bit) in the
E Flags field is for the first adjacent node (e.g., RN1), the second
bit is for the second adjacent node (e.g., RN2), and so on. The E
flag for an adjacent node RNi set to one indicates that the links
attached to the adjacent node RNi are included below. The E flag for
an adjacent node RNi set to zero means that no links attached to the
adjacent node RNi are included below.
The links attached to the adjacent node RNi are represented by the
RNi as a local node and the adjacent nodes of RNi. The encoding for
the adjacent nodes of RNi is the same as that for the adjacent nodes
of a local node. It consists of an NN field of 3 bits, E Flags field
of NN bits, and CNIs for the adjacent nodes of RNi.
The following is an example of a block encoding for a block (or part)
of flooding topology below.
o LN1
/ | \
/ \
/ | \
o RN1 o RN2 o RN3
/ / \
/ / \
/ / \
o RN11 o RN31 o RN32
An Example Block of Flooding Topology
It represents 6 links: 3 links between local node LN1 and its 3
adjacent nodes RN1, RN2 and RN3; 1 link between RN1 as a local node
and its 1 adjacent node RN11; and 2 links between RN3 as a local node
and its 2 adjacent nodes RN31 and RN32.
It starts with the encoding of the links between local node LN1 and 3
adjacent nodes RN1, RN2 and RN3 of the local node LN1. The encoding
for the local node LN1 is the same as that for a local node described
in Section 6.2.1.1. The encoding for 3 adjacent nodes RN1, RN2 and
RN3 of local node LN1 comprises an NN field of 3 bits with value of
3, E Flags field of NN = 3 bits, and the indexes of adjacent nodes
RN1, RN2 and RN3.
0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+-+ _
|0 0 0| ENSI (3 bits) [9 bits CNI] |
+-+-+-+-+-+-+-+-+-+ } Encoding for
| LN1 Index Value | CNI (9 bits) _| Local Node LN1
+-+-+-+-+-+-+-+-+-+ _
|0 1 1| NN(3 bits)[3 adjacent nodes]|
+-+-+-+ |
|1 0 1| E Flags [NN=3 bits] | Encoding for
+-+-+-+-+-+-+-+-+-+ | 3 adjacent nodes
| RN1's Index | CNI (9 bits) for RN1 } (RN1, RN2, RN3)
+-+-+-+-+-+-+-+-+-+ | of LN1
| RN2's Index | CNI (9 bits) for RN2 |
+-+-+-+-+-+-+-+-+-+ |
| RN3's Index | CNI (9 bits) for RN3 _|
+-+-+-+-+-+-+-+-+-+ _
|0 0 1| NN (3 bits)[1 adjacent node]|
+-+-+-+ | Encoding for
|0| E Flags [NN=1 bit] } 1 adjacent node
+-+-+-+-+-+-+-+-+-+ | (RN11)
| RN11's Index | CNI (9 bits) for RN11 _| of RN1
+-+-+-+-+-+-+-+-+-+ _
|0 1 0| NN(3 bits)[2 adjacent nodes]|
+-+-+-+ |
|0 0| E Flags [NN=2 bits] | Encoding for
+-+-+-+-+-+-+-+-+-+ } 2 adjacent nodes
| RN31's Index | CNI (9 bits) for RN31 | (RN31, RN32)
+-+-+-+-+-+-+-+-+-+ | of RN3 as a
| RN32's Index | CNI (9 bits) for RN32 | local node
+-+-+-+-+-+-+-+-+-+ _|
An Example of Block Encoding
The first E flag in the encoding for adjacent nodes RN1, RN2 and RN3
is set to one, which indicates that the links between the first
adjacent node RN1 as a local node and its adjacent nodes are included
below. In this example, 1 link between RN1 and its adjacent node
RN11 is represented by the encoding for the adjacent node RN11 of RN1
as a local node. The encoding for 1 adjacent node RN11 consists of
an NN field of 3 bits with value of 1, E Flags field of NN = 1 bits,
and the index of adjacent node RN11. The size of the index of RN11
is the same as that of local node LN1 indicated by the ENSI in the
encoding for local node LN1.
The second E flag in the encoding for adjacent nodes RN1, RN2 and RN3
is set to zero, which indicates that no links between the second
adjacent node RN2 as a local node and its adjacent nodes are included
below.
The third E flag in the encoding for adjacent nodes RN1, RN2 and RN3
is set to one, which indicates that the links between the third
adjacent node RN3 as a local node and its adjacent nodes are included
below. In this example, 2 links between RN3 and its 2 adjacent nodes
RN31 and RN32 are represented by the encoding for the adjacent nodes
RN31 and RN32 of RN3 as a local node. The encoding for 2 adjacent
nodes RN31 and RN32 consists of an NN field of 3 bits with value of
2, E Flags field of NN = 2 bits, and the indexes of adjacent nodes
RN31 and RN32. The size of the index of RN31 and RN32 is the same as
that of local node LN1 indicated by the ENSI in the encoding for
local node LN1.
The block encoding may be used in the place of the links encoding in
Section 6.2.1.1 for more efficiency. That is that it may be used in
a Flooding Topology Links TLV. Alternatively, a new TLV, which is
similar to the Flooding Topology Links TLV, may be defined to contain
a number of block encodings.
6.2.2. Encodings for Backup Paths 6.2.2. Encodings for Backup Paths
When the leader of an area computes a flooding topology, it may When the leader of an area computes a flooding topology, it may
compute a backup path or multiple backup paths for a critical link on compute a backup path or multiple backup paths for a critical link on
the flooding topology. When the critical link fails, a link state the flooding topology. When the critical link fails, a link state
can be distributed to every node in the area through one backup path can be distributed to every node in the area through one backup path
and other links on the flooding topology. In addition, it may and other links on the flooding topology. In addition, it may
compute a backup path or multiple backup paths for a node. When the compute a backup path or multiple backup paths for a node. When the
node fails, a link state can be distributed to the other nodes in the node fails, a link state can be distributed to the other nodes in the
area through the backup paths and the links on the flooding topology. area through the backup paths and the links on the flooding topology.
skipping to change at page 14, line 21 skipping to change at page 17, line 25
|PLEN | 4 bits (backup path len) | | |PLEN | 4 bits (backup path len) | |
+-+-+-+-+-+-+-+-+ | | Backup +-+-+-+-+-+-+-+-+ | | Backup
| PN1 Encoding | Variable bits | One } paths | PN1 Encoding | Variable bits | One } paths
+-+-+-+-+-+-+-+-+ } backup path | for Node +-+-+-+-+-+-+-+-+ } backup path | for Node
~ ~ | for Node | ~ ~ | for Node |
+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ | |
| PNn Encoding | Variable bits _| | | PNn Encoding | Variable bits _| |
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ |
// // _| // // _|
One Node Backup Paths Encoding An Example of Node Backup Paths Encoding
Another encoding of the sequence of nodes along the path uses one Another encoding of the sequence of nodes along the path uses one
encoded node index size indication (ENSI) for all the nodes in the encoded node index size indication (ENSI) for all the nodes in the
path. Thus we have the following Node Backup Paths Encoding. path. Thus we have the following Node Backup Paths Encoding.
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|K| 1 bit (K=1: Key/Critical Node, K=0: Normal Node) |K| 1 bit (K=1: Key/Critical Node, K=0: Normal Node)
+-+-+-+ _ +-+-+-+ _
|NNBP | 3 bits (number of node backup paths) | |NNBP | 3 bits (number of node backup paths) |
skipping to change at page 14, line 45 skipping to change at page 17, line 49
|ENSI | 3 bits(Ix Bits Indication)| | Backup |ENSI | 3 bits(Ix Bits Indication)| | Backup
+-+-+-+-+-+-+-+-+ | One } paths +-+-+-+-+-+-+-+-+ | One } paths
| PN1 Index | #Bits indicated by ENSI } backup path | for Node | PN1 Index | #Bits indicated by ENSI } backup path | for Node
+-+-+-+-+-+-+-+-+ | for Node | +-+-+-+-+-+-+-+-+ | for Node |
~ ~ | | ~ ~ | |
+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ | |
| PNn Index | #Bits indicated by ENSI _| | | PNn Index | #Bits indicated by ENSI _| |
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ |
// // _| // // _|
Another Node Backup Paths Encoding Another Example of Node Backup Paths Encoding
A new TLV called Node Backup Paths TLV is defined below. It may A new TLV called Node Backup Paths TLV is defined below. It may
include multiple nodes and their backup paths. Each node is include multiple nodes and their backup paths. Each node is
represented by its index encoding, which is followed by its node represented by its index encoding, which is followed by its node
backup paths encoding. backup paths encoding.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NBP-TLV-Type (TBD5) | TLV-Length | | NBP-TLV-Type (TBD5) | TLV-Length |
skipping to change at page 15, line 32 skipping to change at page 18, line 37
flooding topology consists of the link encoding such as Link1 Index flooding topology consists of the link encoding such as Link1 Index
Encoding and the link backup paths encoding. The former is similar Encoding and the link backup paths encoding. The former is similar
to local node encoding. It contains encoded link index size to local node encoding. It contains encoded link index size
indication (ELSI) and compact link index (CLI). The latter has the indication (ELSI) and compact link index (CLI). The latter has the
following format. It comprises a C flag (Critical link flag) of 1 following format. It comprises a C flag (Critical link flag) of 1
bit, a 2 bits NLB field (number of link backup paths), and each of bit, a 2 bits NLB field (number of link backup paths), and each of
the backup paths encoding, which consists of the path length PLEN of the backup paths encoding, which consists of the path length PLEN of
3 bits indicating the length of the path (i.e., the number of nodes), 3 bits indicating the length of the path (i.e., the number of nodes),
and the encoding of the sequence of nodes along the path such as and the encoding of the sequence of nodes along the path such as
encodings for nodes PN1, ..., PNm. Note that two ends of a link encodings for nodes PN1, ..., PNm. Note that two ends of a link
(i.e., the local node and the remote node of the link) are not needed (i.e., the local node and the adjacent/remote node of the link) are
in the path. The encoding of every node may use the encoding of a not needed in the path. The encoding of every node may use the
local node, which comprises encoded node index size indication (ENSI) encoding of a local node, which comprises encoded node index size
and compact node index (CNI). indication (ENSI) and compact node index (CNI).
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|C| 1 bit (C=1: Critical Link, C=0: Normal Link) |C| 1 bit (C=1: Critical Link, C=0: Normal Link)
+-+-+ _ +-+-+ _
|NLB| 2 bits (number of link backup paths) | |NLB| 2 bits (number of link backup paths) |
+-+-+-+ _ | +-+-+-+ _ |
|PLEN | 3 bits (backup path len) | | |PLEN | 3 bits (backup path len) | |
+-+-+-+-+-+-+-+-+ | | Backup +-+-+-+-+-+-+-+-+ | | Backup
| PN1 Encoding | Variable bits | One } paths | PN1 Encoding | Variable bits | One } paths
+-+-+-+-+-+-+-+-+ } backup path | for Link +-+-+-+-+-+-+-+-+ } backup path | for Link
~ ~ | for Link | ~ ~ | for Link |
+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ | |
| PNm Encoding | Variable bits _| | | PNm Encoding | Variable bits _| |
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ |
// // _| // // _|
One Link Backup Paths Encoding An Example of Link Backup Paths Encoding
Another encoding of the sequence of nodes along the path uses one Another encoding of the sequence of nodes along the path uses one
encoded node index size indication (ENSI) for all the nodes in the encoded node index size indication (ENSI) for all the nodes in the
path. Thus we have the following Link Backup Paths Encoding. path. Thus we have the following Link Backup Paths Encoding.
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|C| 1 bit (C=1: Critical Link, C=0: Normal Link) |C| 1 bit (C=1: Critical Link, C=0: Normal Link)
+-+-+ _ +-+-+ _
|NLB| 2 bits (number of link backup paths) | |NLB| 2 bits (number of link backup paths) |
skipping to change at page 16, line 45 skipping to change at page 19, line 45
|ENSI | 3 bits(Ix Bits Indication)| | Backup |ENSI | 3 bits(Ix Bits Indication)| | Backup
+-+-+-+-+-+-+-+-+ | One } paths +-+-+-+-+-+-+-+-+ | One } paths
| PN1 Index | #Bits indicated by ENSI } backup path | for Link | PN1 Index | #Bits indicated by ENSI } backup path | for Link
+-+-+-+-+-+-+-+-+ | for Link | +-+-+-+-+-+-+-+-+ | for Link |
~ ~ | | ~ ~ | |
+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ | |
| PNm Index | #Bits indicated by ENSI _| | | PNm Index | #Bits indicated by ENSI _| |
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ |
// // _| // // _|
Another Link Backup Paths Encoding Another Example of Link Backup Paths Encoding
A new TLV called Link Backup Paths TLV is defined below. It may A new TLV called Link Backup Paths TLV is defined below. It may
include multiple links and their backup paths. Each link is include multiple links and their backup paths. Each link is
represented by its index encoding, which is followed by its link represented by its index encoding, which is followed by its link
backup paths encoding. backup paths encoding.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LBP-TLV-Type (TBD6) | TLV-Length | | LBP-TLV-Type (TBD6) | TLV-Length |
skipping to change at page 17, line 47 skipping to change at page 20, line 47
| LS checksum | Length | | LS checksum | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Link Backup Paths TLVs ~ ~ Link Backup Paths TLVs ~
~ Node Backup Paths TLVs ~ ~ Node Backup Paths TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
OSPFv2: Backup Paths Opaque LSA OSPFv2: Backup Paths Opaque LSA
For OSPFv3, an area scope LSA of a new LSA function code (TBD8), For OSPFv3, an area scope LSA of a new LSA function code (TBD8),
containing node backup paths TLVs and link backup paths TLVs, is used containing node backup paths TLVs and link backup paths TLVs, is used
to flood the flooding topology from the leader of an area to all the to flood the backup paths from the leader of an area to all the other
other nodes in the area. nodes in the area.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LS age |1|0|1| BP-LSA (TBD8) | | LS age |1|0|1| BP-LSA (TBD8) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link State ID | | Link State ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Advertising Router | | Advertising Router |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 18, line 44 skipping to change at page 21, line 44
+-+-+-+-+-+-+-+-+-+ _ +-+-+-+-+-+-+-+-+-+ _
|ENSI | 3 bits(#bits indication) | |ENSI | 3 bits(#bits indication) |
+-+-+-+-+-+-+-+-+-+ } Local Node LN1 +-+-+-+-+-+-+-+-+-+ } Local Node LN1
| LN1 Index Value | #bits indicated by ENSI _| Encoding | LN1 Index Value | #bits indicated by ENSI _| Encoding
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Local node LN1 backup paths encoding : : Local node LN1 backup paths encoding :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Local Node with Backup Paths Encoding Local Node with Backup Paths Encoding
A remote node and its backup paths can be encoded in the following A adjacent node and its backup paths can be encoded in the following
format. It is the remote node (such as remote node RN10) index value format. It is the adjacent node (such as adjacent node RN10) index
followed by the remote node backup paths encoding, which is the same value followed by the adjacent node backup paths encoding, which is
as the node backup paths encoding described in Section 6.2.2.1. the same as the node backup paths encoding described in
Section 6.2.2.1.
+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+
|RN10 Index Value | (#bits indicated by ENSI) |RN10 Index Value | (#bits indicated by ENSI)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Remote node RN10 backup paths encoding : : adjacent node RN10 backup paths encoding :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Remote Node with Backup Paths Encoding Adjacent Node with Backup Paths Encoding
The links between a local node and a number of remote nodes, the The links between a local node and a number of its adjacent nodes,
backup paths for each of the nodes, and the backup paths for each of the backup paths for each of the nodes, and the backup paths for each
the links can be encoded in the following format. It is called Links of the links can be encoded in the following format. It is called
from Node with Backup Paths Encoding. Links from Node with Backup Paths Encoding.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Local Node with backup paths encoding : : Local Node with backup paths encoding :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NN | Number of Remote Nodes (i.e., Number of links) | NN | Number of adjacent Nodes (i.e., Number of links)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Remote Node 1 with backup paths encoding : : Adjacent Node 1 with backup paths encoding :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Link1 backup paths Encoding : : Link1 backup paths Encoding :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Remote Node 2 with backup paths encoding : : Adjacent Node 2 with backup paths encoding :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Link2 backup paths Encoding : : Link2 backup paths Encoding :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
Links from Node with Backup Paths Encoding Links from Node with Backup Paths Encoding
A new TLV called Links with Backup Paths TLV is defined below. It A new TLV called Links with Backup Paths TLV is defined below. It
includes a number of Links from Node with Backup Paths Encodings includes a number of Links from Node with Backup Paths Encodings
described above. This TLV contains both the flooding topology and described above. This TLV contains both the flooding topology and
skipping to change at page 21, line 42 skipping to change at page 24, line 42
topology with the new links to all the other nodes, it removes the topology with the new links to all the other nodes, it removes the
LSA for the new links. When removing the LSA for these new links, LSA for the new links. When removing the LSA for these new links,
each of the other nodes does not update the flooding topology (i.e., each of the other nodes does not update the flooding topology (i.e.,
does not remove these links from the flooding topology). does not remove these links from the flooding topology).
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ADDLK-TLV-Type (TBDc) | TLV-Length | | ADDLK-TLV-Type (TBDc) | TLV-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 1 to its Remote Nodes) ~ ~ Links Encoding (Node 1 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 2 to its Remote Nodes) ~ ~ Links Encoding (Node 2 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: : : :
Add Links TLV Add Links TLV
For deleting some links from the flooding topology, we define a new For deleting some links from the flooding topology, we define a new
TLV called Delete Links TLVs of the following format. When some old TLV called Delete Links TLVs of the following format. When some old
links are removed from the flooding topology, the leader may not links are removed from the flooding topology, the leader may not
flood the whole flooding topology without the old links to all the flood the whole flooding topology without the old links to all the
other nodes. It may just flood these old links. After receiving other nodes. It may just flood these old links. After receiving
skipping to change at page 22, line 22 skipping to change at page 25, line 22
flooding topology without the old links to all the other nodes, it flooding topology without the old links to all the other nodes, it
removes the LSA for the old links. When removing the LSA for these removes the LSA for the old links. When removing the LSA for these
old links, each of the other nodes does not update the flooding old links, each of the other nodes does not update the flooding
topology (i.e., does not add these links into the flooding topology). topology (i.e., does not add these links into the flooding topology).
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DELLK-TLV-Type (TBDd) | TLV-Length | | DELLK-TLV-Type (TBDd) | TLV-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 1 to its Remote Nodes) ~ ~ Links Encoding (Node 1 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 2 to its Remote Nodes) ~ ~ Links Encoding (Node 2 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: : : :
Delete Links TLV Delete Links TLV
The Add Links TLVs and Delete Links TLVs should be in a separate LSA The Add Links TLVs and Delete Links TLVs should be in a separate LSA
instance. The LSA can be a Flooding Topology LSA defined above. instance. The LSA can be a Flooding Topology LSA defined above.
Alternatively, we may define a new LSA for these TLVs. Alternatively, we may define a new LSA for these TLVs.
6.2.4. Leaders Selection 6.2.4. Leaders Selection
skipping to change at page 23, line 31 skipping to change at page 26, line 31
A sub-TLV called leaders sub-TLV is defined. It has the following A sub-TLV called leaders sub-TLV is defined. It has the following
format. format.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LEADS-TLV-Type (TBDf) | TLV-Length | | LEADS-TLV-Type (TBDf) | TLV-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1st Leader Node/Router ID | | 1st Leader Node/Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2nd Leaader Node/Router ID | | 2nd Leader Node/Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ ~ ~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| nth Leader Node/Router ID | | nth Leader Node/Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Leaders sub-TLV Leaders sub-TLV
When a node selects itself as a leader, it originates a RI LSA When a node selects itself as a leader, it originates a RI LSA
containing the leader in a leaders sub-TLV. containing the leader in a leaders sub-TLV.
skipping to change at page 24, line 41 skipping to change at page 27, line 41
A new TLV for the encodings of the links in the flooding topology is A new TLV for the encodings of the links in the flooding topology is
defined. It has the following format and contains the same contents defined. It has the following format and contains the same contents
as the Flooding Topology Links TLV defined in OSPF Flooding Topology as the Flooding Topology Links TLV defined in OSPF Flooding Topology
Opaque LSA. Opaque LSA.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|FTL-Type(TBDi2)| Length | |FTL-Type(TBDi2)| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 1 to its Remote Nodes) ~ ~ Links Encoding (Node 1 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 2 to its Remote Nodes) ~ ~ Links Encoding (Node 2 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: : : :
IS-IS Flooding Topology Links TLV IS-IS Flooding Topology Links TLV
7.2.2. Encodings for Backup Paths 7.2.2. Encodings for Backup Paths
7.2.2.1. TLVs for Backup Paths 7.2.2.1. TLVs for Backup Paths
For flooding backup paths separately, we define two TLVs: IS-IS Node For flooding backup paths separately, we define two TLVs: IS-IS Node
skipping to change at page 26, line 35 skipping to change at page 29, line 35
Similar to Add Links TLV in OSPF, a new TLV called IS-IS Add Links Similar to Add Links TLV in OSPF, a new TLV called IS-IS Add Links
TLV is defined. It has the following format and contains the same TLV is defined. It has the following format and contains the same
contents as Add Links TLV in OSPF. contents as Add Links TLV in OSPF.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ADDL-Type(TBDi6| Length | |ADDL-Type(TBDi6| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 1 to its Remote Nodes) ~ ~ Links Encoding (Node 1 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 2 to its Remote Nodes) ~ ~ Links Encoding (Node 2 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: : : :
IS-IS Add Links TLV IS-IS Add Links TLV
Similar to Delete Links TLV in OSPF, a new TLV called IS-IS Delete Similar to Delete Links TLV in OSPF, a new TLV called IS-IS Delete
Links TLV is defined. It has the following format and contains the Links TLV is defined. It has the following format and contains the
same contents as Delete Links TLV in OSPF. same contents as Delete Links TLV in OSPF.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DELL-Type(TBDi7| Length | |DELL-Type(TBDi7| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 1 to its Remote Nodes) ~ ~ Links Encoding (Node 1 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Links Encoding (Node 2 to its Remote Nodes) ~ ~ Links Encoding (Node 2 to its adjacent Nodes) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: : : :
IS-IS Delete Links TLV IS-IS Delete Links TLV
7.2.4. Leaders Selection 7.2.4. Leaders Selection
Similar to Flooding Reduction Information TLV in OSPF, a new TLV Similar to Flooding Reduction Information TLV in OSPF, a new TLV
called IS-IS Flooding Reduction Information TLV is defined. It has called IS-IS Flooding Reduction Information TLV is defined. It has
the following format and contains the same contents as Flooding the following format and contains the same contents as Flooding
skipping to change at page 31, line 15 skipping to change at page 34, line 15
+====================+===============+=======================+ +====================+===============+=======================+
| Registry Value | Opaque Type | reference | | Registry Value | Opaque Type | reference |
+====================+===============+=======================+ +====================+===============+=======================+
| 10 | FT LSA | This document | | 10 | FT LSA | This document |
+--------------------+---------------+-----------------------+ +--------------------+---------------+-----------------------+
| 11 | BP LSA | This document | | 11 | BP LSA | This document |
+--------------------+---------------+-----------------------+ +--------------------+---------------+-----------------------+
| 12 | FTBP LSA | This document | | 12 | FTBP LSA | This document |
+--------------------+---------------+-----------------------+ +--------------------+---------------+-----------------------+
IANA is requested to create and maintain new registrys: IANA is requested to create and maintain new registries:
o OSPFv2 FT LSA TLVs o OSPFv2 FT LSA TLVs
Initial values for the registry are given below. The future Initial values for the registry are given below. The future
assignments are to be made through IETF Review [RFC5226]. assignments are to be made through IETF Review [RFC5226].
Value OSPFv2 FT LSA TLV Name Definition Value OSPFv2 FT LSA TLV Name Definition
----- ----------------------- ---------- ----- ----------------------- ----------
0 Reserved 0 Reserved
1 FT Links TLV see Section 6.2.1 1 FT Links TLV see Section 6.2.1
skipping to change at page 32, line 21 skipping to change at page 35, line 21
+===========+==========================+=======================+ +===========+==========================+=======================+
| Value | LSA Function Code Name | reference | | Value | LSA Function Code Name | reference |
+======================================+=======================+ +======================================+=======================+
| 16 | FT LSA | This document | | 16 | FT LSA | This document |
+-----------+--------------------------+-----------------------+ +-----------+--------------------------+-----------------------+
| 17 | BP LSA | This document | | 17 | BP LSA | This document |
+-----------+--------------------------+-----------------------+ +-----------+--------------------------+-----------------------+
| 18 | FTBP LSA | This document | | 18 | FTBP LSA | This document |
+-----------+--------------------------+-----------------------+ +-----------+--------------------------+-----------------------+
IANA is requested to create and maintain new registrys: IANA is requested to create and maintain new registries:
o OSPFv3 FT LSA TLVs o OSPFv3 FT LSA TLVs
Initial values for the registry are given below. The future Initial values for the registry are given below. The future
assignments are to be made through IETF Review [RFC5226]. assignments are to be made through IETF Review [RFC5226].
Value OSPFv3 FT LSA TLV Name Definition Value OSPFv3 FT LSA TLV Name Definition
----- ----------------------- ---------- ----- ----------------------- ----------
0 Reserved 0 Reserved
1 FT Links TLV see Section 6.2.1 1 FT Links TLV see Section 6.2.1
skipping to change at page 36, line 46 skipping to change at page 39, line 46
flooding reduction. flooding reduction.
4. Add Xi (i = 1, 2, ..., n) associated with previous hop PH=A into 4. Add Xi (i = 1, 2, ..., n) associated with previous hop PH=A into
the end of the candidate queue Cq, and goto step 1. the end of the candidate queue Cq, and goto step 1.
Another algorithm for building a tree from node R as root with Another algorithm for building a tree from node R as root with
consideration of others' support for flooding reduction starts with a consideration of others' support for flooding reduction starts with a
candidate queue Cq containing R associated with previous hop PH=0 and candidate queue Cq containing R associated with previous hop PH=0 and
an empty flooding topology Ft: an empty flooding topology Ft:
1. Remove the first node A that surpports flooding reduction from 1. Remove the first node A that supports flooding reduction from the
the candidate queue Cq if there is such a node A; otherwise candidate queue Cq if there is such a node A; otherwise (i.e., if
(i.e., if there is not such node A in Cq), then remove the first there is not such node A in Cq), then remove the first node A
node A from Cq. Add A into the flooding topology Ft. from Cq. Add A into the flooding topology Ft.
2. If Cq is empty or all nodes are on Ft, then return with Ft. 2. If Cq is empty or all nodes are on Ft, then return with Ft.
3. Suppose that node Xi (i = 1, 2, ..., n) is connected to node A 3. Suppose that node Xi (i = 1, 2, ..., n) is connected to node A
and not in the flooding topology Ft and X1, X2, ..., Xn are in a and not in the flooding topology Ft and X1, X2, ..., Xn are in a
special order considering whether some of them support flooding special order considering whether some of them support flooding
reduction. For example, X1, X2, ..., Xn are ordered by the cost reduction. For example, X1, X2, ..., Xn are ordered by the cost
of the link between A and Xi. The cost of the link between A and of the link between A and Xi. The cost of the link between A and
Xi is less than the cost of the link between A and Xj (j = i + Xi is less than the cost of the link between A and Xj (j = i +
1). If two costs are the same, Xi's ID is less than Xj's ID. 1). If two costs are the same, Xi's ID is less than Xj's ID.
The cost of a link is redefined such that 1) the cost of a link The cost of a link is redefined such that 1) the cost of a link
between A and Xi both surpport flooding reduction is much less between A and Xi both support flooding reduction is much less
than the cost of any link between A and Xk where Xk does not than the cost of any link between A and Xk where Xk does not
surpport flooding reduction; 2) the real metric of a link between support flooding reduction; 2) the real metric of a link between
A and Xi and the real metric of a link between A and Xk are used A and Xi and the real metric of a link between A and Xk are used
as their costs for determining the order of Xi and Xk if they all as their costs for determining the order of Xi and Xk if they all
(i.e., A, Xi and Xk) surpport flooding reduction or none of Xi (i.e., A, Xi and Xk) support flooding reduction or none of Xi and
and Xk supports flooding reduction. Xk supports flooding reduction.
4. Add Xi (i = 1, 2, ..., n) associated with previous hop PH=A into 4. Add Xi (i = 1, 2, ..., n) associated with previous hop PH=A into
the front of the candidate queue Cq, and goto step 1. the front of the candidate queue Cq, and goto step 1.
A third algorithm for building a tree from node R as root with A third algorithm for building a tree from node R as root with
consideration of others' surpport for flooding reduction (using flag consideration of others' support for flooding reduction (using flag F
F = 1 for surpport, and F = 0 for not surpport in the following) = 1 for support, and F = 0 for not support in the following) starts
starts with a candidate list Cq containing R associated with low with a candidate list Cq containing R associated with low order cost
order cost Lc=0, high order cost Hc=0 and previous hop ID PH=0, and Lc=0, high order cost Hc=0 and previous hop ID PH=0, and an empty
an empty flooding topology Ft: flooding topology Ft:
1. Remove the first node A from Cq and add A into Ft. 1. Remove the first node A from Cq and add A into Ft.
2. If all the nodes are on Ft, then return with Ft 2. If all the nodes are on Ft, then return with Ft
3. Suppose that node A is associated with a cost Ca which is the 3. Suppose that node A is associated with a cost Ca which is the
cost from root R to node A, node Xi (i = 1, 2, ..., n) is cost from root R to node A, node Xi (i = 1, 2, ..., n) is
connected to node A and not in Ft and the cost of the link connected to node A and not in Ft and the cost of the link
between A and Xi is LCi (i=1, 2, ..., n). Compute Ci = Ca + LCi, between A and Xi is LCi (i=1, 2, ..., n). Compute Ci = Ca + LCi,
check if Xi is in Cq and if Cxi (cost from R to Xi) < Ci. If Xi check if Xi is in Cq and if Cxi (cost from R to Xi) < Ci. If Xi
 End of changes. 55 change blocks. 
115 lines changed or deleted 263 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/