idnits 2.17.1 draft-ietf-i2rs-fb-rib-data-model-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 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 347 has weird spacing: '...bgp-rib strin...' -- The document date (March 13, 2017) is 2600 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-netmod-routing-cfg' is mentioned on line 839, but not defined == Missing Reference: 'I-D.ietf-i2rs-pkt-eca-data-model' is mentioned on line 821, but not defined == Missing Reference: 'I-D.ietf-netmod-acl-model' is mentioned on line 833, but not defined == Missing Reference: 'I-D.ietf-i2rs-rib-data-model' is mentioned on line 826, but not defined == Outdated reference: A later version (-17) exists of draft-ietf-i2rs-rib-info-model-10 Summary: 1 error (**), 0 flaws (~~), 7 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 14, 2017 Ericsson 6 L. Dunbar 7 Huawei 8 R. Krishnan 9 Dell 10 D. Bogdanovic 11 Juniper Networks 12 R. White 13 Linkedin 14 March 13, 2017 16 Filter-Based RIB Data Model 17 draft-ietf-i2rs-fb-rib-data-model-01 19 Abstract 21 This document defines a data model to support the Filter-based 22 Routing Information Base (RIB) Yang data models. A routing system 23 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 The Filter based RIB is a protocol independent data structure which 30 can be deployed in a configuration datastore, an ephemeral control 31 plane data stroe. 33 Status of This Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at http://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on September 14, 2017. 50 Copyright Notice 52 Copyright (c) 2017 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (http://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 68 1.1. Definition of Filter Based RIB . . . . . . . . . . . . . 2 69 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 70 3. Definitions and Acronyms . . . . . . . . . . . . . . . . . . 4 71 4. High level Yang structure for the FB-RIB . . . . . . . . . . 5 72 4.1. Top Level Yang Structure for ietf-fb-rib . . . . . . . . 7 73 4.2. Filter-Based RIB structures . . . . . . . . . . . . . . . 8 74 5. yang models . . . . . . . . . . . . . . . . . . . . . . . . . 9 75 5.1. Filter-Based RIB types . . . . . . . . . . . . . . . . . 9 76 5.2. FB-RIB . . . . . . . . . . . . . . . . . . . . . . . . . 16 77 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 78 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 79 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 80 8.1. Normative References: . . . . . . . . . . . . . . . . . . 19 81 8.2. Informative References . . . . . . . . . . . . . . . . . 19 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 84 1. Introduction 86 This document provides a protocol-independent yang module for Filter 87 Based Routing (FB-RIB) routing filters within a routing element. The 88 informational model for this FB-RIB is in 89 [I-D.ietf-i2rs-fb-rib-info-model]. 91 1.1. Definition of Filter Based RIB 93 Filter-based routing is a technique used to make packet forwarding 94 decisions based on a filter that is matched to the incoming packets 95 and the specified action. It should be noted that that this is 96 distinct from the static routes in the RIB where the routing is 97 destination ddress based. 99 A Filter-Based RIB (Routing Information Base) is contained in a 100 routing instance. It contains a list of filters (match-action 101 conditions) and a list of interfaces the filter-based forwarding 102 operates on, and default RIB(s). 104 A Filter Based RIB uses packet forwarding policy. If packet 105 reception is considered an event, then the Filter-based RIB uses a 106 minimalistic Event-matchCondition-Action policy with the following 107 characteristics: 109 event = packet/frame received, 111 match condition - match on field in frame/packet or circumstances 112 relating to packet reception (e.g. time received), 114 action - modify packet and forward/drop packet. 116 A Filter-based RIB entry specifies match filters for the fields in a 117 packet (which may include layer 1 to layer 3 header fields, transport 118 or application fields) or size of the packet or interface received 119 on. The matches are contained in an ordered list of filters which 120 contain pairs of match condition-action (aka event-condition-action). 122 If all matches fail, default action is to forward the packet using 123 Destination Based forward from the default RIB(s). The default RIBs 124 can be: 126 o created by the I2RS Routing Informational Base (RIB) manager using 127 the yang model described in: in [I-D.ietf-i2rs-rib-info-model], or 129 o configured RIB created using static routes or 130 [I-D.ietf-netmod-routing-cfg]. 132 Actions in the condition-action pair may impact forwarding or set 133 something in the packet that will impact forwarding. Policy actions 134 are typically applied before applying QoS constraints since policy 135 actions may override QoS constraint. 137 The Filter-Based RIB can reside in the configuration datastore, a 138 control plane datastore, or an ephemeral control plane data store 139 (e.g. I2RS ephemeral control plane datastore). 141 The Interface to the Routing System (I2RS) [RFC7921] architecture 142 provides dynamic read and write access to the information and state 143 within the routing elements. The I2RS client interacts with the I2RS 144 agent in one or more network routing systems. The I2RS architecture 145 defines the I2RS control plane datastore as ephemeral - which means 146 it does not persist across a reboot. 148 2. Requirements Language 150 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 151 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 152 document are to be interpreted as described in [RFC2119]. 154 In this document, these words will appear with that interpretation 155 only when in ALL CAPS. Lower case uses of these words are not to be 156 interpreted as carrying RFC-2119 significance. 158 3. Definitions and Acronyms 160 CLI 162 Command Line Interface 164 FB-RIB 166 Filter-Based Routing Information Base 168 FB-Route 170 The policy rules in the filter-based RIB are prescriptive of the 171 Event-Condition-Action form which is often represented by if 172 Condition then action". 174 Policy Group 176 Policy Groups are groups of policy rules. The groups of policy in 177 the basic network policy [I-D.ietf-i2rs-pkt-eca-data-model] allow 178 grouping of policy by name. This structure allow easier 179 management of customer-based or provider based filters, but does 180 not change the policy-rules list. 182 RIB IM 184 RIB Informational Model (RIB IM) [I-D.ietf-i2rs-rib-info-model] 186 Routing instance 188 A routing instance, in the context of the FB-FIB is a collection 189 of RIBs, interfaces, and routing parameters. A routing instance 190 creates a logical slice of the router and allows different logical 191 slices; across a set of routers; to communicate with each other. 193 4. High level Yang structure for the FB-RIB 195 There are three levels in the Filter-Based RIB (FB-RIB) structure: 197 o a global FB-RIB structures, 199 o the common structure of the FB-RIB, and 201 o the groupings that make up the FB-RIB 203 All structures have two types: configuration/ephemeral state and 204 operational state. 206 This yang model allows for three types of FB-RIB installations in 207 three types of datastores: 209 configuration (Config=TRUE, ephemeral=false, opstate definitions) 211 ephemeral control plane (E.g. I2RS Agent, config=TRUE, 212 ephemeral=TRUE, opstate definitions), and 214 non-ephemeral control plane datastore (e.g. dBGP FB-FIB with 215 config=TRUE; ephemeral=false, opstate which stores BGP Flow 216 Specification received by bgp speaker from BGP peers). 218 Each of these cases is differentiated by using an "if-feature" to 219 provide unique RIB under the routing instance. 221 Configuration RIBS 223 +-----------------------------------------+ 224 | routing instance | 225 +-------|-------------|----------------|--+ 226 | | | 227 | | | 228 +---------|----+ +-----|-----+ +--------|-----+ 229 |config-fb-rib | |i2rs-fb-rib| |bgp-fs-fb-rib | 230 | | | | | | 231 +------|-------+ +-----|-----+ +------|-------+ 232 |............:....|...............| 233 : (uses common structures 234 : in separate lists of FB-RIBs) 235 +--------|----+ 236 |fb-ribs* | 237 | | 238 +--|----------+ 239 | 241 Figure 3: Routing instance with three types of 242 Filter-FIB lists 244 The following section provides the high level yang structure diagrams 245 for the following levels of structures for both config/ephemeral 246 state and operationa. 248 o ietf-fb-rib - contains filter-based RIBS for config, I2RS FB-RIB, 249 and BGP Flow Specification. 251 o fb-rib - that contains the structures for the filter-based 252 grouping 254 o fb-rib-types - that contains the structures for groupings within 255 the filter-based RIBS 257 These structures are contained within the yang section in this draft. 259 The packet-reception ECA policy yang module is contained in the draft 260 [I-D.ietf-i2rs-pkt-eca-data-model]. 262 For those who desire more information regarding the logic behind the 263 I2RS Filter-Based RIB, please see the Informational Model at: 264 [I-D.ietf-i2rs-fb-rib-info-model]. 266 4.1. Top Level Yang Structure for ietf-fb-rib 268 The Top-level Yang structure for a global FB-RIB types (similar to 269 acl) is not defined for filter-based RIBS. The I2RS Filter-Based RIB 270 should be defined under this structure under a routing instance. The 271 three things under this RIB would be: configured Filter-Based RIB 272 (aka Policy routing), I2RS reboot Ephemeral Filter-Based RIB, and BGP 273 Flow Specification's Filter-Based RIB. All of these RIBs have 274 similar actions. 276 There are two types top-level structures for ietf-fb-ribs: config and 277 operational state. 279 The Top-level Yang structure for a global configuration of Filter- 280 Based RIBs are: 282 Augments rt:logical-network-elements:\ 283 :logical-network-element:network-instances: \ 284 network-instance 286 ietf-fb-rib module 287 +--rw ietf-fb-rib 288 +--rw default-instance-name string 289 +--rw default-router-id rt:router-id 290 +--rw config-fb-ribs 291 if-feature "config-filter-based-RIB"; 292 uses fb-ribs; 293 +--rw i2rs-fb-ribs 294 if-feature "I2RS-filter-based-RIB"; 295 uses fb-rib-t:fb-ribs; 296 +--rw bgp-fs-fb-ribs 297 if-feature "BGP-FS-filter-based-RIB"; 298 uses fb-rib-t:fb-ribs; 300 Figure 5: configuration state 302 The Top-level Yang structure for a global operational state of 303 Filter-Based RIBs are: 305 Augments rt:logical-network-elements:\ 306 :logical-network-element:network-instances: \ 307 network-instance 309 ietf-fb-rib module 310 +--rw ietf-fb-rib-opstate 311 +--rw default-instance-name string 312 +--rw default-router-id rt:router-id 313 +--rw config-fb-rib-opstate 314 if-feature "config-filter-based-RIB"; 315 uses fb-rib-t:fb-ribs-oper-status; 316 +--rw i2rs-fb-rib-opstate { 317 if-feature "I2RS-filter-based-RIB"; 318 uses fb-rib-t:fb-ribs-oper-status; 319 +--rw bgp-fs-fb-rib-opstate 320 if-feature "BGP-FS-filter-based-RIB"; 321 uses fb-rib-t:fb-ribs-oper-status; 323 Figure 5: operational state 325 4.2. Filter-Based RIB structures 327 The Top-level yang structures at the Filter-Based RIB level have two 328 types: configuration and operational state. 330 The Top-level Yang structure for the FB-RIB types is: 332 module: fb-rib-types: 333 +--rw fb-ribs 334 +--rw fb-rib* [rib-name] 335 | +--rw rib-name string 336 | | rw fb-type identityref / ephemeral or not 337 | +--rw rib-afi rt:address-family 338 | +--rw fb-rib-intf* [name] 339 | | +--rw name string 340 | | +--rw intf if:interface 341 | +--rw default-rib 342 | | +--rw rt-rib string 343 | | +--rw config-rib string; // config rib name 344 | | +--rw i2rs-rib:routing-instance:name 345 | | +--rw i2rs-rib string; //ephemeral rib name 346 | | +--rw bgp-instance-name string 347 | | +--rw bgp-rib string //session ephemeral 348 | +--rw fb-rib-refs 349 | | +--rw fb-rib-update-ref uint32 350 | | /count of writes 351 | +--rw instance-using* 352 | | device:networking-instance:\ 353 | | /networking-instance-name 354 | +--uses pkt-eca:pkt-eca-policy-set 355 | +--uses acls:access-lists 357 Figure 6: FB RIB Type Structure 359 Note: acls:access-lists is the list of ACL filters in 360 [I-D.ietf-netmod-acl-model]. 362 HIgh Level Yang 364 +--rw fb-ribs-oper-status 365 +--rw fb-rib-oper-status* [fb-rib-name] 366 uses pkt-eca:pkt-eca-opstate 368 5. yang models 370 5.1. Filter-Based RIB types 372 file "ietf-fb-rib-types@2017-03-13.yang" 373 module ietf-fb-rib-types { 375 yang-version "1"; 377 // namespace 378 namespace "urn:ietf:params:xml:ns:yang:ietf-fb-rib-types"; 379 prefix "fb-rib-t"; 380 import ietf-interfaces {prefix "if";} 381 import ietf-routing {prefix "rt";} 382 import ietf-pkt-eca-policy {prefix "pkt-eca";} 383 import ietf-access-control-lists {prefix "acls";} 385 // meta 386 organization 387 "IETF"; 389 contact 390 "email: shares@ndzh.com; 391 email: sriganesh.kini@ericsson.com 392 email: cengiz@packetdesign.com 393 email: ivandean@gmal.org 394 email: linda.dunbar@huawei.com; 395 email: russ@riw.com; 396 "; 398 description 399 "This module describes a YANG model for the I2RS 400 Filter-based RIB Types. These types 401 specify types for the Filter-Based RIB. 403 Copyright (c) 2015 IETF Trust and the persons identified as 404 the document authors. All rights reserved. 406 Redistribution and use in source and binary forms, with or 407 without modification, is permitted pursuant to, and subject 408 to the license terms contained in, the Simplified BSD 409 License set forth in Section 4.c of the IETF Trust's Legal 410 Provisions Relating to IETF Documents 411 (http://trustee.ietf.org/license-info)."; 413 revision "2017-03-13" { 414 description 415 "Filter-Based RIB protocol "; 416 reference "draft-ietf-i2rs-fb-rib-data-model-01"; 417 } 419 typedef fb-rib-type-def { 420 type identityref { 421 base "fb-rib-type"; 422 } 423 description 424 "This type is used to refer to 425 source of Filter-Based RIB: 427 configuration, I2RS, Flow-Spec."; 428 } 430 identity fb-rib-type { 431 description 432 "This type is used to refer to 433 source of Filter-Based RIB: 434 configuration, I2RS, Flow-Spec."; 435 } 437 identity fb-rib-config-type { 438 base fb-rib-type; 439 description 440 "config Filter-Based RIB"; 441 } 443 identity fb-rib-i2rs-ephemeral-type { 444 base fb-rib-type; 445 description 446 "I2RS Reboot ephemeral Filter-Based RIB"; 447 } 449 identity fb-rib-BGP-FS-type { 450 base fb-rib-type; 451 description 452 "BGP Flow Specification Filter-Based RIB"; 453 } 455 typedef fb-rib-policy-type-def { 456 type identityref { 457 base "fb-rib-policy-type"; 458 } 459 description 460 "This type is used to refer to FB-RIB type"; 461 } 463 identity fb-rib-policy-type { 464 description 465 "Types of filter-based policies 466 acl and eca"; 467 } 469 identity fb-rib-acl { 470 base fb-rib-policy-type; 471 description 472 "filter based policy based on access-lists"; 473 } 475 identity fb-bnp-eca-rules { 476 base fb-rib-policy-type; 477 description 478 "filter based policy based on qos forwarding rules"; 479 } 481 typedef fb-rules-status { 482 type identityref { 483 base "fb-rule-opstat"; 484 } 485 description 486 "This type is used to refer to FB-RIB type"; 487 } 489 identity fb-rule-opstat { 490 description 491 "operational statues for filter rules 492 inactive and active"; 493 } 495 identity fb-rule-inactive { 496 base fb-rule-opstat; 497 description 498 "policy rule is inactive"; 499 } 501 identity fb-rule-active { 502 base fb-rule-opstat; 503 description 504 "policy rule is active"; 505 } 507 grouping fb-rib-rule-order-status { 508 leaf statement-order { 509 type uint16; 510 description "order identifier"; 511 } 512 leaf statement-oper_status { 513 type fb-rules-status; 514 description "status of rule"; 515 } 516 description "filter-rib 517 policy rule order and status"; 518 } 520 grouping fb-rib-group-order-status { 521 leaf group-refcnt { 522 type uint16; 523 description "refcnt for this group"; 524 } 525 leaf group-installed { 526 type uint32; 527 description "number of rules installed"; 528 } 529 leaf group-matches { 530 type uint64; 531 description "number of matches by all 532 rules in group"; 533 } 534 description "fb-rib group list order 535 and status info."; 536 } 538 grouping fb-rib-updates { 539 leaf fb-rib-update-ref { 540 type uint64; 541 description 542 "number of updates to this FB RIB 543 since last reboot"; 544 } 545 description "FB-RIB update info"; 546 } 548 grouping default-fb-rib { 549 // configuration instance for default RIB 550 leaf config-instance { 551 type string; 552 description "instance name - string until 553 netmod fixes mount issues"; 554 } 555 leaf config-rib { 556 type string; 557 description "name of config default RIB"; 558 } 559 //I2RS default instance for default RIB 560 leaf i2rs-instance-name { 561 type string; 562 description "I2RS instance name"; 563 } 564 leaf i2rs-rib-name { 565 type string; 566 description "name of default I2RS RIB"; 567 } 568 leaf bgp-instance-name { 569 type string; 570 description "name of bgp instance"; 572 } 574 leaf bgp-fs-rib-name { 575 type string; 576 description "name of BGP 577 flow specification default RIB"; 578 } 579 description "default RIB for forwarding 580 if the policy match"; 581 } 583 grouping fb-ribs { 584 list fb-rib { 585 key fb-rib-name; 586 leaf fb-rib-name { 587 type string; 588 mandatory true; 589 description "RIB name"; 590 } 591 uses rt:address-family; 592 leaf fb-type { 593 type fb-rib-type-def; 594 description "type of RIB 595 list: config, I2RS rebooot 596 ephemeral, BGP Flow Specification 597 ephemeral. "; 598 } 599 list fb-rib-intf { 600 key "name"; 601 leaf name { 602 type if:interface-ref; 603 description 604 "A reference to the name of a 605 configured network layer 606 interface."; 607 } 608 description "This represents 609 the list of interfaces 610 associated with this routing instance. 611 The interface list helps constrain the 612 boundaries of packet forwarding. 613 Packets coming on these interfaces are 614 directly associated with the given routing 615 instance. The interface list contains a 616 list of identifiers, with each identifier 617 uniquely identifying an interface."; 618 } 619 uses default-fb-rib; // defaults ribs 620 uses fb-rib-updates; // write refs to this RIB 621 list instance-using { 622 key instance-name; 623 leaf instance-name { 624 type string; 625 description 626 " name of instance using this fb-rib 627 rt:routing-instance"; 628 } 629 description "instances using 630 this fb-rib"; 631 } 632 // ordered rule list + group list 633 uses pkt-eca:pkt-eca-policy-set; 635 // ordered acl list 636 uses acls:access-lists; 638 description "Configuration of 639 an filter-based rib list"; 640 } 641 description "fb-rib group"; 642 } 644 grouping fb-ribs-oper-status { 645 list fb-rib-oper-status { 646 key fb-rib-name; 647 leaf fb-rib-name { 648 type string; 649 description "rib name"; 650 } 651 leaf pkt-eca-cfged { 652 type boolean; 653 description 654 "pkt eca configured"; 655 } 656 leaf acls-cfged { 657 type boolean; 658 description 659 "acls configured"; 660 } 661 uses pkt-eca:pkt-eca-opstate; 662 description 663 "Configuration of 664 an filter-based rib list"; 665 } 666 description 667 "list of FB-FIB operational 668 status"; 669 } 671 } 673 675 5.2. FB-RIB 677 file "ietf-fb-rib@2017-03-13.yang" 678 module ietf-fb-rib { 679 yang-version "1"; 681 // namespace 682 namespace "urn:ietf:params:xml:ns:yang:ietf-fb-rib"; 683 // replace with iana namespace when assigned 684 prefix "fb-rib"; 686 // import some basic inet types 687 import ietf-yang-types {prefix "yang";} 688 import ietf-fb-rib-types { prefix "fb-rib-t";} 690 // meta 691 organization 692 "IETF"; 694 contact 695 "email: sriganesh.kini@ericsson.com 696 email: cengiz@packetdesign.com 697 email: anoop@ieee.duke.edu 698 email: ivandean@gmail.org 699 email: shares@ndzh.com; 700 email: linda.dunbar@huawei.com; 701 email: russ@riw.com; 702 "; 704 description 705 "This Top level module describes a YANG model for the I2RS 706 Filter-based RIB which is an global protocol independent FB RIB module."; 708 revision "2017-03-13" { 709 description "initial revision"; 710 reference "draft-ietf-i2rs-fb-rib-data-model-01"; 711 } 713 feature config-filter-based-RIB { 715 description 716 "This feature means that a node support 717 config filter-based rib."; 718 } 719 feature I2RS-filter-based-RIB { 720 description 721 "This feature means that a node support 722 I2RS filter-based rib."; 723 } 724 feature BGP-FS-filter-based-RIB { 725 description 726 "This feature means that a node support 727 BGP FS filter-based rib."; 728 } 730 container ietf-fb-rib { 731 presence "top-level structure for 732 configuration"; 733 leaf default-instance-name { 734 type string; 735 mandatory true; 736 description 737 "A routing instance is identified by its name, 738 INSTANCE_name. This MUST be unique across all routing 739 instances in a given network device."; 740 } 741 leaf default-router-id { 742 type yang:dotted-quad; 743 description "Default router id"; 744 } 745 container config-fb-rib { 746 if-feature config-filter-based-RIB; 747 uses fb-rib-t:fb-ribs; 748 description "config filter-based RIB"; 749 } 751 container i2rs-fb-rib { 752 if-feature I2RS-filter-based-RIB; 753 uses fb-rib-t:fb-ribs; 754 description "bgp-fs filter-based RIB"; 755 } 756 container bgp-fs-fb-rib { 757 if-feature BGP-FS-filter-based-RIB; 758 uses fb-rib-t:fb-ribs; 759 description "bgp fs filter-based RIB"; 760 } 761 description "fb-rib augments routing instance"; 763 } 765 container ietf-fb-rib-opstate { 766 presence "top-level structure for 767 op-state"; 768 config "false"; 769 leaf default-instance-name { 770 type string; 771 mandatory true; 772 description 773 "A routing instance is identified by its name, 774 INSTANCE_name. This MUST be unique across all routing 775 instances in a given network device."; 776 } 777 leaf default-router-id { 778 type yang:dotted-quad; 779 description "Default router id"; 780 } 781 container config-fb-rib-opstate { 782 if-feature config-filter-based-RIB; 783 uses fb-rib-t:fb-ribs-oper-status; 784 description "config filter-based RIB"; 785 } 786 container i2rs-fb-rib-opstate { 787 if-feature I2RS-filter-based-RIB; 788 uses fb-rib-t:fb-ribs-oper-status; 789 description "bgp-fs filter-based RIB"; 790 } 791 container bgp-fs-fb-rib-opstate { 792 if-feature BGP-FS-filter-based-RIB; 793 uses fb-rib-t:fb-ribs-oper-status; 794 description "bgp fs filter-based RIB"; 795 } 796 description "fb-rib augments routing instance"; 797 } 798 } 800 802 6. IANA Considerations 804 TBD 806 7. Security Considerations 808 A I2RS RIB is ephemeral data store that will dyanamically change 809 traffic paths set by the routing configuration. An I2RS FB-RIB 810 provides dynamic Event-Condition-Action policy that will further 811 change the operation of forwarding by allow dyanmic policy and 812 ephemeral RIBs to alter the traffic paths set by routing 813 configuration. Care must be taken in deployments to use the 814 appropriate security and operational control to make use of the tools 815 the I2RS RIB and I2RS FB-RIB provide. 817 8. References 819 8.1. Normative References: 821 [I-D.ietf-i2rs-pkt-eca-data-model] 822 Hares, S., Wu, Q., and R. White, "Filter-Based Packet 823 Forwarding ECA Policy", draft-ietf-i2rs-pkt-eca-data- 824 model-02 (work in progress), October 2016. 826 [I-D.ietf-i2rs-rib-data-model] 827 Wang, L., Ananthakrishnan, H., Chen, M., 828 amit.dass@ericsson.com, a., Kini, S., and N. Bahadur, "A 829 YANG Data Model for Routing Information Base (RIB)", 830 draft-ietf-i2rs-rib-data-model-07 (work in progress), 831 January 2017. 833 [I-D.ietf-netmod-acl-model] 834 Bogdanovic, D., Koushik, K., Huang, L., and D. Blair, 835 "Network Access Control List (ACL) YANG Data Model", 836 draft-ietf-netmod-acl-model-10 (work in progress), March 837 2017. 839 [I-D.ietf-netmod-routing-cfg] 840 Lhotka, L. and A. Lindem, "A YANG Data Model for Routing 841 Management", draft-ietf-netmod-routing-cfg-25 (work in 842 progress), November 2016. 844 8.2. Informative References 846 [I-D.ietf-i2rs-fb-rib-info-model] 847 Kini, S., Hares, S., Dunbar, L., Ghanwani, A., Krishnan, 848 R., Bogdanovic, D., and R. White, "Filter-Based RIB 849 Information Model", draft-ietf-i2rs-fb-rib-info-model-00 850 (work in progress), June 2016. 852 [I-D.ietf-i2rs-rib-info-model] 853 Bahadur, N., Kini, S., and J. Medved, "Routing Information 854 Base Info Model", draft-ietf-i2rs-rib-info-model-10 (work 855 in progress), December 2016. 857 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 858 Requirement Levels", BCP 14, RFC 2119, 859 DOI 10.17487/RFC2119, March 1997, 860 . 862 [RFC7921] Atlas, A., Halpern, J., Hares, S., Ward, D., and T. 863 Nadeau, "An Architecture for the Interface to the Routing 864 System", RFC 7921, DOI 10.17487/RFC7921, June 2016, 865 . 867 Authors' Addresses 869 Susan Hares 870 Huawei 871 7453 Hickory Hill 872 Saline, MI 48176 873 USA 875 Email: shares@ndzh.com 877 Sriganesh Kini 878 Ericsson 880 Email: sriganesh.kini@ericsson.com 882 Linda Dunbar 883 Huawei 884 USA 886 Email: linda.dunbar@huawei.com 888 Ram Krishnan 889 Dell 891 Email: Ramkri123@gmail.com 892 Dean Bogdanovic 893 Juniper Networks 894 Westford, MA 896 Email: ivandean@gmail.org 898 Russ White 899 Linkedin 901 Email: russ@riw.us