| < 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/ | ||||