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

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/