--- 1/draft-ietf-i2rs-rib-info-model-11.txt 2017-11-22 19:13:09.562744989 -0800 +++ 2/draft-ietf-i2rs-rib-info-model-12.txt 2017-11-22 19:13:09.618746326 -0800 @@ -1,21 +1,21 @@ Network Working Group N. Bahadur, Ed. Internet-Draft Bracket Computing Intended status: Informational S. Kini, Ed. -Expires: December 18, 2017 +Expires: May 26, 2018 J. Medved Cisco - June 16, 2017 + November 22, 2017 Routing Information Base Info Model - draft-ietf-i2rs-rib-info-model-11 + draft-ietf-i2rs-rib-info-model-12 Abstract Routing and routing functions in enterprise and carrier networks are typically performed by network devices (routers and switches) using a routing information base (RIB). Protocols and configuration push data into the RIB and the RIB manager installs state into the hardware; for packet forwarding. This draft specifies a information model for the RIB to enable defining a standardized data model. Such a data model can be used to define an interface to the RIB from an @@ -31,21 +31,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on December 18, 2017. + This Internet-Draft will expire on May 26, 2018. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -57,51 +57,51 @@ Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Conventions used in this document . . . . . . . . . . . . 6 2. RIB data . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1. RIB definition . . . . . . . . . . . . . . . . . . . . . . 6 2.2. Routing instance . . . . . . . . . . . . . . . . . . . . . 7 2.3. Route . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4. Nexthop . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 2.4.1. Nexthop types . . . . . . . . . . . . . . . . . . . . 11 - 2.4.2. Nexthop list attributes . . . . . . . . . . . . . . . 12 - 2.4.3. Nexthop content . . . . . . . . . . . . . . . . . . . 12 - 2.4.4. Special nexthops . . . . . . . . . . . . . . . . . . . 13 + 2.4.1. Nexthop types . . . . . . . . . . . . . . . . . . . . 12 + 2.4.2. Nexthop list attributes . . . . . . . . . . . . . . . 13 + 2.4.3. Nexthop content . . . . . . . . . . . . . . . . . . . 13 + 2.4.4. Special nexthops . . . . . . . . . . . . . . . . . . . 14 3. Reading from the RIB . . . . . . . . . . . . . . . . . . . . . 14 - 4. Writing to the RIB . . . . . . . . . . . . . . . . . . . . . . 14 - 5. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 14 - 6. RIB grammar . . . . . . . . . . . . . . . . . . . . . . . . . 15 + 4. Writing to the RIB . . . . . . . . . . . . . . . . . . . . . . 15 + 5. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 15 + 6. RIB grammar . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.1. Nexthop grammar explained . . . . . . . . . . . . . . . . 18 - 7. Using the RIB grammar . . . . . . . . . . . . . . . . . . . . 18 - 7.1. Using route preference . . . . . . . . . . . . . . . . . . 18 - 7.2. Using different nexthops types . . . . . . . . . . . . . . 18 - 7.2.1. Tunnel nexthops . . . . . . . . . . . . . . . . . . . 18 + 7. Using the RIB grammar . . . . . . . . . . . . . . . . . . . . 19 + 7.1. Using route preference . . . . . . . . . . . . . . . . . . 19 + 7.2. Using different nexthops types . . . . . . . . . . . . . . 19 + 7.2.1. Tunnel nexthops . . . . . . . . . . . . . . . . . . . 19 7.2.2. Replication lists . . . . . . . . . . . . . . . . . . 19 - 7.2.3. Weighted lists . . . . . . . . . . . . . . . . . . . . 19 + 7.2.3. Weighted lists . . . . . . . . . . . . . . . . . . . . 20 7.2.4. Protection . . . . . . . . . . . . . . . . . . . . . . 20 - 7.2.5. Nexthop chains . . . . . . . . . . . . . . . . . . . . 20 - 7.2.6. Lists of lists . . . . . . . . . . . . . . . . . . . . 21 - 7.3. Performing multicast . . . . . . . . . . . . . . . . . . . 22 - 8. RIB operations at scale . . . . . . . . . . . . . . . . . . . 23 - 8.1. RIB reads . . . . . . . . . . . . . . . . . . . . . . . . 23 - 8.2. RIB writes . . . . . . . . . . . . . . . . . . . . . . . . 23 - 8.3. RIB events and notifications . . . . . . . . . . . . . . . 23 - 9. Security Considerations . . . . . . . . . . . . . . . . . . . 23 - 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 - 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 24 - 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24 - 12.1. Normative References . . . . . . . . . . . . . . . . . . . 24 - 12.2. Informative References . . . . . . . . . . . . . . . . . . 24 + 7.2.5. Nexthop chains . . . . . . . . . . . . . . . . . . . . 21 + 7.2.6. Lists of lists . . . . . . . . . . . . . . . . . . . . 22 + 7.3. Performing multicast . . . . . . . . . . . . . . . . . . . 23 + 8. RIB operations at scale . . . . . . . . . . . . . . . . . . . 24 + 8.1. RIB reads . . . . . . . . . . . . . . . . . . . . . . . . 24 + 8.2. RIB writes . . . . . . . . . . . . . . . . . . . . . . . . 24 + 8.3. RIB events and notifications . . . . . . . . . . . . . . . 24 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 24 + 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 + 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 + 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 + 12.1. Normative References . . . . . . . . . . . . . . . . . . . 25 + 12.2. Informative References . . . . . . . . . . . . . . . . . . 25 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26 1. Introduction Routing and routing functions in enterprise and carrier networks are traditionally performed in network devices. Traditionally routers run routing protocols and the routing protocols (along with static config) populate the Routing information base (RIB) of the router. The RIB is managed by the RIB manager and the RIB manager provides a north-bound interface to its clients i.e. the routing protocols to insert routes into the RIB. The RIB manager consults the RIB and @@ -315,22 +315,24 @@ | +-------+-------+-------+--------+ | | | | | | | | | | IPv4 IPv6 MPLS MAC Interface Figure 3: Route model This document specifies the following match types: - o IPv4: Match on destination IP address in the IPv4 header - o IPv6: Match on destination IP address in the IPv6 header + o IPv4: Match on destination and/or source IP address in the IPv4 + header + o IPv6: Match on destination and/or source IP address in the IPv6 + header o MPLS: Match on a MPLS label at the top of the MPLS label stack o MAC: Match on MAC destination addresses in the ethernet header o Interface: Match on incoming interface of the packet o IP multicast: Match on (S, G) or (*, G), where S and G are IP addresses Each route MUST have associated with it the following mandatory route attributes. o ROUTE_PREFERENCE: This is a numerical value that allows for comparing routes from different protocols. Static configuration @@ -1030,57 +1033,57 @@ 2013 - Wes George, Chris Liljenstolpe, Jeff Tantsura, Susan Hares and Fabian Schneider. 12. References 12.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ RFC2119, March 1997, - . + . 12.2. Informative References [I-D.hares-i2rs-use-case-vn-vc] Hares, S. and M. Chen, "Use Cases for Virtual Connections on Demand (VCoD) and Virtual Network on Demand (VNoD) using Interface to Routing System", draft-hares-i2rs-use-case-vn-vc-03 (work in progress), July 2014. [I-D.white-i2rs-use-case] White, R., Hares, S., and A. Retana, "Protocol Independent Use Cases for an Interface to the Routing System", draft-white-i2rs-use-case-06 (work in progress), July 2014. [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", RFC 4915, DOI 10.17487/RFC4915, June 2007, - . + . [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)", RFC 5120, DOI 10.17487/ RFC5120, February 2008, - . + . [RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications", RFC 5511, DOI 10.17487/RFC5511, - April 2009, . + April 2009, . [RFC7920] Atlas, A., Ed., Nadeau, T., Ed., and D. Ward, "Problem Statement for the Interface to the Routing System", RFC 7920, DOI 10.17487/RFC7920, June 2016, - . + . Authors' Addresses Nitin Bahadur (editor) Bracket Computing 150 West Evelyn Ave, Suite 200 Mountain View, CA 94041 US Email: nitin_bahadur@yahoo.com