idnits 2.17.1 draft-ietf-softwire-yang-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 20 instances of too long lines in the document, the longest one being 37 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 233 has weird spacing: '...v4-addr ine...' == Line 424 has weird spacing: '...-change ine...' == Couldn't figure out when the document was first submitted -- there may comments or warnings related to the use of a disclaimer for pre-RFC5378 work that could not be issued because of this. Please check the Legal Provisions document at https://trustee.ietf.org/license-info to determine if you need the pre-RFC5378 disclaimer. -- The document date (October 31, 2016) is 2705 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) == Outdated reference: A later version (-25) exists of draft-ietf-netmod-routing-cfg-24 == Outdated reference: A later version (-17) exists of draft-ietf-softwire-dslite-yang-00 == Outdated reference: A later version (-07) exists of draft-sivakumar-yang-nat-05 Summary: 2 errors (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Softwire Working Group Q. Sun 3 Internet-Draft H. Wang 4 Intended status: Standards Track Y. Cui 5 Expires: May 4, 2017 Tsinghua University 6 I. Farrer 7 S. Zoric 8 Deutsche Telekom AG 9 M. Boucadair 10 Orange 11 R. Asati 12 Cisco Systems, Inc. 13 October 31, 2016 15 A YANG Data Model for IPv4-in-IPv6 Softwires 16 draft-ietf-softwire-yang-01 18 Abstract 20 This document defines a YANG data model for the configuration and 21 operations (state, notification, RPC etc.) of IPv4-in-IPv6 Softwire 22 Border Routers and Customer Premises Equipment. The model covers the 23 Lightweight 4over6, MAP-E and MAP-T Softwire mechanisms. 25 Requirements Language 27 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 28 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 29 document are to be interpreted as described in [RFC2119]. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on May 4, 2017. 48 Copyright Notice 50 Copyright (c) 2016 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 67 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 68 1.3. YANG Modelling of NAT44 Functionality . . . . . . . . . . 4 69 2. Common . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 70 3. Lightweight 4over6 . . . . . . . . . . . . . . . . . . . . . 4 71 4. MAP-E and MAP-T . . . . . . . . . . . . . . . . . . . . . . . 4 72 5. Softwire YANG Tree Diagrams . . . . . . . . . . . . . . . . . 4 73 5.1. Common Tree Diagrams . . . . . . . . . . . . . . . . . . 4 74 5.2. Lightweight 4over6 Tree Diagrams . . . . . . . . . . . . 5 75 5.3. MAP-E and MAP-T Tree Diagrams . . . . . . . . . . . . . . 8 76 5.4. Notifications for Softwire YANG . . . . . . . . . . . . . 9 77 6. Softwire YANG Model . . . . . . . . . . . . . . . . . . . . . 10 78 7. Configuration Example for a lw4o6 Binding-Table . . . . . . . 26 79 7.1. Configuration Example for a MAP-E BR . . . . . . . . . . 27 80 8. Security Considerations . . . . . . . . . . . . . . . . . . . 28 81 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 82 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29 83 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 84 11.1. Normative References . . . . . . . . . . . . . . . . . . 29 85 11.2. Informative References . . . . . . . . . . . . . . . . . 30 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 88 1. Introduction 90 The IETF Softwire Working Group has developed several IPv4-in-IPv6 91 Softwire mechanisms to address various deployment contexts and 92 constraints. As a companion to the architectural specification 93 documents, this document focuses on the provisioning of A+P softwire 94 functional elements: Border Routers (BRs) and Customer Premises 95 Equipment (CEs). 97 This document defines a YANG data model [RFC6020] that can be used to 98 configure and manage A+P Softwire elements using the NETCONF protocol 99 [RFC6241]. A DS-Lite YANG data model is defined in 100 [I-D.ietf-softwire-dslite-yang]. 102 The Softwire YANG model is structured into two sub-models: 104 o Lightweight 4over6 [RFC7596] 106 o MAP-E [RFC7597] and MAP-T [RFC7599] (combined due to their common 107 configuration parameters). 109 Two root containers are defined: 111 1. Container "softwire-config" holds the collection of YANG 112 definitions common to all Softwire element configuration. 114 2. Container "softwire-state" holds YANG definitions for the 115 operational state of the Softwire elements. 117 A NETCONF notify module is also included. 119 This approach has been taken so that the model can be easily extended 120 to support additional Softwire mechanisms, if required. 122 1.1. Terminology 124 The reader should be familiar with the concepts and terms defined in 125 [RFC7596], [RFC7597], [RFC7599], and the YANG data modelling language 126 [RFC6020]. 128 1.2. Tree Diagrams 130 The meaning of the symbols in these diagrams are as follows: 132 o Brackets "[" and "]" enclose list keys. 134 o Braces "{" and "}" enclose feature content. 136 o Parentheses "(" and ")" enclose choice and case nodes, and case 137 nodes are also marked with a colon (":"). 139 o Symbols after data node names: "?" means an optional node, and "*" 140 denotes a list and leaf-list. 142 o Abbreviations before data node names: "rw" means configuration 143 data (read-write), and "ro" means state data (read-only). 145 1.3. YANG Modelling of NAT44 Functionality 147 The model does not include CPE NAT-specific provisioning parameters 148 that may be used for IPv4 address sharing other than the external IP 149 address and port set which a softwire client may use for NAT44. NAT- 150 specific considerations are out of scope of this document. A YANG 151 model for the configuration and management of NAT gateways is 152 described in [I-D.sivakumar-yang-nat]. 154 2. Common 156 The following sections of the document are structured with the root 157 of the Softwire YANG model (common to all mechanisms) described 158 first. Subsequent sections describe the models relevant to the 159 different softwire mechanisms. All functions are listed, but the 160 YANG models use the "feature" statement to distinguish among the 161 different softwire mechanisms. This document defines a new module 162 named "ietf-softwire" for Softwire data models such that this module 163 auments "ietf-ipv6-unicast-routing" module that is defined in 164 [I-D.ietf-netmod-routing-cfg]. 166 3. Lightweight 4over6 168 Lightweight 4over6 (binding) includes two elements: lwAFTR (BR) and 169 lwB4 (CE). The lwAFTR holds configuration for IPv4-IPv6 address 170 bindings which are used for the forwarding of traffic originating 171 from lwB4s. 173 The lwB4 is configured with the relevant parameters for establishing 174 the IPv4-in-IPv6 tunnel including an IPv6 address for the lwAFTR and 175 the IPv4 configuration for NAT44. 177 4. MAP-E and MAP-T 179 MAP-E and MAP-T elements are provisioned with the MAP rules necessary 180 for defining MAP domains and forwarding rules. For MAP-T CEs, an 181 additional "ipv6-prefix" parameter is also included. Note that when 182 referring to MAP-E/T (algorithm), the CE and BR shares the same model 183 for configuration and management. 185 5. Softwire YANG Tree Diagrams 187 5.1. Common Tree Diagrams 189 Figure 1 describes the high level softwire YANG data model and the 190 way tree is organized is common to all of the different softwire 191 mechanisms listed in Section 1: 193 +--rw softwire-config 194 | +--rw description? string 195 | +--rw binding {binding}? 196 | | +--rw br {br}? 197 | | +--rw cr {cr}? 198 | +--rw algorithm {algorithm}? 199 | 200 +--ro softwire-state 201 +--ro description? string 202 +--ro binding {binding}? 203 | +--ro br {br}? 204 | +--ro ce {ce}? 205 +--ro algorithm {algorithm}? 207 Figure 1: High Level Softwire YANG Tree Organization 209 5.2. Lightweight 4over6 Tree Diagrams 211 Figure 2 defines the softwire data model for lw4o6 (softwire binding 212 mode) which includes lwAFTR (BR) and lwB4 (CE): 214 module: ietf-softwire 215 +--rw softwire-config 216 | +--... 217 | +--rw binding {binding}? 218 | +--rw br {br}? 219 | | +--rw enable? boolean 220 | | +--rw br-instances 221 | | +--rw br-instance* [id] 222 | | +--rw binding-table-versioning 223 | | | +--rw binding-table-version? uint64 224 | | | +--rw binding-table-date? yang:date-and-time 225 | | +--rw id uint32 226 | | +--rw name? string 227 | | +--rw softwire-num-threshold uint32 228 | | +--rw tunnel-payload-mtu uint16 229 | | +--rw tunnel-path-mru uint16 230 | | +--rw binding-table 231 | | +--rw binding-entry* [binding-ipv6info] 232 | | +--rw binding-ipv6info union 233 | | +--rw binding-ipv4-addr inet:ipv4-address 234 | | +--rw port-set 235 | | | +--rw psid-offset uint8 236 | | | +--rw psid-len uint8 237 | | | +--rw psid uint16 238 | | +--rw br-ipv6-addr inet:ipv6-address 239 | | +--rw lifetime? uint32 240 | +--rw ce {ce}? 241 | +--rw enable? boolean 242 | +--rw ce-instances 243 | +--rw ce-instance* [binding-ipv6info] 244 | +--rw name? string 245 | +--rw tunnel-payload-mtu uint16 246 | +--rw tunnel-path-mru uint16 247 | +--rw b4-ipv6-addr-format boolean 248 | +--rw binding-ipv6info union 249 | +--rw binding-ipv4-addr inet:ipv4-address 250 | +--rw port-set 251 | | +--rw psid-offset uint8 252 | | +--rw psid-len uint8 253 | | +--rw psid uint16 254 | +--rw br-ipv6-addr inet:ipv6-address 255 | +--rw lifetime? uint32 256 +--ro softwire-state 257 +--... 258 +--ro binding {binding}? 259 +--ro br {br}? 260 | +--ro br-instances 261 | +--ro br-instance* [id] 262 | +--ro id uint32 263 | +--ro name? string 264 | +--ro sentPacket? yang:zero-based-counter64 265 | +--ro sentByte? yang:zero-based-counter64 266 | +--ro rcvdPacket? yang:zero-based-counter64 267 | +--ro rcvdByte? yang:zero-based-counter64 268 | +--ro droppedPacket? yang:zero-based-counter64 269 | +--ro droppedByte? yang:zero-based-counter64 270 | +--ro active-softwire-num? uint32 271 | +--ro binding-table 272 | +--ro binding-entry* [binding-ipv6info] 273 | +--ro binding-ipv6info union 274 | +--ro active? boolean 275 +--ro ce {ce}? 276 +--ro ce-instances 277 +--ro ce-instance* [binding-ipv6info] 278 +--ro name? string 279 +--ro binding-ipv6info union 280 +--ro sentPacket? yang:zero-based-counter64 281 +--ro sentByte? yang:zero-based-counter64 282 +--ro rcvdPacket? yang:zero-based-counter64 283 +--ro rcvdByte? yang:zero-based-counter64 284 +--ro droppedPacket? yang:zero-based-counter64 285 +--ro droppedByte? yang:zero-based-counter64 287 Figure 2: Softwire Lightweight 4over6 Data Model Tree Structure 289 The data model assumes that each CE/BR instance can: be enable/ 290 disabled, be provisioned with a dedicated configuration data, and 291 maintain its own binding table. 293 Additional information on some of the important lwAFTR nodes is 294 provided below: 296 o binding-table-versioning: optionally used to add an incremental 297 version number and/or timestamp to the binding table. This can be 298 used for logging/data retention purposes. The version number is 299 incremented and a new timestamp value written whenever a change is 300 made to the contents of the binding table or a new binding table 301 list is created. 303 o binding-entry: used to define the binding relationship between 304 3-tuples, which contains the lwB4's IPv6 address/prefix, the 305 allocated IPv4 address and restricted port-set. For detail 306 information, please refer to [RFC7596]. 308 o tunnel-payload-mtu: used to set the IPv4 MTU for the lw4o6 tunnel. 310 o tunnel-path-mru: used to set the maximum lw4o6 IPv6 encapsulating 311 packet size that can be received. 313 o psid-offset: used to set the number of offset bits. 315 o psid-len: defines the number of ports that will be allocated for 316 the softwire. 318 o psid: used to identify the set of ports allocated for a specific 319 softwire. 321 o tunnel-num-threshold: used to set the maximum number of tunnels 322 that can be created on the lw4o6 device simultaneously. 324 o active-tunnel-num (ro): used to present the number of tunnels 325 currently provisioned on the device. 327 o active (ro): used to show the status of particular binding-entry. 329 Additional information on some of the important lwB4 nodes is 330 provided below: 332 o b4-ipv6-addr-format: indicates the format of lwB4 IPv6 address. 333 If set to true, the IPv6 source address of the lwB4 is constructed 334 according to the description in Section 6 of [RFC7597]; if set to 335 false, the lwB4 can use any valid /128 address from an assigned 336 IPv6 prefix. 338 o binding-ipv6info: used to set the IPv6 address type which is 339 combined in a binding entry, for a complete address or a prefix. 341 5.3. MAP-E and MAP-T Tree Diagrams 343 Figure 3 defines the softwire data model for MAP-E and MAP-T: 345 module: ietf-softwire 346 +--rw softwire-config 347 | +--... 348 | +--rw algorithm {algorithm}? 349 | +--rw enable? boolean 350 | +--rw algorithm 351 | +--rw algo-instance* [id] 352 | +--rw algo-versioning 353 | | +--rw algo-version? uint64 354 | | +--rw algo-date? yang:date-and-time 355 | +--rw id uint32 356 | +--rw name? string 357 | +--rw data-plane enumeration 358 | +--rw ea-len uint8 359 | +--rw rule-ipv6-prefix inet:ipv6-prefix 360 | +--rw rule-ipv4-prefix inet:ipv4-prefix 361 | +--rw forwarding boolean 362 | +--rw psid-offset uint8 363 | +--rw psid-len uint8 364 | +--rw tunnel-payload-mtu uint16 365 | +--rw tunnel-path-mru uint16 366 | +--rw br-ipv6-addr inet:ipv6-address 367 | +--rw dmr-ipv6-addr inet:ipv6-prefix 368 +--ro softwire-state 369 +--... 370 +--ro algorithm {algorithm}? 371 +--ro algo-instances 372 +--ro algo-instance* [id] 373 +--ro id int32 374 +--ro name? string 375 +--ro sentPacket? yang:zero-based-counter64 376 +--ro sentByte? yang:zero-based-counter64 377 +--ro rcvdPacket? yang:zero-based-counter64 378 +--ro rcvdByte? yang:zero-based-counter64 379 +--ro droppedPacket? yang:zero-based-counter64 380 +--ro droppedByte? yang:zero-based-counter64 382 Figure 3: Softwire MAP-E and MAP-T Data Model Structure 384 Additional information on some of the important MAP-E and MAP-T nodes 385 is provided below: 387 o algo-versioning: optionally used to add a incremental version 388 number and/or timestamp to the algorithm. This can be used for 389 logging/data retention purposes. The version number is 390 incremented and a new timestamp value written whenever a change is 391 made to the algorithm or a new instance is created. 393 o forwarding: specifies whether the rule can be used as a Forward 394 Mapping Rule (FMR). If not set, this rule is a Basic Mapping Rule 395 (BMR) only and must not be used for forwarding. See Section 4.1 396 of [RFC7598]. 398 o ea-len: used to set the length of the Embedded-Address (EA), which 399 defined in the mapping rule for a MAP domain. 401 o dmr-ipv6-prefix: defines the Default Mapping Rule (DMR) for MAP-T. 402 This parameter is optional when configuring a MAP-T BR. 404 o stat-count (ro): use to show the numbers of packets and bytes 405 information of specific device respectively. 407 5.4. Notifications for Softwire YANG 409 This section describes the tree structure for notifications. These 410 notifications pertain to the configuration and monitoring portions of 411 the specific Softwire mechanisms. The logic is that the softwire 412 instance notifies the NETCONF client with the index for a mapping 413 entry and the NETCONF client retrieves the related information from 414 the operational datastore of that instance. 416 module: ietf-softwire 417 notifications: 418 +---n softwire-binding-br-event {binding,br}? 419 | +--ro br-id? -> /softwire-state/binding/br/.../id 420 | +--ro invalid-entry* -> /softwire-config/binding/br/.../binding-table/binding-entry/binding-ipv6info 421 | +--ro added-entry* inet:ipv6-address 422 | +--ro modified-entry* -> /softwire-config/binding/br/.../binding-table/binding-entry/binding-ipv6info 423 +---n softwire-binding-ce-event {binding,ce}? 424 | +--ro ce-binding-ipv6-addr-change inet:ipv6-address 425 +---n softwire-algorithm-instance-event {algorithm}? 426 +--ro algo-id -> /softwire-config/algorithm/.../id 427 +--ro invalid-entry* -> /softwire-config/algorithm/.../id 428 +--ro added-entry* -> /softwire-config/algorithm/.../id 429 +--ro modified-entry* -> /softwire-config/algorithm/.../id 431 Figure 4: Softwire Notifications Data Model Structure 433 Additional information on some of the important notification nodes is 434 listed below: 436 o invalid-entry, added-entry, modified-entry: used to notify the 437 client that a specific binding entry or MAP rule is expired or 438 invalidated, added, or modified. 440 o ce-binding-ipv6-addr-change: used to notify that the lwB4's 441 binding-ipv6-address has been changed or the value of the 442 'b4-ipv6-addr-format' is "False". 444 6. Softwire YANG Model 446 This module imports typedefs from [RFC6991]. 448 file "ietf-softwire@2016-06-04.yang" 450 module ietf-softwire { 451 namespace "urn:ietf:params:xml:ns:yang:ietf-softwire"; 452 prefix "softwire"; 454 import ietf-inet-types {prefix inet; } 455 import ietf-yang-types {prefix yang; } 457 organization "Softwire Working Group"; 459 contact 460 " 461 Qi Sun 462 Hao Wang 463 Yong Cui 464 Ian 465 Sladjana Zoric 466 Mohamed Boucadair 467 Rajiv 468 "; 470 description 471 "This document defines a YANG data model for the configuration and 472 management of A+P Softwire Border Routers (BRs) and Customer 473 Premises Equipment (CEs). It covers Lightweight 4over6, 474 MAP-E and MAP-T mechanisms. 476 Copyright (c) 2016 IETF Trust and the persons identified 477 as authors of the code. All rights reserved. 478 This version of this YANG module is part of RFC XXX; see the RFC 479 itself for full legal notices."; 481 revision 2016-06-04 { 482 description 483 "Version-05: Combined MAP-E/MAP-T into a single tree. Added binding 484 table/alogorthm versioning"; 485 reference "-05"; 486 } 488 revision 2015-09-30 { 489 description 490 "Version-04: Fix YANG syntax; Add flags to map-rule; Remove 491 the map-rule-type element. "; 492 reference "-04"; 493 } 495 revision 2015-04-07 { 496 description 497 "Version-03: Integrate lw4over6; Updata state nodes; Correct 498 grammar errors; Reuse groupings; Update descriptions. 499 Simplify the model."; 500 reference "-03"; 501 } 503 revision 2015-02-10 { 504 description 505 "Version-02: Add notifications."; 506 reference "-02"; 507 } 509 revision 2015-02-06 { 510 description 511 "Version-01: Correct grammar errors; Reuse groupings; Update 512 descriptions."; 513 reference "-01"; 514 } 516 revision 2015-02-02 { 517 description 518 "Initial revision."; 519 reference "-00"; 520 } 522 /* 523 * Features 524 */ 526 feature binding { 527 description 528 "Lightweight 4over6 (binding) is an IPv4-over-IPv6 tunnelling 529 transition mechanism. Lightweight 4over6 is a solution designed 530 specifically for complete independence between IPv6 subnet 531 prefix (and /128 IPv6 address) and IPv4 address with or 532 without IPv4 address sharing. 534 This is accomplished by maintaining state for 535 each softwire (per-subscriber state) in the central lwAFTR and 536 a hub-and-spoke forwarding architecture. In order to delegate 537 the NAPT function and achieve IPv4 address sharing, 538 port-restricted IPv4 addresses needs to be allocated to CEs. 540 Besides lw4o6, this feature also covers MAP in 1:1 mode 541 (using offset=0, PSID explicitly defined)"; 543 reference 544 "RFC7596"; 545 } 547 feature br { 548 if-feature binding; 549 description 550 "The AFTR for Lightweight 4over6, so-called lwAFTR (BR). This 551 feature indicates that a instance functions as a lwAFTR (BR). 552 A lwAFTR (BR) is an IPv4-in-IPv6 tunnel concentrator that 553 maintains per-subscriber IPv4-IPv6 address binding."; 554 } 556 feature ce { 557 if-feature binding; 558 description 559 "The B4 for Lightweight 4over6, so-called lwB4 (CE). This 560 feature indicates that a instance functions as a lwB4 (CE). A 561 lwB4 (ce) is an IPv4-in-IPv6 tunnel initiator. It is 562 dual-stack capable node, either a directly connected end-host 563 or a CE. It sources IPv4 connections using the configured 564 port-set and the public IPv4 address."; 565 } 567 feature algorithm { 568 description 569 "MAP-E is an IPv6 transition mechanism for transporting IPv4 570 packets across an IPv6 network using IP encapsulation. MAP-E 571 allows for a reduction of the amount of centralized state using 572 rules to express IPv4/IPv6 address mappings. This introduces an 573 algorithmic relationship between the IPv6 subnet 574 and IPv4 address. 575 The Mapping of Address and Port - Translation (MAP-T) 576 architecture is a double stateless NAT64 based solution. It uses 577 the stateless algorithmic address & transport layer port mapping 578 scheme defined in MAP-E. The MAP-T solution differs from MAP-E in 579 the use of IPv4-IPv6 translation, rather than encapsulation, as 580 the form of IPv6 domain transport. 581 This feature indicates the instance functions as a MAP-E or 582 MAP-T instance."; 583 reference 584 "RFC7597 & RFC7599"; 585 } 587 /* 588 * Grouping 589 */ 591 grouping port-set { 592 description 593 "Use the PSID algorithm to represent a range of transport layer 594 ports which will be used by a CE device for NAPT."; 595 leaf psid-offset { 596 type uint8 { 597 range 0..16; 598 } 599 description 600 "The number of offset bits. In Lightweight 4over6, the default 601 value is 0 for assigning one contiguous port range. In MAP-E/T, 602 the default value is 6, which excludes system ports by default 603 and assigns port ranges distribute across the entire port space. 604 If the this parameter is larger than 0, the value of offset 605 MUST be greater than 0."; 606 } 607 leaf psid-len { 608 type uint8 { 609 range 0..15; 610 } 611 mandatory true; 612 description 613 "The length of PSID, representing the sharing ratio for an 614 IPv4 address."; 615 } 616 leaf psid { 617 type uint16; 618 mandatory true; 619 description 620 "Port Set Identifier (PSID) value, which identifies a set 621 of ports algorithmically."; 622 } 623 } 625 grouping binding-entry { 626 description 627 "The lwAFTR maintains an address binding table that contains 628 the binding between the lwB4's IPv6 address, the allocated IPv4 629 address and restricted port-set."; 630 leaf binding-ipv6info { 631 type union { 632 type inet:ipv6-address; 633 type inet:ipv6-prefix; 634 } 635 mandatory true; 636 description 637 "The IPv6 information for a binding entry. 638 If this is an IPv6 prefix, it indicates that 639 the IPv6 source address of the lwB4 is constructed 640 according to the description in RFC7596; 641 if it is an IPv6 address, it means the lwB4 uses 642 any /128 address from the assigned IPv6 prefix. 643 "; 644 } 645 leaf binding-ipv4-addr { 646 type inet:ipv4-address; 647 mandatory true; 648 description 649 "The IPv4 address assigned to the lwB4, which is 650 used as the IPv4 external address 651 for lwB4 local NAPT44."; 652 } 653 container port-set { 654 description 655 "For Lightweight 4over6, the default value 656 of offset should be 0, to configure one contiguous 657 port range."; 658 uses port-set { 659 refine psid-offset { 660 default "0"; 661 } 662 } 663 } 664 leaf br-ipv6-addr { 665 type inet:ipv6-address; 666 mandatory true; 667 description 668 "The IPv6 address for lwaftr."; 669 } 670 leaf lifetime { 671 type uint32; 672 units seconds; 673 description "The lifetime for the binding entry"; 674 } 676 } 678 /* 679 grouping nat-table { 681 description 682 "Grouping 'nat-table' is not extended. The current mechanism 683 is focusing on the provisioning of external IP address and 684 port set; other NAT-specific considerations are out of scope."; 685 } 686 */ 688 grouping traffic-stat { 689 description "Traffic statistics"; 690 leaf sentPacket { 691 type yang:zero-based-counter64; 692 description "Number of packets sent."; 693 } 694 leaf sentByte { 695 type yang:zero-based-counter64; 696 description "Traffic sent, in bytes"; 697 } 698 leaf rcvdPacket { 699 type yang:zero-based-counter64; 700 description "Number of packets received."; 701 } 702 leaf rcvdByte { 703 type yang:zero-based-counter64; 704 description "Traffic received, in bytes"; 705 } 706 leaf droppedPacket { 707 type yang:zero-based-counter64; 708 description "Number of packets dropped."; 709 } 710 leaf droppedByte { 711 type yang:zero-based-counter64; 712 description "Traffic dropped, in bytes"; 713 } 714 } 716 /* 717 * Configuration Data Nodes 718 */ 720 container softwire-config { 721 description 722 "The configuration data for Softwire instances. And the shared 723 data describes the softwire data model which is common to all of 724 the different softwire mechanisms, such as description."; 725 leaf description { 726 type string; 727 description 728 "A textual description of Softwire."; 729 } 730 container binding { 731 if-feature binding; 732 description 733 "lw4over6 (binding) configuration."; 734 container br { 735 if-feature br; 736 description 737 "Indicate this instance supports the lwAFTR (BR) function. 738 The instances advertise the BR feature through the 739 capability exchange mechanism when a NETCONF session is 740 established."; 741 leaf enable { 742 type boolean; 743 description 744 "Enable/disable the lwAFTR (BR) function."; 745 } 746 container br-instances { 747 description 748 "A set of BRs to be configured."; 749 list br-instance { 750 key "id"; 751 description 752 "A set of lwAFTRs to be configured."; 753 container binding-table-version { 754 description "binding table's version"; 755 leaf binding-table-version{ 756 type uint64; 757 description "Incremental version number 758 to the binding table"; 759 } 760 leaf binding-table-date { 761 type yang:date-and-time; 762 description "Timestamp to the binding 763 table"; 764 } 765 } 766 leaf id { 767 type uint32; 768 mandatory true; 769 description "An instance identifier."; 771 } 772 leaf name { 773 type string; 774 description "The name for the lwaftr."; 775 } 776 leaf softwire-num-threshold { 777 type uint32; 778 mandatory true; 779 description 780 "The maximum number of tunnels that can be created on 781 the lwAFTR."; 782 } 783 leaf tunnel-payload-mtu { 784 type uint16; 785 mandatory true; 786 description 787 "The payload MTU for Lightweight 4over6 tunnel."; 788 } 789 leaf tunnel-path-mru { 790 type uint16; 791 mandatory true; 792 description 793 "The path MRU for Lightweight 4over6 tunnel."; 794 } 795 container binding-table { 796 description "binding table"; 797 list binding-entry { 798 key "binding-ipv6info"; 799 description "binding entry"; 800 uses binding-entry; 801 } 802 } 803 } 804 } 805 } 807 container ce { 808 if-feature ce; 809 description 810 "Indicate this instance supports the lwB4 (CE) function. 811 The instances advertise the CE feature through the 812 capability exchange mechanism when a NETCONF session is 813 established."; 814 leaf enable { 815 type boolean; 816 description 817 "Enable/disable the lwB4 (CE) function."; 818 } 819 container ce-instances { 820 description 821 "A set of CEs to be configured."; 822 list ce-instance { 823 key "binding-ipv6info"; 824 description "instances for CE"; 825 leaf name { 826 type string; 827 description "The CE's name."; 828 } 829 leaf tunnel-payload-mtu { 830 type uint16; 831 mandatory true; 832 description 833 "The payload MTU for Lightweight 4over6 tunnel."; 834 } 835 leaf tunnel-path-mru { 836 type uint16; 837 mandatory true; 838 description 839 "The path MRU for Lightweight 4over6 tunnel."; 840 } 841 leaf b4-ipv6-addr-format { 842 type boolean; 843 mandatory true; 844 description 845 "The format of lwB4 (CE) IPv6 address. If set to true, 846 it indicates that the IPv6 source address of the lwB4 847 is constructed according to the description in 848 [RFC7596]; if set to false, the lwB4 (CE) 849 can use any /128 address from the assigned IPv6 850 prefix."; 851 } 852 uses binding-entry; 853 } 854 } 855 } 856 } 858 container algorithm { 859 if-feature algorithm; 860 description 861 "Indicate the instances support the MAP-E and MAP-T function. 862 The instances advertise the map-e feature through the 863 capability exchange mechanism when a NETCONF session is 864 established."; 865 leaf enable { 866 type boolean; 867 description 868 "Enable/disable the MAP-E or MAP-T function."; 869 } 870 container algo-instances { 871 description 872 "A set of MAP-E or MAP-T instances to be configured, 873 applying to BRs and CEs. A MAP-E/T instance defines a MAP 874 domain comprising one or more MAP-CE and MAP-BR"; 875 list algo-instance { 876 key "id"; 877 description "instance for MAP-E/MAP-T"; 878 container algo-versioning { 879 description "algorithm's version"; 880 leaf algo-version { 881 type uint64; 882 description "Incremental version number to 883 the algorithm"; 884 } 885 leaf algo-date { 886 type yang:date-and-time; 887 description "Timestamp to the algorithm"; 888 } 889 } 890 leaf id { 891 type uint32; 892 mandatory true; 893 description "Algorithm Instance ID"; 894 } 895 leaf name { 896 type string; 897 description "The name for the instance."; 898 } 899 leaf data-plane { 900 type enumeration { 901 enum "encapsulation" { 902 description "encapsulation for MAP-E"; 903 } 904 enum "translation" { 905 description "translation for MAP-T"; 906 } 907 } 908 description 909 "Encapsulation is for MAP-E while translation is 910 for MAP-T"; 911 } 912 leaf ea-len { 913 type uint8; 914 mandatory true; 915 description 916 "Embedded Address (EA) bits are the IPv4 EA-bits 917 in the IPv6 address identify an IPv4 918 prefix/address (or part thereof) or 919 a shared IPv4 address (or part thereof) 920 and a port-set identifier. 921 The length of the EA-bits is defined as 922 part of a MAP rule for a MAP domain."; 923 } 924 leaf rule-ipv6-prefix { 925 type inet:ipv6-prefix; 926 mandatory true; 927 description 928 "The Rule IPv6 prefix defined in the mapping rule."; 929 } 930 leaf rule-ipv4-prefix { 931 type inet:ipv4-prefix; 932 mandatory true; 933 description 934 "The Rule IPv4 prefix defined in the mapping rule."; 935 } 936 leaf forwarding { 937 type boolean; 938 mandatory true; 939 description 940 "This parameter specifies whether the rule may be used for 941 forwarding (FMR). If set, this rule is used as an FMR; 942 if not set, this rule is a BMR only and must not be used 943 for forwarding."; 944 } 945 leaf psid-offset { 946 type uint8 { 947 range 0..16; 948 } 949 mandatory true; 950 description 951 "The number of offset bits. In Lightweight 4over6, the default 952 value is 0 for assigning one contiguous port range. In MAP-E/T, 953 the default value is 6, which excludes system ports by default 954 and assigns distributed port ranges. If the this parameter is 955 larger than 0, the value of offset MUST be greater than 0."; 956 } 957 leaf psid-len { 958 type uint8 { 959 range 0..15; 960 } 961 mandatory true; 962 description 963 "The length of PSID, representing the sharing ratio for an 964 IPv4 address."; 965 } 966 leaf tunnel-payload-mtu { 967 type uint16; 968 description 969 "The payload MTU for MAP-E tunnel."; 970 } 971 leaf tunnel-path-mru { 972 type uint16; 973 description 974 "The path MRU for MAP-E tunnel."; 975 } 976 leaf br-ipv6-addr { 977 type inet:ipv6-address; 978 mandatory true; 979 description 980 "The IPv6 address of the MAP-E BR."; 981 } 982 leaf dmr-ipv6-prefix { 983 type inet:ipv6-prefix; 984 description 985 "The IPv6 prefix of the MAP-T BR. "; 986 } 987 } 988 } 989 } 990 } 992 /* 993 * Operational state Data Nodes 994 */ 996 container softwire-state { 997 config false; 998 description 999 "The operational state data for Softwire instances. "; 1000 leaf description { 1001 type string; 1002 description 1003 "A textual description of the softwire instances."; 1004 } 1005 container binding { 1006 if-feature binding; 1007 description 1008 "lw4over6 (binding) state."; 1009 container br { 1010 if-feature br; 1011 config false; 1012 description 1013 "Indicate this instance supports the lwAFTR (BR) function. 1014 The instances advertise the lwaftr (BR) feature through the 1015 capability exchange mechanism when a NETCONF session is 1016 established."; 1017 container br-instances { 1018 description 1019 "A set of BRs."; 1020 list br-instance { 1021 key "id"; 1022 description "instances for BR"; 1023 leaf id { 1024 type uint32; 1025 mandatory true; 1026 description "id"; 1027 } 1028 leaf name { 1029 type string; 1030 description "The name for this lwaftr."; 1031 } 1032 uses traffic-stat; 1033 leaf active-softwire-num { 1034 type uint32; 1035 description 1036 "The number of currently active tunnels on the 1037 lw4over6 (binding) instance."; 1038 } 1039 container binding-table { 1040 description "id"; 1041 list binding-entry { 1042 key "binding-ipv6info"; 1043 description "An identifier of the binding entry."; 1044 leaf binding-ipv6info { 1045 type union { 1046 type inet:ipv6-address; 1047 type inet:ipv6-prefix; 1048 } 1049 mandatory true; 1050 description 1051 "The IPv6 information used to identify 1052 a binding entry. "; 1053 } 1054 leaf active { 1055 type boolean; 1056 description 1057 "Status of a specific tunnel."; 1058 } 1060 } 1061 } 1062 } 1063 } 1064 } 1066 container ce { 1067 if-feature ce; 1068 config false; 1069 description 1070 "Indicate this instance supports the lwB4 (CE) function. 1071 The instances advertise the lwb4 (CE) feature through the 1072 capability exchange mechanism when a NETCONF session is 1073 established."; 1074 container ce-instances { 1075 description 1076 "Status of the configured CEs."; 1077 list ce-instance { 1078 key "binding-ipv6info"; 1079 description "a lwB4 (CE) instance."; 1080 leaf name { 1081 type string; 1082 description "The CE's name."; 1083 } 1084 leaf binding-ipv6info { 1085 type union { 1086 type inet:ipv6-address; 1087 type inet:ipv6-prefix; 1088 } 1089 mandatory true; 1090 description 1091 "The IPv6 information used to identify 1092 a binding entry. "; 1093 } 1094 uses traffic-stat; 1095 } 1096 } 1097 } 1098 } 1100 container algorithm { 1101 if-feature algorithm; 1102 config false; 1103 description 1104 "Indicate the instances support the MAP-E and MAP-T function. 1105 The instances advertise the map-e/map-t feature through the 1106 capability exchange mechanism when a NETCONF session is 1107 established."; 1108 container algo-instances { 1109 description 1110 "Status of MAP-E instance(s)."; 1111 list algo-instance { 1112 key "id"; 1113 description "Instances for algorithm"; 1114 leaf id { 1115 type uint32; 1116 mandatory true; 1117 description "id"; 1118 } 1119 leaf name { 1120 type string; 1121 description "The map-e instance name."; 1123 } 1124 uses traffic-stat; 1125 } 1126 } 1127 } 1128 } 1130 /* 1131 * Notifications 1132 */ 1133 notification softwire-br-event { 1134 if-feature binding; 1135 if-feature br; 1136 description "Notification for BR."; 1138 leaf br-id { 1139 type leafref { 1140 path 1141 "/softwire-state/binding/br/br-instances/" 1142 + "br-instance/id"; 1143 } 1144 description "..."; 1145 } 1146 leaf-list invalid-entry { 1147 type leafref { 1148 path 1149 "/softwire-config/binding/br/br-instances/" 1150 + "br-instance[id=current()/../br-id]/" 1151 + "binding-table/binding-entry/binding-ipv6info"; 1152 } 1153 description 1154 "Notify the client that a specific binding entry has been 1155 expired/invalid. The binding-ipv6info identifies an entry."; 1156 } 1157 leaf-list added-entry { 1158 type inet:ipv6-address; 1159 description 1160 "Notify the client that a binding entry has been added. 1161 The ipv6 address of that entry is the index. The client 1162 get other information from the lwaftr about the entry 1163 indexed by that ipv6 address. 1164 "; 1165 } 1166 leaf-list modified-entry { 1167 type leafref { 1168 path 1169 "/softwire-config/binding/br/br-instances/" 1170 + "br-instance[id=current()/../br-id]/" 1171 + "binding-table/binding-entry/binding-ipv6info"; 1172 } 1173 description "..."; 1174 } 1175 } 1177 notification softwire-ce-event { 1178 if-feature binding; 1179 if-feature ce; 1180 description "CE notification"; 1181 leaf ce-binding-ipv6-addr-change { 1182 type inet:ipv6-address; 1183 mandatory true; 1184 description 1185 "The source tunnel IPv6 address of the lwB4. 1186 If 'b4-ipv6-addr-format' is false, or the lwb4's 1187 binding-ipv6-address changes for any reason, 1188 it SHOULD notify the NETCONF client."; 1189 } 1190 } 1192 notification softwire-algorithm-instance-event { 1193 if-feature algorithm; 1194 description "Notifications for MAP-E or MAP-T."; 1195 leaf algo-id { 1196 type leafref { 1197 path 1198 "/softwire-config/algorithm/algo-instances/algo-instance/id"; 1199 } 1200 mandatory true; 1201 description "MAP-E or MAP-T event."; 1202 } 1203 leaf-list invalid-entry-id { 1204 type leafref { 1205 path 1206 "/softwire-config/algorithm/algo-instances/algo-instance/id"; 1207 } 1208 description "Invalid entry event."; 1209 } 1210 leaf-list added-entry { 1211 type leafref { 1212 path 1213 "/softwire-config/algorithm/algo-instances/algo-instance/id"; 1214 } 1215 description "Added entry."; 1216 } 1217 leaf-list modified-entry { 1218 type leafref { 1219 path 1220 "/softwire-config/algorithm/algo-instances/algo-instance/id"; 1221 } 1222 description "Modified entry."; 1223 } 1224 } 1225 } 1226 1228 7. Configuration Example for a lw4o6 Binding-Table 1230 The lwAFTR maintains an address binding table which contains the 1231 following 3-tuples: 1233 o IPv6 Address for a single lwB4 1235 o Public IPv4 Address 1237 o Restricted port-set 1239 The entry has two functions: the IPv6 encapsulation of inbound IPv4 1240 packets destined to the lwB4 and the validation of outbound IPv4-in- 1241 IPv6 packets received from the lwB4 for de-capsulation. 1243 Consider an example to add an entry that maintains the relationship 1244 between 3-tuples of lwB4 (2001:db8::1), '192.0.2.1' and '1234' in the 1245 binding table of the lwAFTR (2001:db8::2). Here is the example 1246 binding-table configuration xml: 1248 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 2001:db8::2 1260 1261 1262 192.0.2.1 1263 1264 1234 1265 1266 2001:db8::1 1267 1 1268 1269 1270 1271 1272 1273 1275 Figure 5: lw4o6 Binding-Table Configuration XML 1277 7.1. Configuration Example for a MAP-E BR 1279 A MAP-E BR is configured with forward mapping rules for the clients 1280 it is serving. In this example (taken from [RFC7597], Appendix A, 1281 Example 2), the following parameters are required: 1283 o Rule IPv6 Prefix 1285 o Rule IPv4 Prefix 1287 o Rule EA-bit bit length 1289 o IPv6 Address of MAP-BR 1291 The mapping rule has two functions: identifying the destination CE 1292 IPv6 address for encapsulating inbound IPv4 packets and the 1293 validation of outbound IPv4-in-IPv6 packets received from the CE for 1294 de-capsulation. 1296 The transport type for the data plane also needs to be configured for 1297 encapsulation to enable MAP-E and forwarding needs to be enabled. 1299 Consider an example for the following MAP-E Forwarding Mapping Rule: 1301 Data plane: encapsulation 1303 Rule IPv6 Prefix: 2001:db8::/40 1305 Rule IPv4 Prefix: 192.0.2.0/24 1307 Rule EA-bit Length: 16 1309 BR IPv6 Address: 2001:db8:ffff::1 1311 Here is the example MAP-E BR configuration xml: 1313 1315 1316 1317 1318 1319 1320 1321 1322 1323 encapsulation 1324 16 1325 2001:db8::/40 1326 192.0.2.0/24 1327 1 1328 2001:db8:ffff::1 1329 1330 1331 1333 Figure 6: MAP-E FMR Configuration XML 1335 8. Security Considerations 1337 The YANG module defined in this memo is designed to be accessed via 1338 the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the 1339 secure transport layer and the mandatory to implement secure 1340 transport is SSH [RFC6242]. The NETCONF access control model 1341 [RFC6536] provides the means to restrict access for particular 1342 NETCONF users to a pre-configured subset of all available NETCONF 1343 protocol operations and content. 1345 All data nodes defined in the YANG module which can be created, 1346 modified and deleted (i.e., config true, which is the default). 1347 These data nodes are considered sensitive. Write operations (e.g., 1348 edit-config) applied to these data nodes without proper protection 1349 can negatively affect network operations. 1351 9. IANA Considerations 1353 This document requests IANA to register the following URI in the 1354 "IETF XML Registry" [RFC3688]. 1356 URI: urn:ietf:params:xml:ns:yang:softwire 1357 Registrant Contact: The IESG. 1358 XML: N/A; the requested URI is an XML namespace. 1360 This document requests IANA to register the following YANG module in 1361 the "YANG Module Names" registry [RFC6020]. 1363 name: ietf-softwire 1364 namespace: urn:ietf:params:xml:ns:yang:softwire 1365 prefix: softwire 1366 reference: RFC XXXX 1368 10. Acknowledgements 1370 The authors would like to thank Lishan Li, Bert Wijnen, Giles Heron, 1371 and Ole Troan for their contributions to this work. 1373 11. References 1375 11.1. Normative References 1377 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1378 Requirement Levels", BCP 14, RFC 2119, 1379 DOI 10.17487/RFC2119, March 1997, 1380 . 1382 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 1383 DOI 10.17487/RFC3688, January 2004, 1384 . 1386 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1387 the Network Configuration Protocol (NETCONF)", RFC 6020, 1388 DOI 10.17487/RFC6020, October 2010, 1389 . 1391 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1392 and A. Bierman, Ed., "Network Configuration Protocol 1393 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1394 . 1396 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1397 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1398 . 1400 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 1401 Protocol (NETCONF) Access Control Model", RFC 6536, 1402 DOI 10.17487/RFC6536, March 2012, 1403 . 1405 [RFC7596] Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I. 1406 Farrer, "Lightweight 4over6: An Extension to the Dual- 1407 Stack Lite Architecture", RFC 7596, DOI 10.17487/RFC7596, 1408 July 2015, . 1410 [RFC7597] Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S., 1411 Murakami, T., and T. Taylor, Ed., "Mapping of Address and 1412 Port with Encapsulation (MAP-E)", RFC 7597, 1413 DOI 10.17487/RFC7597, July 2015, 1414 . 1416 [RFC7598] Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec, 1417 W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for 1418 Configuration of Softwire Address and Port-Mapped 1419 Clients", RFC 7598, DOI 10.17487/RFC7598, July 2015, 1420 . 1422 [RFC7599] Li, X., Bao, C., Dec, W., Ed., Troan, O., Matsushima, S., 1423 and T. Murakami, "Mapping of Address and Port using 1424 Translation (MAP-T)", RFC 7599, DOI 10.17487/RFC7599, July 1425 2015, . 1427 11.2. Informative References 1429 [I-D.ietf-netmod-routing-cfg] 1430 Lhotka, L. and A. Lindem, "A YANG Data Model for Routing 1431 Management", draft-ietf-netmod-routing-cfg-24 (work in 1432 progress), October 2016. 1434 [I-D.ietf-softwire-dslite-yang] 1435 Boucadair, M., Jacquenet, C., and S. Sivakumar, "A YANG 1436 Data Model for the DS-Lite Address Family Transition 1437 Router (AFTR)", draft-ietf-softwire-dslite-yang-00 (work 1438 in progress), August 2016. 1440 [I-D.sivakumar-yang-nat] 1441 Sivakumar, S., Boucadair, M., and S. <>, "YANG Data Model 1442 for Network Address Translation (NAT)", draft-sivakumar- 1443 yang-nat-05 (work in progress), September 2016. 1445 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 1446 RFC 6991, DOI 10.17487/RFC6991, July 2013, 1447 . 1449 Authors' Addresses 1451 Qi Sun 1452 Tsinghua University 1453 Beijing 100084 1454 P.R. China 1456 Phone: +86-10-6278-5822 1457 Email: sunqi.ietf@gmail.com 1459 Hao Wang 1460 Tsinghua University 1461 Beijing 100084 1462 P.R. China 1464 Phone: +86-10-6278-5822 1465 Email: wangh13@mails.tsinghua.edu.cn 1467 Yong Cui 1468 Tsinghua University 1469 Beijing 100084 1470 P.R. China 1472 Phone: +86-10-6260-3059 1473 Email: yong@csnet1.cs.tsinghua.edu.cn 1475 Ian Farrer 1476 Deutsche Telekom AG 1477 CTO-ATI,Landgrabenweg 151 1478 Bonn, NRW 53227 1479 Germany 1481 Email: ian.farrer@telekom.de 1482 Sladjana Zoric 1483 Deutsche Telekom AG 1484 CTO-IPT,Landgrabenweg 151 1485 Bonn, NRW 53227 1486 Germany 1488 Email: sladjana.zoric@telekom.de 1490 Mohamed Boucadair 1491 Orange 1492 Rennes 35000 1493 France 1495 Email: mohamed.boucadair@orange.com 1497 Rajiv Asati 1498 Cisco Systems, Inc. 1499 7025 Kit Creek Rd. 1500 RTP, NC 27709 1501 USA 1503 Email: Rajiva@cisco.com