idnits 2.17.1 draft-ietf-bier-bier-yang-06.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 12 instances of too long lines in the document, the longest one being 157 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 94 has weird spacing: '...on-type ide...' == Line 102 has weird spacing: '...glength uin...' -- The document date (February 6, 2020) is 1542 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) == Unused Reference: 'I-D.ietf-isis-yang-isis-cfg' is defined on line 674, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mpls-base-yang' is defined on line 679, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mpls-static-yang' is defined on line 684, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-netmod-routing-cfg' is defined on line 689, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-ospf-yang' is defined on line 694, but no explicit reference was found in the text == Unused Reference: 'RFC6020' is defined on line 699, but no explicit reference was found in the text == Unused Reference: 'RFC6241' is defined on line 704, but no explicit reference was found in the text == Unused Reference: 'RFC6991' is defined on line 709, but no explicit reference was found in the text == Unused Reference: 'RFC7223' is defined on line 713, but no explicit reference was found in the text == Unused Reference: 'RFC8279' is defined on line 717, but no explicit reference was found in the text == Unused Reference: 'RFC8296' is defined on line 723, but no explicit reference was found in the text == Outdated reference: A later version (-17) exists of draft-ietf-mpls-base-yang-11 == Outdated reference: A later version (-14) exists of draft-ietf-mpls-static-yang-10 ** Obsolete normative reference: RFC 7223 (Obsoleted by RFC 8343) Summary: 2 errors (**), 0 flaws (~~), 16 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BIER WG Ran. Chen 3 Internet-Draft ZTE Corporation 4 Intended status: Standards Track Fangwei. Hu 5 Expires: August 9, 2020 Individual 6 Zheng. Zhang 7 Xianxia. Dai 8 ZTE Corporation 9 Mahesh. Sivakumar 10 Juniper networks 11 February 6, 2020 13 YANG Data Model for BIER Protocol 14 draft-ietf-bier-bier-yang-06 16 Abstract 18 This document defines a YANG data model for BIER configuration and 19 operation. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on August 9, 2020. 38 Copyright Notice 40 Copyright (c) 2020 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 2 57 3. Configuration . . . . . . . . . . . . . . . . . . . . . . . . 3 58 4. Control plane configuration . . . . . . . . . . . . . . . . . 4 59 5. Notification . . . . . . . . . . . . . . . . . . . . . . . . 4 60 6. BIER YANG Data Model . . . . . . . . . . . . . . . . . . . . 4 61 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 62 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 63 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 64 10. Normative References . . . . . . . . . . . . . . . . . . . . 15 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 67 1. Introduction 69 This document defines a YANG data model for BIER configuration and 70 operation. 72 2. Design of the Data Model 74 module: ietf-bier 75 augment /rt:routing: 76 +--rw bier 77 +--rw encapsulation-type? identityref 78 +--rw bsl? enumeration 79 +--rw bfr-id? uint16 80 +--rw bfr-prefix? inet:ip-prefix 81 +--rw sub-domain* [sub-domain-id address-family] 82 | +--rw sub-domain-id uint16 83 | +--rw address-family identityref 84 | +--rw bfr-prefix? inet:ip-prefix 85 | +--rw underlay-protocol-type? enumeration 86 | +--rw mt-id? uint16 87 | +--rw bfr-id? uint16 88 | +--rw bsl? enumeration 89 | +--rw igp-algorithm? uint8 90 | +--rw bier-algorithm? uint8 91 | +--rw load-balance-num? uint8 92 | +--rw encapsulation* [bsl encapsulation-type] 93 | +--rw bsl uint16 94 | +--rw encapsulation-type identityref 95 | +--rw max-si? uint16 96 | +--rw bift-id-base? uint32 97 +--rw birt* [sub-domain-id] 98 +--rw sub-domain-id sub-domain-id 99 +--rw igp-algorithm? uint8 100 +--rw bfr-id? uint16 101 +--rw birt-bitstringlength* [bitstringlength] 102 +--rw bitstringlength uint16 103 +--rw birt-si* [si] 104 +--rw si si 105 +--rw in-bift-id? uint32 106 +--rw out-bift-id? uint32 107 +--rw fwd-intf if:interface-ref 109 augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf: 110 +--rw bier-ospf-cfg 111 +--rw mt-id? uint16 112 +--rw bier 113 +--rw enable? boolean 114 +--rw advertise? boolean 115 +--rw receive? boolean 116 augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis: 117 +--rw bier-isis-cfg 118 +--rw mt-id? uint16 119 +--rw bier 120 +--rw enable? boolean 121 +--rw advertise? boolean 122 +--rw receive? boolean 124 notifications: 125 +---n bfr-id-collision 126 | +--ro bfr-id? uint16 127 +---n bfr-zero 128 | +--ro ipv4-bfr-prefix? inet:ipv4-prefix 129 | +--ro ipv6-bfr-prefix? inet:ipv6-prefix 130 +---n sub-domain-id-collision 131 +--ro sub-domain-id? uint16 132 +--ro mt-id? uint16 134 3. Configuration 136 This Module augments the "/rt:routing:" with a BIER container. This 137 Container defines all the configuration parameters related to BIER 138 for this particular routing. 140 The BIER configuration contains global configuration. 142 The global configuration includes BIER encapsulation type, 143 BitStringLengths, BFR-id, BFR-prefixes, and parameters associated 144 with bier sub-domain. 146 4. Control plane configuration 148 This Module augments the "/rt:routing/rt:routing-protocols/ 149 rt:routing-protocol/ospf:ospf:" and "/rt:routing/rt:routing- 150 protocols/rt:routing-protocol/isis:isis:"configuration with BIER. 152 This Module supports ISIS ([RFC8401])and OSPF ([RFC8444]) as control 153 plane for BIER. 155 5. Notification 157 This Module includes bfr-id-collision, bfr-zero, and sub-domain-id- 158 collision. 160 6. BIER YANG Data Model 162 file "ietf-bier@2019-05-14.yang" 163 module ietf-bier { 164 yang-version 1.1; 165 namespace "urn:ietf:params:xml:ns:yang:ietf-bier"; 166 prefix "bier"; 168 import ietf-routing { 169 prefix "rt"; 170 } 171 import ietf-interfaces { 172 prefix "if"; 173 reference "RFC7223"; 174 } 175 import ietf-inet-types { 176 prefix "inet"; 177 } 179 import ietf-isis{ 180 prefix "isis"; 181 } 183 import ietf-ospf { 184 prefix "ospf"; 185 } 187 organization 188 "IETF BIER(Bit Indexed Explicit Replication ) Working Group"; 190 contact 191 "WG List: 193 WG Chair: Tony Przygienda 194 196 WG Chair: Greg Shepherd 197 199 Editor: Ran Chen 200 201 Editor: Fangwei Hu 202 203 Editor: Zheng Zhang 204 205 Editor: Xianxian Dai 206 207 Editor: Mahesh Sivakumar 208 209 "; 210 description 211 "The YANG module defines a generic configuration 212 model for BIER."; 214 revision 2019-05-14{ 215 description 216 "latest revision"; 217 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 218 } 220 revision 2018-09-29{ 221 description 222 "04 revision"; 223 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 224 } 226 revision 2018-02-07{ 227 description 228 "03 revision"; 229 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 230 } 232 revision 2017-08-10{ 233 description 234 "02 revision"; 235 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 237 } 239 revision 2017-01-20{ 240 description 241 "01 revision"; 242 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 243 } 245 revision 2016-07-23{ 246 description 247 "00 revision"; 248 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 249 } 251 revision 2016-05-12{ 252 description 253 "04 revision"; 254 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 255 } 257 revision 2016-03-16 { 258 description 259 "03 revision"; 260 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 261 } 263 revision 2015-12-03 { 264 description 265 "02 revision"; 266 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 267 } 269 revision 2015-10-16 { 270 description 271 "01 revision."; 272 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 273 } 275 revision 2015-06-22 { 276 description 277 "Initial revision."; 278 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 279 } 281 /* Identities */ 282 identity bier-encapsulation{ 283 description 284 "Base identity for BIER encapsulation."; 285 } 286 identity bier-encapsulation-mpls { 287 base bier-encapsulation; 288 description 289 "This identity represents MPLS encapsulation for bier."; 290 } 291 identity bier-encapsulation-ipv6 { 292 base bier-encapsulation; 293 description 294 "This identity represents ipv6 encapsulation for bier."; 295 } 296 identity bier-encapsulation-ethernet { 297 base bier-encapsulation; 298 description 299 "This identity represents ethernet encapsulation for bier."; 300 } 301 identity address-family { 302 description 303 "Base identity from which identities describing address 304 families are derived."; 305 } 306 identity ipv4 { 307 base address-family; 308 description 309 "This identity represents an IPv4 address family."; 310 } 312 identity ipv6 { 313 base address-family; 314 description 315 "This identity represents an IPv6 address family."; 316 } 318 /*grouping*/ 319 grouping bier-protocol-extensions{ 320 description 321 "Defines protocol extensions."; 322 leaf mt-id{ 323 type uint16 ; 324 description 325 "Multi-topology associated with bier sub-domain."; 326 } 327 container bier { 328 leaf enable { 329 type boolean; 330 default false; 331 description 332 "Enables bier protocol extensions."; 333 } 334 leaf advertise { 335 type boolean; 336 default true; 337 description 338 "Enable to advertise the parameters associated with bier."; 339 } 340 leaf receive { 341 type boolean; 342 default true; 343 description 344 "Enable to receive the parameters associated with bier."; 345 } 346 description 347 "BIER global config."; 348 } 349 } 351 grouping bsl { 352 description 353 "The bitstringlength type."; 354 leaf bsl { 355 type enumeration{ 356 enum "64-bit"{ 357 description 358 "bitstringlength is 64"; 359 } 360 enum "128-bit"{ 361 description 362 "bitstringlength is 128"; 363 } 364 enum "256-bit"{ 365 description 366 "bitstringlength is 256"; 367 } 368 enum "512-bit"{ 369 description 370 "bitstringlength is 512"; 371 } 372 enum "1024-bit"{ 373 description 374 "bitstringlength is 1024"; 375 } 376 enum "2048-bit"{ 377 description 378 "bitstringlength is 2048"; 379 } 381 enum "4096-bit"{ 382 description 383 "bitstringlength is 4096"; 384 } 385 } 386 default "256-bit"; 387 description 388 "list of the bitstringlength type to be supported."; 389 } 390 } 391 grouping underlay-protocol-type { 392 description 393 "The underlay protocol type."; 394 leaf underlay-protocol-type { 395 type enumeration{ 396 enum "isis" { 397 description 398 "isis protocol"; 399 } 400 enum "ospf" { 401 description 402 "ospf protocol"; 403 } 404 enum "bgp" { 405 description 406 "bgp protocol"; 407 } 408 } 409 description 410 "list of the underlay protocol to be supported."; 411 } 412 } 414 grouping encapsulation { 415 description 416 "The Bit Index Forwarding T6able.When MPLS is used as the transport, the Bit Indexed Forwarding Table (BIFT) is identified by a MPLS Label. When non-MPLS transport is used, the BIFT is identified by a 20bit value."; 417 list encapsulation { 418 key "bsl encapsulation-type"; 419 leaf bsl{ 420 type uint16; 421 description 422 "The value of the bitstringlength."; 423 } 425 leaf encapsulation-type { 426 type identityref { 427 base bier-encapsulation; 428 } 429 description 430 "Dataplane to be used."; 431 } 432 leaf max-si { 433 type uint16; 434 description 435 "Maximum Set Identifier ."; 436 } 437 leaf bift-id-base { 438 type uint32; 439 description 440 "The value of the bift id."; 441 } 442 description 443 "Different dataplane, different value of the bift-id."; 444 } 445 } 446 grouping sub-domain { 447 description 448 "The parameters of the sub domain."; 449 list sub-domain { 450 key "sub-domain-id address-family"; 451 leaf sub-domain-id { 452 type uint16; 453 description 454 "The type for sub-domain-id"; 455 } 456 leaf address-family { 457 type identityref { 458 base address-family; 459 } 460 mandatory true; 461 description 462 "Address family."; 463 } 465 leaf bfr-prefix { 466 type inet:ip-prefix; 467 description 468 "the bfr prefix."; 469 } 470 uses underlay-protocol-type; 471 leaf mt-id { 472 type uint16; 473 description 474 "The type for multi-topology identifier"; 475 } 476 leaf bfr-id { 477 type uint16; 478 description 479 "The type for bfr identifier"; 480 } 481 uses bsl; 482 leaf igp-algorithm { 483 type uint8; 484 description 485 "The type for igp algorithm"; 486 } 487 leaf bier-algorithm { 488 type uint8; 489 description 490 "The type for bier algorithm"; 491 } 492 leaf load-balance-num { 493 type uint8; 494 description 495 "The multicast load balance num."; 496 } 497 uses encapsulation; 498 description 499 "list the parameters of the sub domain."; 500 } 501 } 503 augment "/rt:routing" { 504 description 505 "This augments routing-instance configuration with bier."; 506 container bier{ 507 description 508 "bier global configuration."; 509 leaf encapsulation-type { 510 type identityref { 511 base bier-encapsulation; 512 } 513 description 514 "Dataplane to be used."; 515 } 516 uses bsl; 517 leaf bfr-id { 518 type uint16; 519 description 520 "The type for bfr identifier"; 521 } 522 leaf bfr-prefix { 523 type inet:ip-prefix; 524 description 525 "the bfr prefix."; 526 } 527 uses sub-domain; 528 list birt{ 529 key "sub-domain-id"; 530 leaf sub-domain-id{ 531 type sub-domain-id; 532 description 533 "BIER sub domain ID"; 534 } 535 list birt-bitstringlength { 536 key "bitstringlength"; 537 leaf bitstringlength{ 538 type uint16; 539 description 540 "BIER bitstringlength."; 541 } 542 list birt-si { 543 key "si"; 544 leaf si{ 545 type si; 546 description 547 "BIER set identifier."; 548 } 549 leaf in-bift-id{ 550 type uint32; 551 description 552 "BIER in-bift-id."; 553 } 554 leaf out-bift-id{ 555 type uint32; 556 description 557 "BIER out-bift-id."; 558 } 559 leaf fwd-intf{ 560 type if:interface-ref; 561 description 562 "The out interface of this forwarding item."; 563 } 564 description 565 "The BIRT based on the key set identifier"; 566 } 567 description 568 "The BIRT based on the key set identifier & bitstringlength"; 569 } 570 description 571 "The information of the BIRT."; 573 } 575 } 576 } 578 augment "/rt:routing/rt:control-plane-protocols/" 579 + "rt:control-plane-protocol/ospf:ospf" { 580 when "../rt:type = 'ospf:ospfv2' or 581 ../rt:type = 'ospf:ospfv3'" { 582 description 583 "This augments the ospf routing protocol when used"; 584 } 585 description 586 "This augments ospf protocol configuration with bier."; 587 container bier-ospf-cfg{ 588 uses bier-protocol-extensions; 589 description 590 "Control of bier advertisement and reception."; 591 } 592 } 594 augment "/rt:routing/rt:control-plane-protocols/" 595 +"rt:control-plane-protocol/isis:isis"{ 596 when "/rt:routing/rt:control-plane-protocols/"+ 597 "rt:control-plane-protocol/rt:type = 'isis:isis'" { 598 description 599 "This augment ISIS routing protocol when used"; 600 } 601 description 602 "This augments ISIS protocol configuration with bier."; 603 container bier-isis-cfg{ 604 uses bier-protocol-extensions; 605 description 606 "Control of bier advertisement and reception."; 608 } 609 } 611 /* Notifications */ 612 notification bfr-id-collision{ 613 leaf bfr-id{ 614 type uint16; 615 description 616 "The type for bfr identifier"; 618 } 620 description 621 "BFR ID received in the controlplane that caused BFR ID collision."; 622 } 624 notification bfr-zero{ 625 leaf ipv4-bfr-prefix{ 626 type inet:ipv4-prefix; 627 description 628 "BIER ipv4 bfr prefix"; 629 } 630 leaf ipv6-bfr-prefix{ 631 type inet:ipv6-prefix; 632 description 633 "BIER ipv6 bfr prefix"; 634 } 635 description 636 "Invalid value associated with prefix"; 637 } 639 notification sub-domain-id-collision{ 640 leaf sub-domain-id { 641 type uint16; 642 description 643 "The type for sub-domain-id"; 644 } 645 leaf mt-id{ 646 type uint16; 647 description 648 "Multi-topology ID"; 649 } 650 description 651 "Sub domain ID received in the controlplane that caused Sub domain ID collision"; 652 } 653 } 655 657 7. Security Considerations 659 TBD. 661 8. Acknowledgements 663 We would like to thank IJsbrand Wijnands, Reshad Rahman ,Giles Heron, 664 Senthil Dhanaraj ,and jingrong Xie for their comments and support of 665 this work. 667 9. IANA Considerations 669 This document requires no IANA Actions. Please remove this section 670 before RFC publication. 672 10. Normative References 674 [I-D.ietf-isis-yang-isis-cfg] 675 Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. 676 Lhotka, "YANG Data Model for IS-IS Protocol", draft-ietf- 677 isis-yang-isis-cfg-42 (work in progress), October 2019. 679 [I-D.ietf-mpls-base-yang] 680 Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A 681 YANG Data Model for MPLS Base", draft-ietf-mpls-base- 682 yang-11 (work in progress), September 2019. 684 [I-D.ietf-mpls-static-yang] 685 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 686 "A YANG Data Model for MPLS Static LSPs", draft-ietf-mpls- 687 static-yang-10 (work in progress), September 2019. 689 [I-D.ietf-netmod-routing-cfg] 690 Lhotka, L. and A. Lindem, "A YANG Data Model for Routing 691 Management", draft-ietf-netmod-routing-cfg-25 (work in 692 progress), November 2016. 694 [I-D.ietf-ospf-yang] 695 Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, 696 "YANG Data Model for OSPF Protocol", draft-ietf-ospf- 697 yang-29 (work in progress), October 2019. 699 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 700 the Network Configuration Protocol (NETCONF)", RFC 6020, 701 DOI 10.17487/RFC6020, October 2010, 702 . 704 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 705 and A. Bierman, Ed., "Network Configuration Protocol 706 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 707 . 709 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 710 RFC 6991, DOI 10.17487/RFC6991, July 2013, 711 . 713 [RFC7223] Bjorklund, M., "A YANG Data Model for Interface 714 Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, 715 . 717 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 718 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 719 Explicit Replication (BIER)", RFC 8279, 720 DOI 10.17487/RFC8279, November 2017, 721 . 723 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 724 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 725 for Bit Index Explicit Replication (BIER) in MPLS and Non- 726 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 727 2018, . 729 [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. 730 Zhang, "Bit Index Explicit Replication (BIER) Support via 731 IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, 732 . 734 [RFC8444] Psenak, P., Ed., Kumar, N., Wijnands, IJ., Dolganow, A., 735 Przygienda, T., Zhang, J., and S. Aldrin, "OSPFv2 736 Extensions for Bit Index Explicit Replication (BIER)", 737 RFC 8444, DOI 10.17487/RFC8444, November 2018, 738 . 740 Authors' Addresses 742 Ran Chen 743 ZTE Corporation 744 No.50 Software Avenue,Yuhuatai District 745 Nanjing, Jiangsu Province 210012 746 China 748 Phone: +86 025 88014636 749 Email: chen.ran@zte.com.cn 751 Fangwei Hu 752 Individual 753 No.889 Bibo Rd 754 Shanghai 201203 755 China 757 Email: hufwei@gmail.com 758 Zheng Zhang 759 ZTE Corporation 760 No.50 Software Avenue,Yuhuatai District 761 Nanjing, Jiangsu Province 210012 762 China 764 Email: zhang.zheng@zte.com.cn 766 Xianxian Dai 767 ZTE Corporation 768 No.50 Software Avenue,Yuhuatai District 769 Nanjing, Jiangsu Province 210012 770 China 772 Email: Dai.xianxian@zte.com.cn 774 Mahesh Sivakumar 775 Juniper networks 776 1133 Innovation Way 777 Sunnyvale, CALIFORNIA 94089 778 United States 780 Email: sivakumar.mahesh@gmail.com