| < draft-ietf-bier-te-yang-03.txt | draft-ietf-bier-te-yang-04.txt > | |||
|---|---|---|---|---|
| BIER WG Z. Zhang | BIER WG Z. Zhang | |||
| Internet-Draft ZTE Corporation | Internet-Draft ZTE Corporation | |||
| Intended status: Standards Track C. Wang | Intended status: Standards Track C. Wang | |||
| Expires: November 18, 2021 Individual | Expires: 11 May 2022 Individual | |||
| R. Chen | R. Chen | |||
| ZTE Corporation | ZTE Corporation | |||
| F. Hu | F. Hu | |||
| Individual | Individual | |||
| M. Sivakumar | M. Sivakumar | |||
| Juniper networks | Juniper networks | |||
| H. Chen | H. Chen | |||
| Individual | Individual | |||
| May 17, 2021 | 7 November 2021 | |||
| A YANG data model for Traffic Engineering for Bit Index Explicit | A YANG data model for Tree Engineering for Bit Index Explicit | |||
| Replication (BIER-TE) | Replication (BIER-TE) | |||
| draft-ietf-bier-te-yang-03 | draft-ietf-bier-te-yang-04 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model for Traffic Engineering for | This document defines a YANG data model for Tree Engineering for Bit | |||
| Bit Index Explicit Replication (BIER-TE) configuration and operation. | Index Explicit Replication (BIER-TE) configuration and operation. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 November 18, 2021. | This Internet-Draft will expire on 11 May 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Simplified BSD License text | |||
| include Simplified BSD License text as described in Section 4.e of | as described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Simplified BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 2 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 | |||
| 3. BIER-TE configuration . . . . . . . . . . . . . . . . . . . . 4 | 3. Design of the Data Model . . . . . . . . . . . . . . . . . . 2 | |||
| 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. BIER-TE configuration . . . . . . . . . . . . . . . . . . . . 4 | |||
| 5. RPCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 5. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 6. BIER TE YANG model . . . . . . . . . . . . . . . . . . . . . 4 | 6. RPCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 7. BIER TE YANG model . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 15 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9. Normative References . . . . . . . . . . . . . . . . . . . . 16 | 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 16 | ||||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 17 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 1. Introduction | 1. Introduction | |||
| [I-D.ietf-bier-te-arch] introduces an architecture for BIER-TE: | [I-D.ietf-bier-te-arch] introduces an architecture for BIER-TE: Tree | |||
| Traffic Engineering for Bit Index Explicit Replication (BIER). This | Engineering for Bit Index Explicit Replication (BIER). This document | |||
| document defines a YANG data model for BIER TE. The content is in | defines a YANG data model for BIER TE. The content is in keeping | |||
| keeping with the TE architecture draft. In addition, this YANG data | with the TE architecture draft. In addition, this YANG data model | |||
| model contains BIER TE frr items of [I-D.eckert-bier-te-frr]. | contains BIER TE frr items of [I-D.eckert-bier-te-frr]. | |||
| 2. Design of the Data Model | 2. Conventions Used in This Document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in BCP | ||||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 3. Design of the Data Model | ||||
| The BIER TE YANG model includes BIER TE adjancency configuration and | The BIER TE YANG model includes BIER TE adjancency configuration and | |||
| forwarding items configuration. Some features can also be used to | forwarding items configuration. Some features can also be used to | |||
| enhance BIER TE function, like ECMP and FRR. | enhance BIER TE function, like ECMP and FRR. | |||
| module: ietf-bier-te | module: ietf-bier-te | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol: | /rt:control-plane-protocol: | |||
| +--rw bier-te | +--rw bier-te | |||
| +--rw te-adj | +--rw te-adj | |||
| skipping to change at page 4, line 6 ¶ | skipping to change at page 4, line 19 ¶ | |||
| +--rw bit-string* [index] | +--rw bit-string* [index] | |||
| +--rw index uint8 | +--rw index uint8 | |||
| +--rw bitmask? uint32 | +--rw bitmask? uint32 | |||
| notifications: | notifications: | |||
| +---n bier-te-notification | +---n bier-te-notification | |||
| +--ro bp-is-zero* [if-index] | +--ro bp-is-zero* [if-index] | |||
| +--ro if-index if:interface-ref | +--ro if-index if:interface-ref | |||
| +--ro adj-type? enumeration | +--ro adj-type? enumeration | |||
| 3. BIER-TE configuration | 4. BIER-TE configuration | |||
| The BIER-TE forwarding item is indexed by the combination of sub- | The BIER-TE forwarding item is indexed by the combination of sub- | |||
| domain-id, BitStringLength and set identifier. | domain-id, BitStringLength and set identifier. | |||
| One interface can be used in different sub-domain, so the BIER TE | One interface can be used in different sub-domain, so the BIER TE | |||
| adjacency information is managed by BIER TE function other than by | adjacency information is managed by BIER TE function other than by | |||
| interface itself. | interface itself. | |||
| Because the BIER-TE is controlled by controller now, the information | Because the BIER-TE is controlled by controller now, the information | |||
| about IGP is not defined. If in the future the IGP is used to carry | about IGP is not defined. If in the future the IGP is used to carry | |||
| the information about BIER-TE, the IGP extension will be added in | the information about BIER-TE, the IGP extension will be added in | |||
| this document. | this document. | |||
| 4. Notifications | 5. Notifications | |||
| If the adjacency id of one adjacency is set to zero, the value is | If the adjacency id of one adjacency is set to zero, the value is | |||
| invalid. The notification should be sent to controller and network | invalid. The notification should be sent to controller and network | |||
| manager. | manager. | |||
| 5. RPCs | 6. RPCs | |||
| TBD. | TBD. | |||
| 6. BIER TE YANG model | 7. BIER TE YANG model | |||
| <CODE BEGINS> file "ietf-bier-te@2021-05-17.yang" | ||||
| module ietf-bier-te { | ||||
| yang-version 1.1; | ||||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bier-te"; | ||||
| prefix bier-te; | ||||
| import ietf-inet-types { | ||||
| prefix "inet"; | ||||
| reference | ||||
| "RFC 6991: Common YANG Data Types"; | ||||
| } | ||||
| import ietf-routing { | <CODE BEGINS> file "ietf-bier-te@2021-11-08.yang" | |||
| prefix "rt"; | module ietf-bier-te { | |||
| reference | ||||
| "RFC 8349: A YANG Data Model for Routing Management | ||||
| (NMDA Version)"; | ||||
| } | yang-version 1.1; | |||
| import ietf-interfaces { | namespace "urn:ietf:params:xml:ns:yang:ietf-bier-te"; | |||
| prefix "if"; | prefix bier-te; | |||
| reference | ||||
| "RFC 8343: A YANG Data Model for Interface Management"; | ||||
| } | ||||
| import ietf-routing-types { | import ietf-inet-types { | |||
| prefix "rt-types"; | prefix "inet"; | |||
| reference | reference | |||
| "RFC 8294: Common YANG Data Types for the Routing Area"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| organization " IETF BIER (Bit Indexed Explicit Replication) | import ietf-routing { | |||
| Working Group"; | prefix "rt"; | |||
| contact | reference | |||
| "WG Web: <http://tools.ietf.org/wg/bier/> | "RFC 8349: A YANG Data Model for Routing Management | |||
| WG List: <mailto:bier@ietf.org> | (NMDA Version)"; | |||
| } | ||||
| Editor: Zheng Zhang | import ietf-interfaces { | |||
| <mailto:zhang.zheng@zte.com.cn> | prefix "if"; | |||
| Editor: Cui Wang | reference | |||
| <mailto:lindawangjoy@gmail.com> | "RFC 8343: A YANG Data Model for Interface Management"; | |||
| Editor: Ran Chen | } | |||
| <mailto:chen.ran@zte.com.cn> | ||||
| Editor: Fangwei Hu | ||||
| <mailto:hufwei@gmail.com> | ||||
| Editor: Mahesh Sivakumar | ||||
| <mailto:sivakumar.mahesh@gmail.com> | ||||
| Editor: Huanan Chen | ||||
| <mailto:chenhuanan@189.cn> | ||||
| "; | ||||
| description | import ietf-routing-types { | |||
| "The module defines the YANG definitions for Traffic | prefix "rt-types"; | |||
| Engineering for Bit Index Explicit Replication (BIER-TE). | reference | |||
| "RFC 8294: Common YANG Data Types for the Routing Area"; | ||||
| } | ||||
| Copyright (c) 2020 IETF Trust and the persons identified as | organization " IETF BIER (Bit Indexed Explicit Replication) | |||
| authors of the code. All rights reserved. | Working Group"; | |||
| contact | ||||
| "WG Web: <http://tools.ietf.org/wg/bier/> | ||||
| WG List: <mailto:bier@ietf.org> | ||||
| Redistribution and use in source and binary forms, with or | Editor: Zheng Zhang | |||
| without modification, is permitted pursuant to, and subject | <mailto:zhang.zheng@zte.com.cn> | |||
| to the license terms contained in, the Simplified BSD | Editor: Cui Wang | |||
| License set forth in Section 4.c of the IETF Trust's Legal | <mailto:lindawangjoy@gmail.com> | |||
| Provisions Relating to IETF Documents | Editor: Ran Chen | |||
| (https://trustee.ietf.org/license-info). | <mailto:chen.ran@zte.com.cn> | |||
| Editor: Fangwei Hu | ||||
| <mailto:hufwei@gmail.com> | ||||
| Editor: Mahesh Sivakumar | ||||
| <mailto:sivakumar.mahesh@gmail.com> | ||||
| Editor: Huanan Chen | ||||
| <mailto:chenhuanan@189.cn> | ||||
| "; | ||||
| This version of this YANG module is part of RFC XXXX | description | |||
| (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | "The module defines the YANG definitions for Traffic | |||
| itself for full legal notices. | Engineering for Bit Index Explicit Replication (BIER-TE). | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | Copyright (c) 2020 IETF Trust and the persons identified as | |||
| 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | authors of the code. All rights reserved. | |||
| 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | ||||
| are to be interpreted as described in BCP 14 (RFC 2119) | ||||
| (RFC 8174) when, and only when, they appear in all | ||||
| capitals, as shown here."; | ||||
| revision 2021-05-17 { | Redistribution and use in source and binary forms, with or | |||
| description | without modification, is permitted pursuant to, and subject | |||
| "Initial revision."; | to the license terms contained in, the Simplified BSD | |||
| reference | License set forth in Section 4.c of the IETF Trust's Legal | |||
| "I-D.ietf-bier-te-arch: Traffic Engineering for Bit Index | Provisions Relating to IETF Documents | |||
| Explicit Replication (BIER-TE)"; | (https://trustee.ietf.org/license-info). | |||
| } | ||||
| /* | This version of this YANG module is part of RFC XXXX | |||
| * Features | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
| */ | itself for full legal notices. | |||
| feature bier-te-frr { | ||||
| description | ||||
| "Support Fast Re-route feature in BIER TE."; | ||||
| reference | ||||
| "I-D.eckert-bier-te-frr: Protection Methods for BIER-TE"; | ||||
| } | ||||
| /* | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
| * Identities | 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | |||
| */ | 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | |||
| are to be interpreted as described in BCP 14 (RFC 2119) | ||||
| (RFC 8174) when, and only when, they appear in all | ||||
| capitals, as shown here."; | ||||
| identity bier-te { | revision 2021-11-08 { | |||
| base rt:control-plane-protocol; | description | |||
| description | "Initial revision."; | |||
| "Identity for the Traffic Engineering for Bit Index Explicit | reference | |||
| Replication (BIER-TE)."; | "I-D.ietf-bier-te-arch: Tree Engineering for Bit Index | |||
| reference | Explicit Replication (BIER-TE)"; | |||
| "I-D.ietf-bier-te-arch: Traffic Engineering for Bit Index | } | |||
| Explicit Replication (BIER-TE)"; | ||||
| } | ||||
| typedef encapsulation-type { | /* | |||
| type enumeration { | * Features | |||
| enum MPLS { | */ | |||
| description | feature bier-te-frr { | |||
| "The forwarding encapsulation is MPLS | description | |||
| described in RFC8296 section 2.1."; | "Support Fast Re-route feature in BIER TE."; | |||
| } | reference | |||
| enum Ethernet { | "I-D.eckert-bier-te-frr: Protection Methods for BIER-TE"; | |||
| description | ||||
| "The forwarding encapsulation is Ethernet, | ||||
| which is belonging to non-mpls part | ||||
| described in RFC8296 section 2.2."; | ||||
| } | ||||
| enum IPv6 { | ||||
| description | ||||
| "The forwarding encapsulation is IPv6, | ||||
| which is belonging to non-mpls part | ||||
| described in RFC8296 section 2.2."; | ||||
| } | ||||
| } | } | |||
| description | ||||
| "The encapsulation type of the BIER-TE packet. | ||||
| If this type is not set, MPLS is the default type."; | ||||
| } // encapsulation-type | ||||
| grouping bit-string { | /* | |||
| description | * Identities | |||
| "The bit string which each bit represents an adjacency. | */ | |||
| It is encapsulated in BIER header."; | ||||
| reference | ||||
| "I-D.ietf-bier-te-arch: Traffic Engineering for Bit Index | ||||
| Explicit Replication (BIER-TE), section 3.3. | ||||
| RFC8279: Multicast Using Bit Index Explicit Replication | ||||
| (BIER). | ||||
| RFC8296: Encapsulation for Bit Index Explicit Replication | ||||
| (BIER) in MPLS and Non-MPLS Networks."; | ||||
| list bit-string { | identity bier-te { | |||
| key "index"; | base rt:control-plane-protocol; | |||
| description | description | |||
| "As the definition in RFC 8279, the bit-string lengths are | "Identity for the Tree Engineering for Bit Index Explicit | |||
| 64, 128, 256, 512, 1024, 2048, 4096 bits. The according | Replication (BIER-TE)."; | |||
| encapsulation is defined in RFC8296. BIER-TE uses the | reference | |||
| similar function for bit string."; | "I-D.ietf-bier-te-arch: Tree Engineering for Bit Index | |||
| Explicit Replication (BIER-TE)"; | ||||
| leaf index { | ||||
| type uint8 { | ||||
| range "2..128"; | ||||
| } | ||||
| description | ||||
| "The index of bit-mask. The minimum index value is 64 and | ||||
| the corresponding bit string length is 64 bits. The | ||||
| maximum index value is 128 and the corresponding | ||||
| bit-string length is 4096 bits."; | ||||
| } | ||||
| leaf bitmask { | ||||
| type uint32; | ||||
| description "The bit-string in 4-octet units."; | ||||
| } | ||||
| } | } | |||
| } // bit-string | ||||
| grouping adj-type { | typedef encapsulation-type { | |||
| description "The collection of all possible adjacency type."; | ||||
| leaf adj-type { | ||||
| type enumeration { | type enumeration { | |||
| enum p2p { | enum MPLS { | |||
| description "Describes p2p adjacency."; | ||||
| } | ||||
| enum bfer { | ||||
| description "Describes bfer adjacency."; | ||||
| } | ||||
| enum leaf-bfer { | ||||
| description | description | |||
| "Describes leaf-bfer adjacency. There is no next BFR that | "The forwarding encapsulation is MPLS | |||
| the packet should be forwarded."; | described in RFC8296 section 2.1."; | |||
| } | ||||
| enum lan { | ||||
| description "Describes lan adjacency."; | ||||
| } | ||||
| enum spoke { | ||||
| description "Describes spoke adjacency of hub-and-spoke."; | ||||
| } | ||||
| enum ring-clockwise { | ||||
| description "Describes clockwise adjacency in ring."; | ||||
| } | ||||
| enum ring-counterclockwise { | ||||
| description "Describes counterclockwise adjacency in ring."; | ||||
| } | } | |||
| enum ecmp { | enum Ethernet { | |||
| description | description | |||
| "Describes ecmp adjacency. When the type is set to ecmp, | "The forwarding encapsulation is Ethernet, | |||
| the corresponding ecmp entry should be used to balance | which is belonging to non-mpls part | |||
| the load."; | described in RFC8296 section 2.2."; | |||
| } | } | |||
| enum virtual-link { | enum IPv6 { | |||
| description | description | |||
| "Describes virtual adjacency between two indirect connect | "The forwarding encapsulation is IPv6, | |||
| nodes."; | which is belonging to non-mpls part | |||
| } | described in RFC8296 section 2.2."; | |||
| enum other { | ||||
| description "Describes other id type of adjacency."; | ||||
| } | } | |||
| } | } | |||
| description "The collection of all possible adjacency type."; | description | |||
| } | "The encapsulation type of the BIER-TE packet. | |||
| } // adj-type | If this type is not set, MPLS is the default type."; | |||
| } // encapsulation-type | ||||
| grouping te-items { | ||||
| description "The BIER TE forwarding items collection."; | ||||
| list fwd-next-hop { | grouping bit-string { | |||
| key "next-hop"; | ||||
| description | description | |||
| "The next hop information for forwarding. | "The bit string which each bit represents an adjacency. | |||
| If ECMP function defined in section 3.2.3 is used, | It is encapsulated in BIER header."; | |||
| multiple next hops may be existed. | reference | |||
| If ECMP function is not enabled, | "I-D.ietf-bier-te-arch: Tree Engineering for Bit Index | |||
| the next hop may be one only."; | Explicit Replication (BIER-TE), section 3.3. | |||
| RFC8279: Multicast Using Bit Index Explicit Replication | ||||
| (BIER). | ||||
| RFC8296: Encapsulation for Bit Index Explicit Replication | ||||
| (BIER) in MPLS and Non-MPLS Networks."; | ||||
| leaf next-hop { | list bit-string { | |||
| type inet:ip-address; | key "index"; | |||
| mandatory true; | ||||
| description "Next hop address."; | ||||
| } | ||||
| leaf dnr-flag { | ||||
| type boolean; | ||||
| description | ||||
| "When the flag is set to 1, the BP of adjacency should not | ||||
| be reset when packet copies are created. The flag makes | ||||
| sense only when the forwarding type is 'connected'."; | ||||
| } | ||||
| container fwd-type { | ||||
| description | description | |||
| "The collection of all possible forwarding types."; | "As the definition in RFC 8279, the bit-string lengths are | |||
| choice fwd-type { | 64, 128, 256, 512, 1024, 2048, 4096 bits. The according | |||
| mandatory true; | encapsulation is defined in RFC8296. BIER-TE uses the | |||
| case connected { | similar function for bit string."; | |||
| description | ||||
| "The forwarding type is connected. Mostly connected | leaf index { | |||
| interfaces."; | type uint8 { | |||
| } | range "2..128"; | |||
| case routed { | ||||
| description | ||||
| "The forwarding type is routed. Mostly not connected | ||||
| interfaces."; | ||||
| } | ||||
| case local-decap { | ||||
| description | ||||
| "Means that the packet should be decapsulated and | ||||
| forward out of BIER domain."; | ||||
| } | ||||
| case other { | ||||
| description | ||||
| "Means that the packet should be discarded."; | ||||
| } | } | |||
| description | description | |||
| "The collection of all possible forwarding types."; | "The index of bit-mask. The minimum index value is 64 and | |||
| the corresponding bit string length is 64 bits. The | ||||
| maximum index value is 128 and the corresponding | ||||
| bit-string length is 4096 bits."; | ||||
| } | } | |||
| } // fwd-type | leaf bitmask { | |||
| type uint32; | ||||
| description "The bit-string in 4-octet units."; | ||||
| } | ||||
| } | ||||
| } // bit-string | ||||
| container te-out-bift-id { | grouping adj-type { | |||
| description | description "The collection of all possible adjacency type."; | |||
| "The bift-id information corresponding to a specific | ||||
| outbound interface."; | ||||
| list te-out-bift-id { | leaf adj-type { | |||
| key "encap-type"; | type enumeration { | |||
| leaf encap-type { | enum p2p { | |||
| type encapsulation-type; | description "Describes p2p adjacency."; | |||
| } | ||||
| enum bfer { | ||||
| description "Describes bfer adjacency."; | ||||
| } | ||||
| enum leaf-bfer { | ||||
| description | description | |||
| "The encapsulation type of BIER-TE packet."; | "Describes leaf-bfer adjacency. There is no next BFR that | |||
| the packet should be forwarded."; | ||||
| } | } | |||
| leaf value { | enum lan { | |||
| type rt-types:mpls-label; | description "Describes lan adjacency."; | |||
| mandatory true; | } | |||
| enum spoke { | ||||
| description "Describes spoke adjacency of hub-and-spoke."; | ||||
| } | ||||
| enum ring-clockwise { | ||||
| description "Describes clockwise adjacency in ring."; | ||||
| } | ||||
| enum ring-counterclockwise { | ||||
| description "Describes counterclockwise adjacency in ring."; | ||||
| } | ||||
| enum ecmp { | ||||
| description | description | |||
| "The bift-id value of the forwarding item. | "Describes ecmp adjacency. When the type is set to ecmp, | |||
| It can be a mpls label or an index for ethernet | the corresponding ecmp entry should be used to balance | |||
| or IPv6 encapsulation, which is used to represent | the load."; | |||
| specific combination of [SD, BSL, SI]. | } | |||
| The ethernet or IPv6 index value is the same range | enum virtual-link { | |||
| (20bits) as mpls label. | description | |||
| This value MUST not be set to 0."; | "Describes virtual adjacency between two indirect connect | |||
| nodes."; | ||||
| } | ||||
| enum other { | ||||
| description "Describes other id type of adjacency."; | ||||
| } | } | |||
| description | ||||
| "The bift-id value and the encapsulation type | ||||
| for the BIER-TE packet."; | ||||
| } | } | |||
| description "The collection of all possible adjacency type."; | ||||
| } | } | |||
| } // adj-type | ||||
| list out-if-list { | grouping te-items { | |||
| key "fwd-intf"; | description "The BIER TE forwarding items collection."; | |||
| list fwd-next-hop { | ||||
| key "next-hop"; | ||||
| description | description | |||
| "The outbound interface information for forwarding."; | "The next hop information for forwarding. | |||
| If ECMP function defined in section 3.2.3 is used, | ||||
| multiple next hops may be existed. | ||||
| If ECMP function is not enabled, | ||||
| the next hop may be one only."; | ||||
| leaf fwd-intf { | leaf next-hop { | |||
| type if:interface-ref; | type inet:ip-address; | |||
| mandatory true; | mandatory true; | |||
| description "Next hop address."; | ||||
| } | ||||
| leaf dnr-flag { | ||||
| type boolean; | ||||
| description | description | |||
| "The out interface of this forwarding item."; | "When the flag is set to 1, the BP of adjacency should not | |||
| be reset when packet copies are created. The flag makes | ||||
| sense only when the forwarding type is 'connected'."; | ||||
| } | } | |||
| } | container fwd-type { | |||
| } // next-hop | description | |||
| } // te-items | "The collection of all possible forwarding types."; | |||
| /* | ||||
| * data nodes | ||||
| */ | ||||
| augment "/rt:routing/rt:control-plane-protocols/" | ||||
| +"rt:control-plane-protocol" { | ||||
| description "The BIER TE information."; | ||||
| container bier-te { | ||||
| description "The BIER TE information container."; | ||||
| container te-adj { | choice fwd-type { | |||
| description "The BIER TE adjacency information."; | mandatory true; | |||
| list adj-if { | case connected { | |||
| key "name"; | description | |||
| description "List of BIER-TE interfaces."; | "The forwarding type is connected. Mostly connected | |||
| leaf name { | interfaces."; | |||
| type if:interface-ref; | } | |||
| description "Interface name reference."; | case routed { | |||
| } | description | |||
| list subdomain { | "The forwarding type is routed. Mostly not connected | |||
| key "subdomain-id"; | interfaces."; | |||
| } | ||||
| case local-decap { | ||||
| description | ||||
| "Means that the packet should be decapsulated and | ||||
| forward out of BIER domain."; | ||||
| } | ||||
| case other { | ||||
| description | ||||
| "Means that the packet should be discarded."; | ||||
| } | ||||
| description | description | |||
| "The sub-domain which the interface belongs to. | "The collection of all possible forwarding types."; | |||
| One interface can belong to many subdomains."; | } | |||
| } // fwd-type | ||||
| leaf subdomain-id { | container te-out-bift-id { | |||
| type uint16; | description | |||
| description "The sub-domain-id of this sub-domain."; | "The bift-id information corresponding to a specific | |||
| reference | outbound interface."; | |||
| "RFC 8279: Multicast Using Bit Index Explicit | ||||
| Replication (BIER)"; | list te-out-bift-id { | |||
| key "encap-type"; | ||||
| leaf encap-type { | ||||
| type encapsulation-type; | ||||
| description | ||||
| "The encapsulation type of BIER-TE packet."; | ||||
| } | } | |||
| list si { | leaf value { | |||
| key "si"; | type rt-types:mpls-label; | |||
| description "The set identifier value."; | mandatory true; | |||
| description | ||||
| "The bift-id value of the forwarding item. | ||||
| It can be a mpls label or an index for ethernet | ||||
| or IPv6 encapsulation, which is used to represent | ||||
| specific combination of [SD, BSL, SI]. | ||||
| The ethernet or IPv6 index value is the same range | ||||
| (20bits) as mpls label. | ||||
| leaf si{ | This value MUST NOT be set to 0."; | |||
| type uint16; | ||||
| mandatory true; | ||||
| description | ||||
| "The set identifier of this forwarding item."; | ||||
| } | ||||
| leaf-list adj-id { | ||||
| type uint16; | ||||
| description "The ID of an adjacency."; | ||||
| } | ||||
| } | } | |||
| description | ||||
| "The bift-id value and the encapsulation type | ||||
| for the BIER-TE packet."; | ||||
| } | } | |||
| uses adj-type; | ||||
| } | } | |||
| } // te-adj | ||||
| container te-fwd { | list out-if-list { | |||
| description "The BIER TE forwarding information."; | key "fwd-intf"; | |||
| list subdomain { | ||||
| key "subdomain-id"; | ||||
| description | description | |||
| "The sub-domain which the interface belongs to. | "The outbound interface information for forwarding."; | |||
| One interface can belong to many subdomains."; | ||||
| leaf subdomain-id { | leaf fwd-intf { | |||
| type uint16; | type if:interface-ref; | |||
| description "The sub-domain-id of this sub-domain."; | mandatory true; | |||
| reference | description | |||
| "RFC 8279: Multicast Using Bit Index Explicit | "The out interface of this forwarding item."; | |||
| Replication (BIER)"; | ||||
| } | } | |||
| list bsl { | } | |||
| key "fwd-bsl"; | } // next-hop | |||
| description "The forwarding items in one BSL."; | } // te-items | |||
| leaf fwd-bsl { | ||||
| type uint16; | /* | |||
| description "The value of bitstringlength."; | * data nodes | |||
| */ | ||||
| augment "/rt:routing/rt:control-plane-protocols/" | ||||
| +"rt:control-plane-protocol" { | ||||
| description "The BIER TE information."; | ||||
| container bier-te { | ||||
| description "The BIER TE information container."; | ||||
| container te-adj { | ||||
| description "The BIER TE adjacency information."; | ||||
| list adj-if { | ||||
| key "name"; | ||||
| description "List of BIER-TE interfaces."; | ||||
| leaf name { | ||||
| type if:interface-ref; | ||||
| description "Interface name reference."; | ||||
| } | } | |||
| list subdomain { | ||||
| key "subdomain-id"; | ||||
| description | ||||
| "The sub-domain which the interface belongs to. | ||||
| One interface can belong to many subdomains."; | ||||
| leaf subdomain-id { | ||||
| type uint16; | ||||
| description "The sub-domain-id of this sub-domain."; | ||||
| reference | ||||
| "RFC 8279: Multicast Using Bit Index Explicit | ||||
| Replication (BIER)"; | ||||
| } | ||||
| list si { | list si { | |||
| key "si"; | key "si"; | |||
| description | description "The set identifier value."; | |||
| "The forwarding items in one combination of SD, | ||||
| BSL and SI."; | ||||
| leaf si{ | leaf si{ | |||
| type uint16; | type uint16; | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "The set identifier of this forwarding item."; | "The set identifier of this forwarding item."; | |||
| } | } | |||
| container te-bift-id { | leaf-list adj-id { | |||
| type uint16; | ||||
| description "The ID of an adjacency."; | ||||
| } | ||||
| } | ||||
| } | ||||
| uses adj-type; | ||||
| } | ||||
| } // te-adj | ||||
| description | container te-fwd { | |||
| "The bift-id which is used to locate the specific | description "The BIER TE forwarding information."; | |||
| forwarding item."; | ||||
| leaf encap-type { | ||||
| type encapsulation-type; | ||||
| description | ||||
| "The encapsulation type for BIER-TE packet."; | ||||
| } | ||||
| leaf value { | list subdomain { | |||
| type rt-types:mpls-label; | key "subdomain-id"; | |||
| mandatory true; | description | |||
| description | "The sub-domain which the interface belongs to. | |||
| "The bift-id value of the forwarding item. | One interface can belong to many subdomains."; | |||
| It can be a mpls label or an index for | ||||
| ethernet or IPv6 encapsulation, | ||||
| which is used to represent specific combination | ||||
| of [SD, BSL, SI]. | ||||
| The ethernet or IPv6 index value is the same | ||||
| range (20bits) as mpls label."; | ||||
| } | ||||
| } | ||||
| list fwd-items { | leaf subdomain-id { | |||
| key "te-bp"; | type uint16; | |||
| description "The sub-domain-id of this sub-domain."; | ||||
| reference | ||||
| "RFC 8279: Multicast Using Bit Index Explicit | ||||
| Replication (BIER)"; | ||||
| } | ||||
| list bsl { | ||||
| key "fwd-bsl"; | ||||
| description "The forwarding items in one BSL."; | ||||
| leaf fwd-bsl { | ||||
| type uint16; | ||||
| description "The value of bitstringlength."; | ||||
| } | ||||
| list si { | ||||
| key "si"; | ||||
| description | description | |||
| "The forwarding information of one BIER TE item."; | "The forwarding items in one combination of SD, | |||
| leaf te-bp { | BSL and SI."; | |||
| leaf si{ | ||||
| type uint16; | type uint16; | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "The bit index of a BIER TE forwarding item."; | "The set identifier of this forwarding item."; | |||
| } | } | |||
| uses te-items; | container te-bift-id { | |||
| description | ||||
| container te-frr { | "The bift-id which is used to locate the specific | |||
| if-feature bier-te-frr; | forwarding item."; | |||
| leaf frr-index { | leaf encap-type { | |||
| type leafref { | type encapsulation-type; | |||
| path "../../../../../" + | ||||
| "te-frr-items/btaft/frr-index"; | ||||
| } | ||||
| description "The index of this frr path."; | ||||
| } | ||||
| container resetbitmask { | ||||
| description | description | |||
| "The deleting bitmask of the forwarding item."; | "The encapsulation type for BIER-TE packet."; | |||
| uses bit-string; | } | |||
| leaf value { | ||||
| type rt-types:mpls-label; | ||||
| mandatory true; | ||||
| description | ||||
| "The bift-id value of the forwarding item. | ||||
| It can be a mpls label or an index for | ||||
| ethernet or IPv6 encapsulation, | ||||
| which is used to represent specific combination | ||||
| of [SD, BSL, SI]. | ||||
| The ethernet or IPv6 index value is the same | ||||
| range (20bits) as mpls label."; | ||||
| } | } | |||
| } | ||||
| list fwd-items { | ||||
| key "te-bp"; | ||||
| description | description | |||
| "If this link is protected, frr items can be | "The forwarding information of one BIER TE item."; | |||
| used to forward flows when this link is down."; | leaf te-bp { | |||
| } // te-frr | type uint16; | |||
| } // fwd-items | mandatory true; | |||
| } // si | description | |||
| } // bsl | "The bit index of a BIER TE forwarding item."; | |||
| } | ||||
| uses te-items; | ||||
| container te-frr { | ||||
| if-feature bier-te-frr; | ||||
| leaf frr-index { | ||||
| type leafref { | ||||
| path "../../../../../" + | ||||
| "te-frr-items/btaft/frr-index"; | ||||
| } | ||||
| description "The index of this frr path."; | ||||
| } | ||||
| container resetbitmask { | ||||
| description | ||||
| "The deleting bitmask of the forwarding item."; | ||||
| uses bit-string; | ||||
| } | ||||
| description | ||||
| "If this link is protected, frr items can be | ||||
| used to forward flows when this link is down."; | ||||
| } // te-frr | ||||
| } // fwd-items | ||||
| } // si | ||||
| } // bsl | ||||
| container te-frr-items { | container te-frr-items { | |||
| if-feature bier-te-frr; | if-feature bier-te-frr; | |||
| description "The TE fast re-route information."; | description "The TE fast re-route information."; | |||
| list btaft { | list btaft { | |||
| key "frr-index"; | key "frr-index"; | |||
| description | ||||
| "The index of the frr paths. This item can be used | ||||
| for multiple links protection in different SI."; | ||||
| leaf frr-index { | ||||
| type uint16; | ||||
| mandatory true; | ||||
| description "The frr item index."; | ||||
| } | ||||
| leaf frr-si{ | ||||
| type uint16; | ||||
| mandatory true; | ||||
| description | ||||
| "The set identifier of this forwarding item."; | ||||
| } | ||||
| leaf frr-bsl { | ||||
| type uint16; | ||||
| mandatory true; | ||||
| description "The value of bitstringlength."; | ||||
| } | ||||
| container addbitmask { | ||||
| description | description | |||
| "The adding bitmask of the forwarding item. | "The index of the frr paths. This item can be used | |||
| This item should be merged into the packet's | for multiple links protection in different SI."; | |||
| bit-string."; | leaf frr-index { | |||
| uses bit-string; | type uint16; | |||
| } | mandatory true; | |||
| } // btaft | description "The frr item index."; | |||
| } // te-frr-items | } | |||
| } // subdomain | leaf frr-si{ | |||
| } // te-fwd | type uint16; | |||
| } // bier-te | mandatory true; | |||
| } | description | |||
| "The set identifier of this forwarding item."; | ||||
| } | ||||
| leaf frr-bsl { | ||||
| type uint16; | ||||
| mandatory true; | ||||
| description "The value of bitstringlength."; | ||||
| } | ||||
| container addbitmask { | ||||
| description | ||||
| "The adding bitmask of the forwarding item. | ||||
| This item should be merged into the packet's | ||||
| bit-string."; | ||||
| uses bit-string; | ||||
| } | ||||
| } // btaft | ||||
| } // te-frr-items | ||||
| } // subdomain | ||||
| } // te-fwd | ||||
| } // bier-te | ||||
| } | ||||
| /* | /* | |||
| * Notifications | * Notifications | |||
| */ | */ | |||
| notification bier-te-notification { | notification bier-te-notification { | |||
| description | description | |||
| "The notification is sent when a condition changes."; | "The notification is sent when a condition changes."; | |||
| list bp-is-zero { | list bp-is-zero { | |||
| key "if-index"; | key "if-index"; | |||
| description "The adjacency id is zero. It is invalid."; | description "The adjacency id is zero. It is invalid."; | |||
| leaf if-index { | leaf if-index { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description "The adjacency id is zero."; | description "The adjacency id is zero."; | |||
| } | } | |||
| uses adj-type; | uses adj-type; | |||
| } | } | |||
| } | ||||
| } | } | |||
| } | <CODE ENDS> | |||
| <CODE ENDS> | ||||
| 7. IANA Considerations | 8. IANA Considerations | |||
| The IANA is requested to assign two new URIs from the IETF XML | The IANA is requested to assign two new URIs from the IETF XML | |||
| registry ([RFC3688]). Authors are suggesting the following URI: | registry ([RFC3688]). Authors are suggesting the following URI: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-bier-te | URI: urn:ietf:params:xml:ns:yang:ietf-bier-te | |||
| Registrant Contact: BIER WG | Registrant Contact: BIER WG | |||
| XML: N/A, the requested URI is an XML namespace | XML: N/A, the requested URI is an XML namespace | |||
| skipping to change at page 15, line 37 ¶ | skipping to change at page 16, line 4 ¶ | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-bier-te | URI: urn:ietf:params:xml:ns:yang:ietf-bier-te | |||
| Registrant Contact: BIER WG | Registrant Contact: BIER WG | |||
| XML: N/A, the requested URI is an XML namespace | XML: N/A, the requested URI is an XML namespace | |||
| This document also requests one new YANG module name in the YANG | This document also requests one new YANG module name in the YANG | |||
| Module Names registry ([RFC6020]) with the following suggestion: | Module Names registry ([RFC6020]) with the following suggestion: | |||
| name: ietf-bier-te | name: ietf-bier-te | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-bier-te | namespace: urn:ietf:params:xml:ns:yang:ietf-bier-te | |||
| prefix: bier-te | prefix: bier-te | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 8. Acknowledgement | 9. Acknowledgement | |||
| The authors would like to thank Min Gu (gumin20181129@163.com) for | The authors would like to thank Min Gu (gumin20181129@163.com) for | |||
| her testing, verification and valuable suggestion. And the authors | her testing, verification and valuable suggestion. And the authors | |||
| would like to thank Benjamin R and Benchong Xu for their valuable | would like to thank Benjamin R and Benchong Xu for their valuable | |||
| comments. | comments. | |||
| 9. Normative References | 10. References | |||
| [I-D.eckert-bier-te-frr] | ||||
| Eckert, T., Cauchie, G., Braun, W., and M. Menth, | ||||
| "Protection Methods for BIER-TE", draft-eckert-bier-te- | ||||
| frr-03 (work in progress), March 2018. | ||||
| [I-D.ietf-bier-bier-yang] | 10.1. Normative References | |||
| Chen, R., Hu, F., Zhang, Z., Dai, X., and M. Sivakumar, | ||||
| "YANG Data Model for BIER Protocol", draft-ietf-bier-bier- | ||||
| yang-07 (work in progress), September 2020. | ||||
| [I-D.ietf-bier-te-arch] | [I-D.ietf-bier-te-arch] | |||
| Eckert, T., Cauchie, G., and M. Menth, "Tree Engineering | Eckert, T., Cauchie, G., and M. Menth, "Tree Engineering | |||
| for Bit Index Explicit Replication (BIER-TE)", draft-ietf- | for Bit Index Explicit Replication (BIER-TE)", Work in | |||
| bier-te-arch-09 (work in progress), October 2020. | Progress, Internet-Draft, draft-ietf-bier-te-arch-10, 9 | |||
| July 2021, <https://www.ietf.org/archive/id/draft-ietf- | ||||
| bier-te-arch-10.txt>. | ||||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| DOI 10.17487/RFC3688, January 2004, | Requirement Levels", BCP 14, RFC 2119, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | ||||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
| <https://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
| [RFC6087] Bierman, A., "Guidelines for Authors and Reviewers of YANG | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| Data Model Documents", RFC 6087, DOI 10.17487/RFC6087, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| January 2011, <https://www.rfc-editor.org/info/rfc6087>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC7223] Bjorklund, M., "A YANG Data Model for Interface | ||||
| Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, | ||||
| <https://www.rfc-editor.org/info/rfc7223>. | ||||
| [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Przygienda, T., and S. Aldrin, "Multicast Using Bit Index | Przygienda, T., and S. Aldrin, "Multicast Using Bit Index | |||
| Explicit Replication (BIER)", RFC 8279, | Explicit Replication (BIER)", RFC 8279, | |||
| DOI 10.17487/RFC8279, November 2017, | DOI 10.17487/RFC8279, November 2017, | |||
| <https://www.rfc-editor.org/info/rfc8279>. | <https://www.rfc-editor.org/info/rfc8279>. | |||
| [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | |||
| for Bit Index Explicit Replication (BIER) in MPLS and Non- | for Bit Index Explicit Replication (BIER) in MPLS and Non- | |||
| MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | |||
| 2018, <https://www.rfc-editor.org/info/rfc8296>. | 2018, <https://www.rfc-editor.org/info/rfc8296>. | |||
| [RFC8343] Bjorklund, M., "A YANG Data Model for Interface | ||||
| Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8343>. | ||||
| [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | |||
| Routing Management (NMDA Version)", RFC 8349, | Routing Management (NMDA Version)", RFC 8349, | |||
| DOI 10.17487/RFC8349, March 2018, | DOI 10.17487/RFC8349, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8349>. | <https://www.rfc-editor.org/info/rfc8349>. | |||
| [RFC8407] Bierman, A., "Guidelines for Authors and Reviewers of | ||||
| Documents Containing YANG Data Models", BCP 216, RFC 8407, | ||||
| DOI 10.17487/RFC8407, October 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8407>. | ||||
| 10.2. Informative References | ||||
| [I-D.eckert-bier-te-frr] | ||||
| Eckert, T., Cauchie, G., Braun, W., and M. Menth, | ||||
| "Protection Methods for BIER-TE", Work in Progress, | ||||
| Internet-Draft, draft-eckert-bier-te-frr-03, 5 March 2018, | ||||
| <https://www.ietf.org/archive/id/draft-eckert-bier-te-frr- | ||||
| 03.txt>. | ||||
| [I-D.ietf-bier-bier-yang] | ||||
| Chen, R., Hu, F., Zhang, Z., Dai, X., and M. Sivakumar, | ||||
| "YANG Data Model for BIER Protocol", Work in Progress, | ||||
| Internet-Draft, draft-ietf-bier-bier-yang-07, 8 September | ||||
| 2020, <https://www.ietf.org/archive/id/draft-ietf-bier- | ||||
| bier-yang-07.txt>. | ||||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | ||||
| DOI 10.17487/RFC3688, January 2004, | ||||
| <https://www.rfc-editor.org/info/rfc3688>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Zheng(Sandy) Zhang | Zheng(Sandy) Zhang | |||
| ZTE Corporation | ZTE Corporation | |||
| Nanjing | Nanjing | |||
| China | China | |||
| Email: zhang.zheng@zte.com.cn | Email: zhang.zheng@zte.com.cn | |||
| Cui(Linda) Wang | Cui(Linda) Wang | |||
| Individual | Individual | |||
| Email: lindawangjoy@gmail.com | Email: lindawangjoy@gmail.com | |||
| Ran Chen | Ran Chen | |||
| ZTE Corporation | ZTE Corporation | |||
| Nanjing | Nanjing | |||
| China | China | |||
| skipping to change at page 17, line 41 ¶ | skipping to change at page 18, line 26 ¶ | |||
| Fangwei Hu | Fangwei Hu | |||
| Individual | Individual | |||
| Shanghai | Shanghai | |||
| China | China | |||
| Email: hufwei@gmail.com | Email: hufwei@gmail.com | |||
| Mahesh Sivakumar | Mahesh Sivakumar | |||
| Juniper networks | Juniper networks | |||
| 1133 Innovation Way | 1133 Innovation Way | |||
| Sunnyvale, CALIFORNIA 94089 | Sunnyvale, CALIFORNIA 94089 , | |||
| United States | United States | |||
| Email: sivakumar.mahesh@gmail.com | Email: sivakumar.mahesh@gmail.com | |||
| Huanan Chen | Huanan Chen | |||
| Individual | Individual | |||
| China | China | |||
| Email: chenhuanan@189.cn | Email: chenhuanan@189.cn | |||
| End of changes. 105 change blocks. | ||||
| 493 lines changed or deleted | 520 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/ | ||||