draft-ietf-i2rs-rib-data-model-11.txt   draft-ietf-i2rs-rib-data-model-12.txt 
skipping to change at page 1, line 18 skipping to change at page 1, line 18
Ericsson Ericsson
H. Ananthakrishnan H. Ananthakrishnan
Packet Design Packet Design
S. Kini S. Kini
Individual Individual
N. Bahadur N. Bahadur
Bracket Computing Bracket Computing
April 21, 2018 April 21, 2018
A YANG Data Model for Routing Information Base (RIB) A YANG Data Model for Routing Information Base (RIB)
draft-ietf-i2rs-rib-data-model-11 draft-ietf-i2rs-rib-data-model-12
Abstract Abstract
This document defines a YANG data model for Routing Information Base This document defines a YANG data model for the Routing Information
(RIB) that aligns with the I2RS RIB information model. Base (RIB) that aligns with the I2RS RIB information model.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 2, line 49 skipping to change at page 2, line 49
8.2. Informative References . . . . . . . . . . . . . . . . . 67 8.2. Informative References . . . . . . . . . . . . . . . . . 67
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 68
1. Introduction 1. Introduction
The Interface to the Routing System (I2RS) [RFC7921] provides read The Interface to the Routing System (I2RS) [RFC7921] provides read
and write access to the information and state within the routing and write access to the information and state within the routing
process that exists inside the routing elements, this is achieved via process that exists inside the routing elements, this is achieved via
protocol message exchange between I2RS clients and I2RS agents protocol message exchange between I2RS clients and I2RS agents
associated with the routing system. One of the functions of I2RS is associated with the routing system. One of the functions of I2RS is
to read and write data of Routing Information Base (RIB). to read and write data of the Routing Information Base (RIB).
[I-D.ietf-i2rs-usecase-reqs-summary] introduces a set of RIB use [I-D.ietf-i2rs-usecase-reqs-summary] introduces a set of RIB use
cases. The RIB information model is defined in cases. The RIB information model is defined in
[I-D.ietf-i2rs-rib-info-model]. [I-D.ietf-i2rs-rib-info-model].
This document defines a YANG [RFC7950][RFC6991] data model for the This document defines a YANG [RFC7950][RFC6991] data model for the
RIB that satisfies the RIB use cases and aligns with the RIB RIB that satisfies the RIB use cases and aligns with the RIB
information model. information model.
1.1. Definitions and Acronyms 1.1. Definitions and Acronyms
skipping to change at page 18, line 24 skipping to change at page 18, line 24
o Installed (Indicates whether the route got installed in the FIB) ; o Installed (Indicates whether the route got installed in the FIB) ;
o Active (Indicates whether a route has at least one fully resolved o Active (Indicates whether a route has at least one fully resolved
nexthop and is therefore eligible for installation in the FIB) ; nexthop and is therefore eligible for installation in the FIB) ;
o Reason - E.g. Not authorized o Reason - E.g. Not authorized
2. Nexthop resolution status notification 2. Nexthop resolution status notification
Nexthops can be fully resolved or an unresolved. Nexthops can be fully resolved or unresolved.
A resolved nexthop has an adequate level of information to send the A resolved nexthop has an adequate level of information to send the
outgoing packet towards the destination by forwarding it on an outgoing packet towards the destination by forwarding it on an
interface to a directly connected neighbor. interface to a directly connected neighbor.
An unresolved nexthop is something that requires the RIB manager to An unresolved nexthop is something that requires the RIB manager to
determine the final resolved nexthop. In one example, a nexthop determine the final resolved nexthop. In one example, a nexthop
could be an IP address. The RIB manager would resolve how to reach could be an IP address. The RIB manager would resolve how to reach
that IP address, e.g. by checking if that particular IP address is that IP address, e.g. by checking if that particular IP address is
reachable by regular IP forwarding or by a MPLS tunnel or by both. reachable by regular IP forwarding or by a MPLS tunnel or by both.
skipping to change at page 24, line 45 skipping to change at page 24, line 45
base "ttl-action"; base "ttl-action";
description description
"Decrease TTL by one and copy the TTL "Decrease TTL by one and copy the TTL
to the inner header."; to the inner header.";
} }
identity decrease-and-copy-to-next { identity decrease-and-copy-to-next {
base "ttl-action"; base "ttl-action";
description description
"Decrease TTL by one and copy the TTL "Decrease TTL by one and copy the TTL
to the next header.For example: when to the next header. For example: when
MPLS label swapping, decrease the TTL MPLS label swapping, decrease the TTL
of the in_label and copy it to the of the in_label and copy it to the
out_label."; out_label.";
} }
typedef ttl-action-definition { typedef ttl-action-definition {
type identityref { type identityref {
base "ttl-action"; base "ttl-action";
} }
description description
skipping to change at page 33, line 16 skipping to change at page 33, line 16
nexthops and download them, as for how to select nexthops and download them, as for how to select
the nexthops is left to the implementations."; the nexthops is left to the implementations.";
} }
typedef nexthop-lb-weight-definition { typedef nexthop-lb-weight-definition {
type uint8 { type uint8 {
range "1..99"; range "1..99";
} }
description description
"Nexthop-lb-weight is used for load-balancing. "Nexthop-lb-weight is used for load-balancing.
Each list member MUST be assigned a weight Each list member SHOULD be assigned a weight
between 1 and 99. The weight determines the between 1 and 99. The weight determines the
proportion of traffic to be sent over a nexthop proportion of traffic to be sent over a nexthop
used for forwarding as a ratio of the weight of used for forwarding as a ratio of the weight of
this nexthop divided by the sum of the weights this nexthop divided by the sum of the weights
of all the nexthops of this route that are used of all the nexthops of this route that are used
for forwarding.To perform equal load-balancing, for forwarding. To perform equal load-balancing,
one MAY specify a weight of 0 for all the member one MAY specify a weight of 0 for all the member
nexthops. The value 0 is reserved for equal nexthops. The value 0 is reserved for equal
load-balancing and if applied, MUST be applied load-balancing and if applied, MUST be applied
to all member nexthops. to all member nexthops.
Note: The weight of 0 is specially because of Note: The weight of 0 is specially because of
historical reasons. It's typically used in historical reasons. It's typically used in
hardware devices to signify ECMP"; hardware devices to signify ECMP";
} }
typedef nexthop-ref { typedef nexthop-ref {
type leafref { type leafref {
path "/iir:routing-instance" + path "/iir:routing-instance" +
skipping to change at page 46, line 24 skipping to change at page 46, line 24
uses ipv6-header; uses ipv6-header;
} }
} }
leaf virtual-subnet-id { leaf virtual-subnet-id {
type uint32; type uint32;
mandatory true; mandatory true;
description description
"The subnet identifier of the NvGRE header."; "The subnet identifier of the NvGRE header.";
} }
leaf flow-id { leaf flow-id {
type uint16; type uint8;
description description
"The flow identifier of the NvGRE header."; "The flow identifier of the NvGRE header.";
} }
} }
grouping vxlan-header { grouping vxlan-header {
description description
"The VXLAN encapsulation header information."; "The VXLAN encapsulation header information.";
choice vxlan-type { choice vxlan-type {
description description
 End of changes. 9 change blocks. 
10 lines changed or deleted 10 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/