< draft-ietf-rtgwg-policy-model-04.txt   draft-ietf-rtgwg-policy-model-05.txt >
RTGWG Y. Qu RTGWG Y. Qu
Internet-Draft Huawei Internet-Draft Huawei
Intended status: Informational J. Tantsura Intended status: Informational J. Tantsura
Expires: April 22, 2019 Apstra Expires: July 11, 2019 Apstra
A. Lindem A. Lindem
Cisco Cisco
X. Liu X. Liu
Volta Networks Volta Networks
October 19, 2018 January 7, 2019
A YANG Data Model for Routing Policy Management A YANG Data Model for Routing Policy Management
draft-ietf-rtgwg-policy-model-04 draft-ietf-rtgwg-policy-model-05
Abstract Abstract
This document defines a YANG data model for configuring and managing This document defines a YANG data model for configuring and managing
routing policies in a vendor-neutral way and based on actual routing policies in a vendor-neutral way and based on actual
operational practice. The model provides a generic policy framework operational practice. The model provides a generic policy framework
which can be augmented with protocol-specific policy configuration. which can be augmented with protocol-specific policy configuration.
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
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 https://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 April 22, 2019. This Internet-Draft will expire on July 11, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Goals and approach . . . . . . . . . . . . . . . . . . . 3 1.1. Goals and approach . . . . . . . . . . . . . . . . . . . 3
2. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 2. Terminology and Notation . . . . . . . . . . . . . . . . . . 3
2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 2.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4
3. Model overview . . . . . . . . . . . . . . . . . . . . . . . 5 3. Model overview . . . . . . . . . . . . . . . . . . . . . . . 5
4. Route policy expression . . . . . . . . . . . . . . . . . . . 5 4. Route policy expression . . . . . . . . . . . . . . . . . . . 5
4.1. Defined sets for policy matching . . . . . . . . . . . . 6 4.1. Defined sets for policy matching . . . . . . . . . . . . 6
4.2. Policy conditions . . . . . . . . . . . . . . . . . . . . 7 4.2. Policy conditions . . . . . . . . . . . . . . . . . . . . 7
4.3. Policy actions . . . . . . . . . . . . . . . . . . . . . 8 4.3. Policy actions . . . . . . . . . . . . . . . . . . . . . 8
4.4. Policy subroutines . . . . . . . . . . . . . . . . . . . 9 4.4. Policy subroutines . . . . . . . . . . . . . . . . . . . 9
5. Policy evaluation . . . . . . . . . . . . . . . . . . . . . . 9 5. Policy evaluation . . . . . . . . . . . . . . . . . . . . . . 10
6. Applying routing policy . . . . . . . . . . . . . . . . . . . 10 6. Applying routing policy . . . . . . . . . . . . . . . . . . . 10
7. Routing protocol-specific policies . . . . . . . . . . . . . 10 7. Routing protocol-specific policies . . . . . . . . . . . . . 11
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
10. YANG modules . . . . . . . . . . . . . . . . . . . . . . . . 13 10. YANG modules . . . . . . . . . . . . . . . . . . . . . . . . 14
10.1. Routing policy model . . . . . . . . . . . . . . . . . . 13 10.1. Routing policy model . . . . . . . . . . . . . . . . . . 14
11. Policy examples . . . . . . . . . . . . . . . . . . . . . . . 30 11. Policy examples . . . . . . . . . . . . . . . . . . . . . . . 30
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30
12.1. Normative references . . . . . . . . . . . . . . . . . . 30 12.1. Normative references . . . . . . . . . . . . . . . . . . 31
12.2. Informative references . . . . . . . . . . . . . . . . . 31 12.2. Informative references . . . . . . . . . . . . . . . . . 32
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 31 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 32
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32
1. Introduction 1. Introduction
This document describes a YANG [RFC6020] [RFC7950] data model for This document describes a YANG [RFC6020] [RFC7950] data model for
routing policy configuration based on operational usage and best routing policy configuration based on operational usage and best
practices in a variety of service provider networks. The model is practices in a variety of service provider networks. The model is
intended to be vendor-neutral, in order to allow operators to manage intended to be vendor-neutral, in order to allow operators to manage
policy configuration in a consistent, intuitive way in heterogeneous policy configuration in a consistent, intuitive way in heterogeneous
environments with routers supplied by multiple vendors. environments with routers supplied by multiple vendors.
skipping to change at page 9, line 12 skipping to change at page 9, line 12
generic actions in addition to the basic route disposition actions. generic actions in addition to the basic route disposition actions.
These are shown below. These are shown below.
+--rw routing-policy +--rw routing-policy
+--rw policy-definitions +--rw policy-definitions
+--rw policy-definition* [name] +--rw policy-definition* [name]
+--rw statements +--rw statements
+--rw statement* [name] +--rw statement* [name]
+--rw actions +--rw actions
+--rw policy-result? policy-result-type +--rw policy-result? policy-result-type
+--rw set-metric? uint32 +--rw set-metric? union
+--rw set-preference? uint16 +--rw set-preference? union
4.4. Policy subroutines 4.4. Policy subroutines
Policy 'subroutines' (or nested policies) are supported by allowing Policy 'subroutines' (or nested policies) are supported by allowing
policy statement conditions to reference other policy definitions policy statement conditions to reference other policy definitions
using the call-policy configuration. Called policies apply their using the call-policy configuration. Called policies apply their
conditions and actions before returning to the calling policy conditions and actions before returning to the calling policy
statement and resuming evaluation. The outcome of the called policy statement and resuming evaluation. The outcome of the called policy
affects the evaluation of the calling policy. If the called policy affects the evaluation of the calling policy. If the called policy
results in an accept-route (either explicit or by default), then the results in an accept-route, then the subroutine returns an effective
subroutine returns an effective boolean true value to the calling boolean true value to the calling policy. For the calling policy,
policy. For the calling policy, this is equivalent to a condition this is equivalent to a condition statement evaluating to a true
statement evaluating to a true value and evaluation of the policy value and evaluation of the policy continues (see Section 5). Note
continues (see Section 5). Note that the called policy may also that the called policy may also modify attributes of the route in its
modify attributes of the route in its action statements. Similarly, action statements. Similarly, a reject-route action returns false
a reject-route action returns false and the calling policy evaluation and the calling policy evaluation will be affected accordingly. When
will be affected accordingly. Consequently, a subroutine cannot the end of the subroutine policy chain is reached, the default route
explicitly accept or reject a route. Rather it merely provides an disposition action is returned (i.e., boolean false for reject-route
indication that 'call-policy' condition returns boolean true or false unless an alternate default action is specified for the chain).
indicating whether or not the condition matches. Route acceptance or Consequently, a subroutine cannot explicitly accept or reject a
rejection is solely determined by the top-level policy. route. Rather it merely provides an indication that 'call-policy'
condition returns boolean true or false indicating whether or not the
condition matches. Route acceptance or rejection is solely
determined by the top-level policy.
Note that the called policy may itself call other policies (subject Note that the called policy may itself call other policies (subject
to implementation limitations). The model does not prescribe a to implementation limitations). The model does not prescribe a
nesting depth because this varies among implementations. For nesting depth because this varies among implementations. For
example, some major implementation may only support a single level of example, some major implementation may only support a single level of
subroutine recursion. As with any routing policy construction, care subroutine recursion. As with any routing policy construction, care
must be taken with nested policies to ensure that the effective must be taken with nested policies to ensure that the effective
return value results in the intended behavior. Nested policies are a return value results in the intended behavior. Nested policies are a
convenience in many routing policy constructions but creating convenience in many routing policy constructions but creating
policies nested beyond a small number of levels (e.g., 2-3) should be policies nested beyond a small number of levels (e.g., 2-3) should be
discouraged. discouraged.
5. Policy evaluation 5. Policy evaluation
Evaluation of each policy definition proceeds by evaluating its Evaluation of each policy definition proceeds by evaluating its
corresponding individual policy statements in order. When a corresponding individual policy statements in order. When all the
condition statement in a policy statement is satisfied, the condition statements in a policy statement are satisfied, the
corresponding action statement is executed. If the action statement corresponding action statements are executed. If the actions include
has either accept-route or reject-route actions, evaluation of the either accept-route or reject-route actions, evaluation of the
current policy definition stops, and no further policy definitions in current policy definition stops, and no further policy definitions in
the chain are evaluated. the chain are evaluated.
If the condition is not satisfied, then evaluation proceeds to the If the conditions are not satisfied, then evaluation proceeds to the
next policy statement. If none of the policy statement conditions next policy statement. If none of the policy statement conditions
are satisfied, then evaluation of the current policy definition are satisfied, then evaluation of the current policy definition
stops, and the next policy definition in the chain is evaluated. stops, and the next policy definition in the chain is evaluated.
When the end of the policy chain is reached, the default route When the end of the policy chain is reached, the default route
disposition action is performed (i.e., reject-route unless an disposition action is performed (i.e., reject-route unless an
alternate default action is specified for the chain). alternate default action is specified for the chain).
Note that the route's pre-policy attributes are always used for
testing policy statement conditions. In other words, if actions
modify the policy application specific attributes, those
modifications are not used for policy statement conditions.
6. Applying routing policy 6. Applying routing policy
Routing policy is applied by defining and attaching policy chains in Routing policy is applied by defining and attaching policy chains in
various routing contexts. Policy chains are sequences of policy various routing contexts. Policy chains are sequences of policy
definitions (described in Section 4) that have an associated definitions (described in Section 4) that have an associated
direction (import or export) with respect to the routing context in direction (import or export) with respect to the routing context in
which they are defined. The routing policy model defines an apply- which they are defined. The routing policy model defines an apply-
policy grouping that can be imported and used by other models. As policy grouping that can be imported and used by other models. As
shown below, it allows definition of import and export policy chains, shown below, it allows definition of import and export policy chains,
as well as specifying the default route disposition to be used when as well as specifying the default route disposition to be used when
skipping to change at page 12, line 33 skipping to change at page 12, line 48
| +--rw bgp-pol:match-ext-community-set | +--rw bgp-pol:match-ext-community-set
| | +--rw bgp-pol:ext-community-set? | | +--rw bgp-pol:ext-community-set?
| | +--rw bgp-pol:match-set-options? | | +--rw bgp-pol:match-set-options?
| | match-set-options-type | | match-set-options-type
| +--rw bgp-pol:match-as-path-set | +--rw bgp-pol:match-as-path-set
| +--rw bgp-pol:as-path-set? | +--rw bgp-pol:as-path-set?
| +--rw bgp-pol:match-set-options? | +--rw bgp-pol:match-set-options?
| match-set-options-type | match-set-options-type
+--rw actions +--rw actions
+--rw policy-result? policy-result-type +--rw policy-result? policy-result-type
+--rw set-metric? uint32 +--rw set-metric? union
+--rw set-preference? uint16 +--rw set-preference? union
+--rw bgp-pol:bgp-actions +--rw bgp-pol:bgp-actions
+--rw bgp-pol:set-route-origin? +--rw bgp-pol:set-route-origin?
bgp-types:bgp-origin-attr-type bgp-types:bgp-origin-attr-type
+--rw bgp-pol:set-local-pref? uint32 +--rw bgp-pol:set-local-pref? uint32
+--rw bgp-pol:set-next-hop? bgp-next-hop-type +--rw bgp-pol:set-next-hop? bgp-next-hop-type
+--rw bgp-pol:set-med? bgp-set-med-type +--rw bgp-pol:set-med? bgp-set-med-type
+--rw bgp-pol:set-as-path-prepend +--rw bgp-pol:set-as-path-prepend
| +--rw bgp-pol:repeat-n? uint8 | +--rw bgp-pol:repeat-n? uint8
+--rw bgp-pol:set-community +--rw bgp-pol:set-community
| +--rw bgp-pol:method? enumeration | +--rw bgp-pol:method? enumeration
skipping to change at page 13, line 45 skipping to change at page 14, line 12
YANG modules will be registered in the "YANG Module Names" registry YANG modules will be registered in the "YANG Module Names" registry
[RFC6020]. [RFC6020].
10. YANG modules 10. YANG modules
The routing policy model is described by the YANG modules in the The routing policy model is described by the YANG modules in the
sections below. sections below.
10.1. Routing policy model 10.1. Routing policy model
<CODE BEGINS> file "ietf-routing-policy@2018-10-19.yang" <CODE BEGINS> file "ietf-routing-policy@2019-01-07.yang"
module ietf-routing-policy { module ietf-routing-policy {
yang-version "1.1"; yang-version "1.1";
namespace "urn:ietf:params:xml:ns:yang:ietf-routing-policy"; namespace "urn:ietf:params:xml:ns:yang:ietf-routing-policy";
prefix rt-pol; prefix rt-pol;
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
} }
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
} }
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix "if";
skipping to change at page 15, line 5 skipping to change at page 15, line 19
<mailto:xufeng_liu@jabil.com> <mailto:xufeng_liu@jabil.com>
Anees Shaikh Anees Shaikh
<mailto:aashaikh@google.com>"; <mailto:aashaikh@google.com>";
description description
"This module describes a YANG model for routing policy "This module describes a YANG model for routing policy
configuration. It is a limited subset of all of the policy configuration. It is a limited subset of all of the policy
configuration parameters available in the variety of vendor configuration parameters available in the variety of vendor
implementations, but supports widely used constructs for implementations, but supports widely used constructs for
managing how routes are imported, exported, and modified across managing how routes are imported, exported, and modified across
different routing protocols. This module is intended to be used different routing protocols. This module is intended to be
in conjunction with routing protocol configuration modules used in conjunction with routing protocol configuration modules
(e.g., BGP) defined in other models. (e.g., BGP) defined in other models.
Route policy expression: Route policy expression:
Policies are expressed as a set of top-level policy definitions, Policies are expressed as a set of top-level policy
each of which consists of a sequence of policy statements. definitions, each of which consists of a sequence of policy
Policy statements consist of simple condition-action tuples. statements. Policy statements consist of simple
Conditions may include mutiple match or comparison operations, condition-action tuples. Conditions may include mutiple match
and similarly actions may be multitude of changes to route or comparison operations, and similarly actions may be
attributes or a final disposition of accepting or rejecting the multitude of changes to route attributes or a final disposition
route. of accepting or rejecting the route.
Route policy evaluation: Route policy evaluation:
Policy definitions are referenced in routing protocol Policy definitions are referenced in routing protocol
configurations using import and export configuration statements. configurations using import and export configuration
The arguments are members of an ordered list of named policy statements. The arguments are members of an ordered list of
definitions which comprise a policy chain, and optionally, an named policy definitions which comprise a policy chain, and
explicit default policy action (i.e., reject or accept). optionally, an explicit default policy action (i.e., reject
or accept).
Evaluation of each policy definition proceeds by evaluating its Evaluation of each policy definition proceeds by evaluating its
corresponding individual policy statements in order. When a corresponding individual policy statements in order. When a
condition statement in a policy statement is satisfied, the condition statement in a policy statement is satisfied, the
corresponding action statement is executed. If the action corresponding action statement is executed. If the action
statement has either accept-route or reject-route actions, statement has either accept-route or reject-route actions,
policy evaluation of the current policy definition stops, and policy evaluation of the current policy definition stops, and
no further policy definitions in the chain are evaluated. no further policy definitions in the chain are evaluated.
If the condition is not satisfied, then evaluation proceeds to If the condition is not satisfied, then evaluation proceeds to
the next policy statement. If none of the policy statement the next policy statement. If none of the policy statement
conditions are satisfied, then evaluation of the current policy conditions are satisfied, then evaluation of the current policy
definition stops, and the next policy definition in the chain is definition stops, and the next policy definition in the chain
evaluated. When the end of the policy chain is reached, the is evaluated. When the end of the policy chain is reached, the
default route disposition action is performed (i.e., default route disposition action is performed (i.e.,
reject-route unless an alternate default action is specified reject-route unless an alternate default action is specified
for the chain). for the chain).
Policy 'subroutines' (or nested policies) are supported by Policy 'subroutines' (or nested policies) are supported by
allowing policy statement conditions to reference another policy allowing policy statement conditions to reference another
definition which applies conditions and actions from the policy definition which applies conditions and actions from
referenced policy before returning to the calling policy the referenced policy before returning to the calling policy
statement and resuming evaluation. If the called policy statement and resuming evaluation. If the called policy
results in an accept-route (either explicit or by default), then results in an accept-route (either explicit or by default),
the subroutine returns an effective true value to the calling then the subroutine returns an effective true value to the
policy. Similarly, a reject-route action returns false. If the calling policy. Similarly, a reject-route action returns
subroutine returns true, the calling policy continues to false. If the subroutine returns true, the calling policy
evaluate the remaining conditions (using a modified route if the continues to evaluate the remaining conditions (using a
subroutine performed any changes to the route)."; modified route if the subroutine performed any changes to the
route).";
revision "2018-10-19" { revision "2019-01-07" {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Routing Policy Configuration Model for Service "RFC XXXX: Routing Policy Configuration Model for Service
Provider Networks"; Provider Networks";
} }
// typedef statements // typedef statements
typedef default-policy-type { typedef default-policy-type {
skipping to change at page 24, line 25 skipping to change at page 24, line 43
} }
} }
grouping tag-set-condition { grouping tag-set-condition {
description description
"This grouping provides tag-set conditions"; "This grouping provides tag-set conditions";
container match-tag-set { container match-tag-set {
leaf tag-set { leaf tag-set {
type leafref { type leafref {
path "../../../../../../../defined-sets/tag-sets/tag-set" + path "../../../../../../../defined-sets/tag-sets" +
"/name"; "/tag-set/name";
require-instance true; require-instance true;
} }
description "References a defined tag set"; description "References a defined tag set";
} }
uses match-set-options-restricted-group; uses match-set-options-restricted-group;
description description
"Match a referenced tag set according to the logic defined "Match a referenced tag set according to the logic defined
in the match-options-set leaf"; in the match-options-set leaf";
} }
skipping to change at page 30, line 27 skipping to change at page 31, line 4
11. Policy examples 11. Policy examples
Below we show an example of XML-encoded configuration data using the Below we show an example of XML-encoded configuration data using the
routing policy and BGP models to illustrate both how policies are routing policy and BGP models to illustrate both how policies are
defined, and also how they can be applied. Note that the XML has defined, and also how they can be applied. Note that the XML has
been simplified for readability. been simplified for readability.
<?yfile include="file:///tmp/routing-policy-example-draft.xml"?> <?yfile include="file:///tmp/routing-policy-example-draft.xml"?>
12. References 12. References
12.1. Normative references 12.1. Normative references
[I-D.ietf-netmod-intf-ext-yang]
Wilton, R., Ball, D., tsingh@juniper.net, t., and S.
Sivaraj, "Common Interface Extension YANG Data Models",
draft-ietf-netmod-intf-ext-yang-06 (work in progress),
July 2018.
[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, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-
<https://www.rfc-editor.org/info/rfc2119>. editor.org/info/rfc2119>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-
<https://www.rfc-editor.org/info/rfc3688>. editor.org/info/rfc3688>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006, DOI 10.17487/RFC4271, January 2006, <https://www.rfc-
<https://www.rfc-editor.org/info/rfc4271>. editor.org/info/rfc4271>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-
<https://www.rfc-editor.org/info/rfc6020>. editor.org/info/rfc6020>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013, RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>. <https://www.rfc-editor.org/info/rfc6991>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>. <https://www.rfc-editor.org/info/rfc7950>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
skipping to change at page 31, line 37 skipping to change at page 32, line 7
and R. Wilton, "Network Management Datastore Architecture and R. Wilton, "Network Management Datastore Architecture
(NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
<https://www.rfc-editor.org/info/rfc8342>. <https://www.rfc-editor.org/info/rfc8342>.
[RFC8343] Bjorklund, M., "A YANG Data Model for Interface [RFC8343] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
<https://www.rfc-editor.org/info/rfc8343>. <https://www.rfc-editor.org/info/rfc8343>.
[RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for
Routing Management (NMDA Version)", RFC 8349, Routing Management (NMDA Version)", RFC 8349,
DOI 10.17487/RFC8349, March 2018, DOI 10.17487/RFC8349, March 2018, <https://www.rfc-
<https://www.rfc-editor.org/info/rfc8349>. editor.org/info/rfc8349>.
[I-D.ietf-netmod-intf-ext-yang]
Wilton, R., Ball, D., tsingh@juniper.net, t., and S.
Sivaraj, "Common Interface Extension YANG Data Models",
draft-ietf-netmod-intf-ext-yang-06 (work in progress),
July 2018.
12.2. Informative references 12.2. Informative references
[I-D.ietf-idr-bgp-model] [I-D.ietf-idr-bgp-model]
Patel, K., Jethanandani, M., and S. Hares, "BGP Model for Patel, K., Jethanandani, M., and S. Hares, "BGP Model for
Service Provider Networks", draft-ietf-idr-bgp-model-03 Service Provider Networks", draft-ietf-idr-bgp-model-03
(work in progress), May 2018. (work in progress), May 2018.
Appendix A. Acknowledgements Appendix A. Acknowledgements
The routing policy module defined in this draft is based on the The routing policy module defined in this draft is based on the
OpenConfig route policy model. The authors would like to thank to OpenConfig route policy model. The authors would like to thank to
OpenConfig for their contributions, especially Anees Shaikh, Rob OpenConfig for their contributions, especially Anees Shaikh, Rob
Shakir, Kevin D'Souza, and Chris Chase. Shakir, Kevin D'Souza, and Chris Chase.
The authors are grateful for valuable contributions to this document The authors are grateful for valuable contributions to this document
and the associated models from: Ebben Aires, Luyuan Fang, Josh and the associated models from: Ebben Aires, Luyuan Fang, Josh
George, Stephane Litkowski, Ina Minei, Carl Moberg, Eric Osborne, George, Stephane Litkowski, Ina Minei, Carl Moberg, Eric Osborne,
Steve Padgett, Juergen Schoenwaelder, Jim Uttaro, and Russ White. Steve Padgett, Juergen Schoenwaelder, Jim Uttaro, Russ White, and
John Heasley.
Authors' Addresses Authors' Addresses
Yingzhen Qu Yingzhen Qu
Huawei Huawei
2330 Central Expressway 2330 Central Expressway
Santa Clara CA 95050 Santa Clara CA 95050
USA USA
Email: yingzhen.qu@huawei.com Email: yingzhen.qu@huawei.com
 End of changes. 35 change blocks. 
81 lines changed or deleted 92 lines changed or added

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