idnits 2.17.1 draft-hares-i2rs-fb-rib-data-model-03.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 is 1 instance of too long lines in the document, the longest one being 9 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 344 has weird spacing: '...bgp-rib strin...' -- The document date (March 21, 2016) is 2952 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) == Missing Reference: 'I-D.ietf-i2rs-architecture' is mentioned on line 798, but not defined == Missing Reference: 'I-D.kini-i2rs-fb-rib-info-model' is mentioned on line 827, but not defined == Missing Reference: 'I-D.ietf-i2rs-rib-info-model' is mentioned on line 811, but not defined == Missing Reference: 'I-D.ietf-netmod-routing-cfg' is mentioned on line 822, but not defined == Missing Reference: 'I-D.hares-i2rs-pkt-eca-data-model' is mentioned on line 793, but not defined == Missing Reference: 'I-D.ietf-i2rs-rib-data-model' is mentioned on line 804, but not defined == Missing Reference: 'I-D.ietf-netmod-acl-model' is mentioned on line 816, but not defined == Unused Reference: 'I-D.acee-rtgwg-yang-rib-extend' is defined on line 835, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-i2rs-usecase-reqs-summary' is defined on line 840, but no explicit reference was found in the text == Outdated reference: A later version (-10) exists of draft-acee-rtgwg-yang-rib-extend-00 == Outdated reference: A later version (-03) exists of draft-ietf-i2rs-usecase-reqs-summary-02 Summary: 1 error (**), 0 flaws (~~), 13 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 I2RS working group S. Hares 3 Internet-Draft Huawei 4 Intended status: Standards Track S. Kini 5 Expires: September 22, 2016 Ericsson 6 L. Dunbar 7 Huawei 8 R. Krishnan 9 Dell 10 D. Bogdanovic 11 Juniper Networks 12 R. White 13 Linkedin 14 March 21, 2016 16 Filter-Based RIB Data Model 17 draft-hares-i2rs-fb-rib-data-model-03 19 Abstract 21 This document defines a data model to support the Filter-based 22 Routing Information Base (RIB) Yang data models for I2RS. A routing 23 system uses the Filter-based RIB to program FIB entries that process 24 incoming packets by matching on multiple fields within the packet and 25 then performing a specified action on it. The FB-RIB can also 26 specify an action to forward the packet according to the FIB entries 27 programmed using the RIBs of its routing instance. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at http://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on September 22, 2016. 46 Copyright Notice 48 Copyright (c) 2016 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (http://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 64 1.1. Definition of I2RS Filter Based RIB . . . . . . . . . . . 3 65 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 66 3. Definitions and Acronyms . . . . . . . . . . . . . . . . . . 4 67 4. High level Yang structure for the FB-RIB . . . . . . . . . . 5 68 4.1. Top Level Yang Structure for ietf-fb-rib . . . . . . . . 7 69 4.2. Filter-Based RIB structures . . . . . . . . . . . . . . . 8 70 5. yang models . . . . . . . . . . . . . . . . . . . . . . . . . 9 71 5.1. Filter-Based RIB types . . . . . . . . . . . . . . . . . 9 72 5.2. FB-RIB . . . . . . . . . . . . . . . . . . . . . . . . . 15 73 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 74 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 75 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 76 8.1. Normative References: . . . . . . . . . . . . . . . . . . 18 77 8.2. Informative References . . . . . . . . . . . . . . . . . 19 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 80 1. Introduction 82 The Interface to the Routing System (I2RS) 83 [I-D.ietf-i2rs-architecture] architecture provides dynamic read and 84 write access to the information and state within the routing 85 elements. The I2RS client interacts with the I2RS agent in one or 86 more network routing systems. 88 This document provides a yang module for the I2RS filter Based 89 Routing Information Base (FB-RIB) and describes the I2RS interaction 90 with routing filters within a routing element. The informational 91 model for the FB-RIB is in [I-D.kini-i2rs-fb-rib-info-model] 93 1.1. Definition of I2RS Filter Based RIB 95 Filter-based routing is a technique used to make packet forwarding 96 decisions based on a filter that is matched to the incoming packets 97 and the specified action. It should be noted that that this is 98 distinct from the static routes in the RIB 99 [I-D.ietf-i2rs-rib-info-model] where the routing is destination 100 ddress based. 102 A Filter-Based RIB (Routing Information Base) is contained in a 103 routing instance (defined in [I-D.ietf-i2rs-rib-info-model]). It 104 contains a list of filters (match-action conditions) and a list of 105 interfaces the filter-based forwarding operates on, and default 106 RIB(s). 108 A Filter Based RIB uses packet forwarding policy. If packet 109 reception is considered an event, then the I2RS Filter-based RIB uses 110 a minimalistic Event-matchCondition-Action policy with the following 111 characteristics: 113 event = packet/frame received, 115 match condition - match on field in frame/packet or circumstances 116 relating to packet reception (e.g. time received), 118 action - modify packet and forward/drop packet. 120 A Filter-based RIB entry specifies match filters for the fields in a 121 packet (which may include layer 1 to layer 3 header fields, transport 122 or application fields) or size of the packet or interface received 123 on. The matches are contained in an ordered list of filters which 124 contain pairs of match condition-action (aka event-condition-action). 126 If all matches fail, default action is to forward the packet using 127 Destination Based forward from the default RIB(s). The default RIBs 128 can be: 130 o created by the I2RS Routing Informational Base (RIB) manager using 131 the yang model described in: in [I-D.ietf-i2rs-rib-info-model], or 133 o configured RIB created using static routes or 134 [I-D.ietf-netmod-routing-cfg]. 136 o or static RIB created via static route yang model 138 Actions in the condition-action pair may impact forwarding or set 139 something in the packet that will impact forwarding. Policy actions 140 are typically applied before applying QoS constraints since policy 141 actions may override QoS constraint. 143 The Filter-Based RIB resides in ephemeral state as does the I2RS RIB 144 and I2RS topology models. 146 2. Requirements Language 148 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 149 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 150 document are to be interpreted as described in [RFC2119]. 152 In this document, these words will appear with that interpretation 153 only when in ALL CAPS. Lower case uses of these words are not to be 154 interpreted as carrying RFC-2119 significance. 156 3. Definitions and Acronyms 158 CLI 160 Command Line Interface 162 FB-RIB 164 Filter-Based Routing Information Base 166 FB-Route 168 The policy rules in the filter-based RIB are prescriptive of the 169 Event-Condition-Action form which is often represented by if 170 Condition then action". 172 Policy Group 174 Policy Groups are groups of policy rules. The groups of policy in 175 the basic network policy [I-D.hares-i2rs-pkt-eca-data-model] allow 176 grouping of policy by name. This structure allow easier 177 management of customer-based or provider based filters, but does 178 not change the policy-rules list. 180 RIB IM 182 RIB Informational Model (RIB IM) [I-D.ietf-i2rs-rib-info-model] 184 Routing instance 186 A routing instance, in the context of the FB-FIB is a collection 187 of RIBs, interfaces, and routing parameters. A routing instance 188 creates a logical slice of the router and allows different logical 189 slices; across a set of routers; to communicate with each other. 191 4. High level Yang structure for the FB-RIB 193 There are three levels in the Filter-Based RIB (FB-RIB) structure: 195 o a global FB-RIB structures, 197 o the common structure of the FB-RIB, and 199 o the groupings that make up the FB-RIB 201 All structures have two types: configuration/ephemeral state and 202 operational state. 204 This yang model describes three types of FB-RIBS: configuration, 205 I2RS, and BGP Flow Specification. The configuration FB-RIB yang 206 module is config state ("config true" and "ephemeral false") and 207 survives a reboot. The I2RS FB-RB yang model is reboot ephemeral 208 ("config true" and "ephemeral true;"). The BGP Flow Specification 209 Filter-Based RIB stores policy which is received by the BGP peers. 210 The BGP configuration contains a flow-specification as part of its 211 configuration, and the ability to export this flow specification to 212 other BGP peers. The BGP local configuration with the flow 213 specification is consider ("config true"), and it is possible to be 214 ephemeral ("ephemeral true") or local configuration ("ephemeral 215 false" ). The BGP flow specifications received from peers are 216 derived state, just like other BGP dervised state. 218 Configuration RIBS 220 +-----------------------------------------+ 221 | routing instance | 222 +-------|-------------|----------------|--+ 223 | | | 224 | | | 225 +---------|----+ +-----|-----+ +--------|-----+ 226 |config-fb-rib | |i2rs-fb-rib| |bgp-fs-fb-rib | 227 | | | | |config only | 228 +------|-------+ +-----|-----+ +------|-------+ 229 |............:....|...............| 230 : (uses common structures 231 : in separate lists of FB-RIBs) 232 +--------|----+ 233 |fb-ribs* | 234 | | 235 +--|----------+ 236 | 238 Figure 3: Routing instance with three types of 239 Filter-FIB lists 241 The following section provides the high level yang structure diagrams 242 for the following levels of structures for both config/ephemeral 243 state and operationa. 245 o ietf-fb-rib - contains filter-based RIBS for config, I2RS FB-RIB, 246 and BGP Flow Specification. 248 o fb-rib - that contains the structures for the filter-based 249 grouping 251 o fb-rib-types - that contains the structures for groupings within 252 the filter-based RIBS 254 These structures are contained within the yang section in this draft. 256 The packet-reception ECA policy yang module is contained in the draft 257 [I-D.hares-i2rs-pkt-eca-data-model]. 259 For those who desire more information regarding the logic behind the 260 I2RS Filter-Based RIB, please see the Informational Model at: 261 [I-D.kini-i2rs-fb-rib-info-model]. 263 4.1. Top Level Yang Structure for ietf-fb-rib 265 The Top-level Yang structure for a global FB-RIB types (similar to 266 acl) is not defined for filter-based RIBS. The I2RS Filter-Based RIB 267 should be defined under this structure under a routing instance. The 268 three things under this RIB would be: configured Filter-Based RIB 269 (aka Policy routing), I2RS reboot Ephemeral Filter-Based RIB, and BGP 270 Flow Specification's Filter-Based RIB. All of these RIBs have 271 similar actions. 273 There are two types top-level structures for ietf-fb-ribs: config and 274 operational state. 276 The Top-level Yang structure for a global configuration of Filter- 277 Based RIBs are: 279 Augments rt:logical-network-elements:\ 280 :logical-network-element:network-instances: \ 281 network-instance 283 ietf-fb-rib module 284 +--rw ietf-fb-rib 285 +--rw default-instance-name string 286 +--rw default-router-id rt:router-id 287 +--rw config-fb-ribs 288 if-feature "config-filter-based-RIB"; 289 uses fb-ribs; 290 +--rw i2rs-fb-ribs 291 if-feature "I2RS-filter-based-RIB"; 292 uses fb-rib-t:fb-ribs; 293 +--rw bgp-fs-fb-ribs 294 if-feature "BGP-FS-filter-based-RIB"; 295 uses fb-rib-t:fb-ribs; 297 Figure 5: configuration state 299 The Top-level Yang structure for a global operational state of 300 Filter-Based RIBs are: 302 Augments rt:logical-network-elements:\ 303 :logical-network-element:network-instances: \ 304 network-instance 306 ietf-fb-rib module 307 +--rw ietf-fb-rib-opstate 308 +--rw default-instance-name string 309 +--rw default-router-id rt:router-id 310 +--rw config-fb-rib-opstate 311 if-feature "config-filter-based-RIB"; 312 uses fb-rib-t:fb-ribs-oper-status; 313 +--rw i2rs-fb-rib-opstate { 314 if-feature "I2RS-filter-based-RIB"; 315 uses fb-rib-t:fb-ribs-oper-status; 316 +--rw bgp-fs-fb-rib-opstate 317 if-feature "BGP-FS-filter-based-RIB"; 318 uses fb-rib-t:fb-ribs-oper-status; 320 Figure 5: operational state 322 4.2. Filter-Based RIB structures 324 The Top-level yang structures at the Filter-Based RIB level have two 325 types: configuration and operational state. 327 The Top-level Yang structure for the FB-RIB types is: 329 module: fb-rib-types: 330 +--rw fb-ribs 331 +--rw fb-rib* [rib-name] 332 | +--rw rib-name string 333 | | rw fb-type identityref / ephemeral or not 334 | +--rw rib-afi rt:address-family 335 | +--rw fb-rib-intf* [name] 336 | | +--rw name string 337 | | +--rw intf if:interface 338 | +--rw default-rib 339 | | +--rw rt-rib rt:routing:routing-instance:name 340 | | +--rw config-rib string; // config rib name 341 | | +--rw i2rs-rib:routing-instance:name 342 | | +--rw i2rs-rib string; //ephemeral rib name 343 | | +--rw bgp-instance-name string 344 | | +--rw bgp-rib string //session ephemeral 345 | +--rw fb-rib-refs 346 | | +--rw fb-rib-update-ref uint32 /count of writes 347 | +--rw instance-using* 348 | | device:networking-instance:networking-instance-name 349 | +--use pkt-eca:pkt-eca-policy-set 351 Figure 6: FB RIB Type Structure 353 HIgh Level Yang 355 +--rw fb-ribs-oper-status 356 +--rw fb-rib-oper-status* [fb-rib-name] 357 uses pkt-eca:pkt-eca-opstate 359 5. yang models 361 5.1. Filter-Based RIB types 363 file "ietf-fb-rib-types@2016-02-09.yang" 364 module ietf-fb-rib-types { 366 yang-version "1"; 368 // namespace 369 namespace "urn:ietf:params:xml:ns:yang:ietf-fb-rib-types"; 370 prefix "fb-rib-t"; 371 import ietf-interfaces {prefix "if";} 372 import ietf-routing {prefix "rt";} 373 import ietf-pkt-eca-policy {prefix "pkt-eca";} 375 // meta 376 organization 377 "IETF"; 379 contact 380 "email: shares@ndzh.com; 381 email: sriganesh.kini@ericsson.com 382 email: cengiz@packetdesign.com 383 email: ivandean@gmal.org 384 email: linda.dunbar@huawei.com; 385 email: russ@riw.com; 386 "; 388 description 389 "This module describes a YANG model for the I2RS 390 Filter-based RIB Types. These types 391 specify types for the Filter-Based RIB. 393 Copyright (c) 2015 IETF Trust and the persons identified as 394 the document authors. All rights reserved. 396 Redistribution and use in source and binary forms, with or 397 without modification, is permitted pursuant to, and subject 398 to the license terms contained in, the Simplified BSD 399 License set forth in Section 4.c of the IETF Trust's Legal 400 Provisions Relating to IETF Documents 401 (http://trustee.ietf.org/license-info)."; 403 revision "2016-02-09" { 404 description 405 "Filter-Based RIB protocol "; 406 reference "draft-hares-i2rs-fb-rib-data-model-01"; 407 } 409 typedef fb-rib-type-def { 410 type identityref { 411 base "fb-rib-type"; 412 } 413 description 414 "This type is used to refer to 415 source of Filter-Based RIB: 416 configuration, I2RS, Flow-Spec."; 417 } 419 identity fb-rib-type { 420 description 421 "This type is used to refer to 422 source of Filter-Based RIB: 423 configuration, I2RS, Flow-Spec."; 425 } 427 identity fb-rib-config-type { 428 base fb-rib-type; 429 description 430 "config Filter-Based RIB"; 431 } 433 identity fb-rib-i2rs-ephemeral-type { 434 base fb-rib-type; 435 description 436 "I2RS Reboot ephemeral Filter-Based RIB"; 437 } 439 identity fb-rib-BGP-FS-type { 440 base fb-rib-type; 441 description 442 "BGP Flow Specification Filter-Based RIB"; 443 } 445 typedef fb-rib-policy-type-def { 446 type identityref { 447 base "fb-rib-policy-type"; 448 } 449 description 450 "This type is used to refer to FB-RIB type"; 451 } 453 identity fb-rib-policy-type { 454 description 455 "Types of filter-based policies 456 acl and eca"; 457 } 459 identity fb-rib-acl { 460 base fb-rib-policy-type; 461 description 462 "filter based policy based on access-lists"; 463 } 465 identity fb-bnp-eca-rules { 466 base fb-rib-policy-type; 467 description 468 "filter based policy based on qos forwarding rules"; 469 } 471 typedef fb-rules-status { 472 type identityref { 473 base "fb-rule-opstat"; 474 } 475 description 476 "This type is used to refer to FB-RIB type"; 477 } 479 identity fb-rule-opstat { 480 description 481 "operational statues for filter rules 482 inactive and active"; 483 } 485 identity fb-rule-inactive { 486 base fb-rule-opstat; 487 description 488 "policy rule is inactive"; 489 } 491 identity fb-rule-active { 492 base fb-rule-opstat; 493 description 494 "policy rule is active"; 495 } 497 grouping fb-rib-rule-order-status { 498 leaf statement-order { 499 type uint16; 500 description "order identifier"; 501 } 502 leaf statement-oper_status { 503 type fb-rules-status; 504 description "status of rule"; 505 } 506 description "filter-rib 507 policy rule order and status"; 508 } 510 grouping fb-rib-group-order-status { 511 leaf group-refcnt { 512 type uint16; 513 description "refcnt for this group"; 514 } 515 leaf group-installed { 516 type uint32; 517 description "number of rules installed"; 518 } 519 leaf group-matches { 520 type uint64; 521 description "number of matches by all 522 rules in group"; 523 } 524 description "fb-rib group list order 525 and status info."; 526 } 528 grouping fb-rib-updates { 529 leaf fb-rib-update-ref { 530 type uint64; 531 description 532 "number of updates to this FB RIB 533 since last reboot"; 534 } 535 description "FB-RIB update info"; 536 } 538 grouping default-fb-rib { 539 // configuration instance for default RIB 540 leaf config-instance { 541 type rt:routing-instance-ref; 542 description "instance name"; 543 } 544 leaf config-rib { 545 type string; 546 description "name of config default RIB"; 547 } 548 //I2RS default instance for default RIB 549 leaf i2rs-instance-name { 550 type string; 551 description "I2RS instance name"; 552 } 553 leaf i2rs-rib-name { 554 type string; 555 description "name of default I2RS RIB"; 556 } 557 leaf bgp-instance-name { 558 type string; 559 description "name of bgp instance"; 560 } 562 leaf bgp-fs-rib-name { 563 type string; 564 description "name of BGP 565 flow specification default RIB"; 566 } 567 description "default RIB for forwarding 568 if the policy match"; 570 } 572 grouping fb-ribs { 573 list fb-rib { 574 key fb-rib-name; 575 leaf fb-rib-name { 576 type string; 577 mandatory true; 578 description "RIB name"; 579 } 580 uses rt:address-family; 581 leaf fb-type { 582 type fb-rib-type-def; 583 description "type of RIB 584 list: config, I2RS rebooot 585 ephemeral, BGP Flow Specification 586 ephemeral. "; 587 } 588 list fb-rib-intf { 589 key "name"; 590 leaf name { 591 type if:interface-ref; 592 description 593 "A reference to the name of a 594 configured network layer 595 interface."; 596 } 597 description "This represents 598 the list of interfaces 599 associated with this routing instance. 600 The interface list helps constrain the 601 boundaries of packet forwarding. 602 Packets coming on these interfaces are 603 directly associated with the given routing 604 instance. The interface list contains a 605 list of identifiers, with each identifier 606 uniquely identifying an interface."; 607 } 608 uses default-fb-rib; // defaults ribs 609 uses fb-rib-updates; // write refs to this RIB 610 list instance-using { 611 key instance-name; 612 leaf instance-name { 613 type string; 614 description 615 " name of instance using this fb-rib 616 rt:routing-instance"; 617 } 619 description "instances using 620 this fb-rib"; 621 } 622 // ordered rule list + group list 623 uses pkt-eca:pkt-eca-policy-set; 625 description "Configuration of 626 an filter-based rib list"; 627 } 628 description "fb-rib group"; 629 } 631 grouping fb-ribs-oper-status { 632 list fb-rib-oper-status { 633 key fb-rib-name; 634 leaf fb-rib-name { 635 type string; 636 description "rib name"; 637 } 638 uses pkt-eca:pkt-eca-opstate; 639 description "Configuration of 640 an filter-based rib list"; 641 } 642 description "list of FB-FIB operational 643 status"; 644 } 646 } 648 650 5.2. FB-RIB 652 file "ietf-fb-rib@2016-02-09.yang" 653 module ietf-fb-rib { 654 yang-version "1"; 656 // namespace 657 namespace "urn:ietf:params:xml:ns:yang:ietf-fb-rib"; 658 // replace with iana namespace when assigned 659 prefix "fb-rib"; 661 // import some basic inet types 662 import ietf-yang-types {prefix "yang";} 663 import ietf-fb-rib-types { prefix "fb-rib-t";} 664 // meta 665 organization 666 "IETF"; 668 contact 669 "email: sriganesh.kini@ericsson.com 670 email: cengiz@packetdesign.com 671 email: anoop@ieee.duke.edu 672 email: ivandean@gmail.org 673 email: shares@ndzh.com; 674 email: linda.dunbar@huawei.com; 675 email: russ@riw.com; 676 "; 678 description 679 "This Top level module describes a YANG model for the I2RS 680 Filter-based RIB which is an global protocol independent FB RIB module."; 682 revision "2016-02-09" { 683 description "initial revision"; 684 reference "draft-hares-i2rs-fb-rib-data-model-01"; 685 } 687 feature config-filter-based-RIB { 688 description 689 "This feature means that a node support 690 config filter-based rib."; 691 } 692 feature I2RS-filter-based-RIB { 693 description 694 "This feature means that a node support 695 I2RS filter-based rib."; 696 } 697 feature BGP-FS-filter-based-RIB { 698 description 699 "This feature means that a node support 700 BGP FS filter-based rib."; 701 } 703 container ietf-fb-rib { 704 presence "top-level structure for 705 configuration"; 706 leaf default-instance-name { 707 type string; 708 mandatory true; 709 description 710 "A routing instance is identified by its name, 711 INSTANCE_name. This MUST be unique across all routing 712 instances in a given network device."; 713 } 714 leaf default-router-id { 715 type yang:dotted-quad; 716 description "Default router id"; 717 } 718 container config-fb-rib { 719 if-feature config-filter-based-RIB; 720 uses fb-rib-t:fb-ribs; 721 description "config filter-based RIB"; 722 } 724 container i2rs-fb-rib { 725 if-feature I2RS-filter-based-RIB; 726 uses fb-rib-t:fb-ribs; 727 description "bgp-fs filter-based RIB"; 728 } 729 container bgp-fs-fb-rib { 730 if-feature BGP-FS-filter-based-RIB; 731 uses fb-rib-t:fb-ribs; 732 description "bgp fs filter-based RIB"; 733 } 734 description "fb-rib augments routing instance"; 735 } 737 container ietf-fb-rib-opstate { 738 presence "top-level structure for 739 op-state"; 740 config "false"; 741 leaf default-instance-name { 742 type string; 743 mandatory true; 744 description 745 "A routing instance is identified by its name, 746 INSTANCE_name. This MUST be unique across all routing 747 instances in a given network device."; 748 } 749 leaf default-router-id { 750 type yang:dotted-quad; 751 description "Default router id"; 752 } 753 container config-fb-rib-opstate { 754 if-feature config-filter-based-RIB; 755 uses fb-rib-t:fb-ribs-oper-status; 756 description "config filter-based RIB"; 757 } 758 container i2rs-fb-rib-opstate { 759 if-feature I2RS-filter-based-RIB; 760 uses fb-rib-t:fb-ribs-oper-status; 761 description "bgp-fs filter-based RIB"; 762 } 763 container bgp-fs-fb-rib-opstate { 764 if-feature BGP-FS-filter-based-RIB; 765 uses fb-rib-t:fb-ribs-oper-status; 766 description "bgp fs filter-based RIB"; 767 } 768 description "fb-rib augments routing instance"; 769 } 770 } 772 774 6. IANA Considerations 776 TBD 778 7. Security Considerations 780 A I2RS RIB is ephemeral data store that will dyanamically change 781 traffic paths set by the routing configuration. An I2RS FB-RIB 782 provides dynamic Event-Condition-Action policy that will further 783 change the operation of forwarding by allow dyanmic policy and 784 ephemeral RIBs to alter the traffic paths set by routing 785 configuration. Care must be taken in deployments to use the 786 appropriate security and operational control to make use of the tools 787 the I2RS RIB and I2RS FB-RIB provide. 789 8. References 791 8.1. Normative References: 793 [I-D.hares-i2rs-pkt-eca-data-model] 794 Hares, S., Wu, Q., and R. White, "Filter-Based Packet 795 Forwarding ECA Policy", draft-hares-i2rs-pkt-eca-data- 796 model-02 (work in progress), February 2016. 798 [I-D.ietf-i2rs-architecture] 799 Atlas, A., Halpern, J., Hares, S., Ward, D., and T. 800 Nadeau, "An Architecture for the Interface to the Routing 801 System", draft-ietf-i2rs-architecture-13 (work in 802 progress), February 2016. 804 [I-D.ietf-i2rs-rib-data-model] 805 Wang, L., Ananthakrishnan, H., Chen, M., 806 amit.dass@ericsson.com, a., Kini, S., and N. Bahadur, "A 807 YANG Data Model for Routing Information Base (RIB)", 808 draft-ietf-i2rs-rib-data-model-05 (work in progress), 809 March 2016. 811 [I-D.ietf-i2rs-rib-info-model] 812 Bahadur, N., Kini, S., and J. Medved, "Routing Information 813 Base Info Model", draft-ietf-i2rs-rib-info-model-08 (work 814 in progress), October 2015. 816 [I-D.ietf-netmod-acl-model] 817 Bogdanovic, D., Koushik, K., Huang, L., and D. Blair, 818 "Network Access Control List (ACL) YANG Data Model", 819 draft-ietf-netmod-acl-model-07 (work in progress), March 820 2016. 822 [I-D.ietf-netmod-routing-cfg] 823 Lhotka, L. and A. Lindem, "A YANG Data Model for Routing 824 Management", draft-ietf-netmod-routing-cfg-21 (work in 825 progress), March 2016. 827 [I-D.kini-i2rs-fb-rib-info-model] 828 Kini, S., Hares, S., Dunbar, L., Ghanwani, A., Krishnan, 829 R., Bogdanovic, D., and R. White, "Filter-Based RIB 830 Information Model", draft-kini-i2rs-fb-rib-info-model-03 831 (work in progress), February 2016. 833 8.2. Informative References 835 [I-D.acee-rtgwg-yang-rib-extend] 836 Lindem, A. and Y. Qu, "YANG Data Model for RIB 837 Extensions", draft-acee-rtgwg-yang-rib-extend-00 (work in 838 progress), October 2015. 840 [I-D.ietf-i2rs-usecase-reqs-summary] 841 Hares, S. and M. Chen, "Summary of I2RS Use Case 842 Requirements", draft-ietf-i2rs-usecase-reqs-summary-02 843 (work in progress), March 2016. 845 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 846 Requirement Levels", BCP 14, RFC 2119, 847 DOI 10.17487/RFC2119, March 1997, 848 . 850 Authors' Addresses 852 Susan Hares 853 Huawei 854 7453 Hickory Hill 855 Saline, MI 48176 856 USA 858 Email: shares@ndzh.com 860 Sriganesh Kini 861 Ericsson 863 Email: sriganesh.kini@ericsson.com 865 Linda Dunbar 866 Huawei 867 USA 869 Email: linda.dunbar@huawei.com 871 Ram Krishnan 872 Dell 874 Email: Ramkri123@gmail.com 876 Dean Bogdanovic 877 Juniper Networks 878 Westford, MA 880 Email: ivandean@gmail.org 882 Russ White 883 Linkedin 885 Email: russ@riw.us