BIER WG Ran. Chen
Internet-Draft Fangwei. Hu
Intended status: Standards Track Zheng. Zhang
Expires: May 22, 2016 Xianxia. Dai
ZTE Corporation
Mahesh Sivakumar
Cisco Systems, Inc.
November 19, 2015
YANG Data Model for BIER Protocol
draft-chh-bier-bier-yang-02.txt
Abstract
This document defines a YANG data model for BIER configuration and
operation.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
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 May 22, 2016.
Copyright Notice
Copyright (c) 2015 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
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
Chen, et al. Expires May 22, 2016 [Page 1]
Internet-Draft BIER YANG November 2015
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Design of the Data Model . . . . . . . . . . . . . . . . . . 2
3. Configuration . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Control plane configuration . . . . . . . . . . . . . . . . . 4
5. States . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6. Notification . . . . . . . . . . . . . . . . . . . . . . . . 5
7. BIER YANG Data Model . . . . . . . . . . . . . . . . . . . . 5
8. Security Considerations . . . . . . . . . . . . . . . . . . . 16
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
11. Normative references . . . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction
This document defines a YANG data model for BIER configuration and
operation.
2. Design of the Data Model
module: ietf-bier
augment /rt:routing:
+--rw bier
+--rw bier-global
+--rw encapsulation-type? identityref
+--rw bitstringlength? bsl
+--rw bfr-id? bfr-id
+--rw af
| +--rw ipv4
| | +--rw ipv4-bfr-prefix? inet:ipv4-prefix
| +--rw ipv6
| +--rw ipv6-bfr-prefix? inet:ipv6-prefix
+--rw sub-domain* [sub-domain-id]
+--rw sub-domain-id sub-domain-id
+--rw mt-id? uint16
+--rw bfr-id? bfr-id
+--rw frr? boolean
+--rw bitstringlength? bsl
+--rw af
+--rw ipv4* [bitstringlength bier-mpls-label]
| +--rw bitstringlength uint16
| +--rw bier-mpls-label mpls:mpls-label
| +--rw bier-mpls-label-range-size? uint8
Chen, et al. Expires May 22, 2016 [Page 2]
Internet-Draft BIER YANG November 2015
+--rw ipv6* [bitstringlength bier-mpls-label]
+--rw bitstringlength uint16
+--rw bier-mpls-label mpls:mpls-label
+--rw bier-mpls-label-range-size? uint8
augment /rt:routing/rt:routing-instance/rt:routing-protocols
/rt:routing-protocol/isis:isis/isis:instance:
+--rw mt
+--rw mt-id uint16
+--rw bier-global
+--rw enable? boolean
+--rw advertise? boolean
+--rw receive? boolean
augment /rt:routing/rt:routing-instance/rt:routing-protocols
/rt:routing-protocol/ospf:ospf/ospf:instance:
+--rw mt
+--rw mt-id uint16
+--rw bier-global
+--rw enable? boolean
+--rw advertise? boolean
+--rw receive? boolean
augment /rt:routing-state:
+--ro bier-global
| +--ro bfr-id? bfr-id
| +--ro ipv4-bfr-prefix? inet:ipv4-prefix
| +--ro ipv6-bfr-prefix? inet:ipv6-prefix
| +--ro sub-domain* [sub-domain-id]
| +--ro sub-domain-id sub-domain-id
| +--ro mt-id? uint16
| +--ro bfr-id? bfr-id
| +--ro bitstringlength? uint16
| +--ro ipv4* [bitstringlength label]
| | +--ro bitstringlength uint16
| | +--ro label mpls:mpls-label
| | +--ro label-range-size? uint8
| +--ro ipv6* [bitstringlength label]
| +--ro bitstringlength uint16
| +--ro label mpls:mpls-label
| +--ro label-range-size? uint8
+--ro birts
+--ro birt-subdomain* [sub-domain-id]
| +--ro sub-domain-id sub-domain-id
| +--ro birt-bitstringlength* [bitstringlength]
| +--ro bitstringlength uint16
| +--ro birt-si* [si]
| +--ro si si
Chen, et al. Expires May 22, 2016 [Page 3]
Internet-Draft BIER YANG November 2015
+--ro f-bm? uint16
+--ro bier-mpls-in-label? mpls:mpls-label
+--ro bfr-nbr? inet:ip-address
+--ro bier-mpls-out-label? mpls:mpls-label
notifications:
+---n bfr-id-collision
| +--ro bfr-id? bfr-id
+---n bfr-zero
| +--ro ipv4-bfr-prefix? inet:ipv4-prefix
| +--ro ipv6-bfr-prefix? inet:ipv6-prefix
+---n sub-domain-id-collision
+--ro sub-domain-id? sub-domain-id
+--ro mt-id? uint16
3. Configuration
This Module augments the "/rt:routing:" with a BIER container. This
Container defines all the configuration parameters related to BIER
for this particular routing.
The BIER configuration contains global configuration.
The global configuration includes BIER transport type, imposition
BitStringLengths, BFR-id, AF, and parameters associated with bier
sub-domain.
In this document, we contains two types of BitStringLengths:
Imposition and Disposition BitStringLengths, as defined in
([I-D.ietf-bier-architecture]).The imposition BitStringLengths is
defined under bier-global container, and the disposition
BitStringLengths is defined under the sub-domain.
4. Control plane configuration
This Module augments routing-protocol configuration with BIER.
This Module supports ISIS ([I-D.ietf-bier-isis-extensions])and OSPF
([I-D.ietf-bier-ospf-bier-extensions]) as control plane for BIER.
Chen, et al. Expires May 22, 2016 [Page 4]
Internet-Draft BIER YANG November 2015
5. States
The operational states contains basic parameters associated with
bier, such as BFR-id, BFR-prefixes and parameters associated with
bier sub-domain.
It also includes the Bit Index Routing Table(BIRT).
6. Notification
This Module includes bfr-id-collision, bfr-zero, and sub-domain-id-
collision.
7. BIER YANG Data Model
module ietf-bier {
namespace "urn:ietf:params:xml:ns:yang:ietf-bier";
prefix "bier";
import ietf-routing {
prefix "rt";
}
import ietf-inet-types {
prefix "inet";
}
import ietf-mpls {
prefix "mpls";
}
organization
"IETF BIER(Bit Indexed Explicit Replication ) Working Group";
contact
"WG List: <mailto:bier@ietf.org>
WG Chair: Tony Przygienda
<mailto:tonysietf@gmail.com>
WG Chair: Greg Shepherd
<mailto:gjshep@gmail.com>
Editor: Ran Chen
Chen, et al. Expires May 22, 2016 [Page 5]
Internet-Draft BIER YANG November 2015
<mailto:chen.ran@zte.com.cn>
Editor: Fangwei Hu
<mailto:hu.fangwei@zte.com.cn>
Editor: Zheng Zhang
<mailto:zhang.zheng@zte.com.cn>
Editor: Xianxian Dai
<mailto:dai.xianxian@zte.com.cn>
";
description
"The YANG module defines a generic configuration
model for BIER.";
revision 2015-11-19 {
description
"02 revision, typedef the parameters related with bier, change the type of label to mpls-label";
reference
"draft-chh-bier-bier-yang-01";
}
revision 2015-10-16 {
description
"01 revision.";
reference
"draft-chh-bier-bier-yang-01";
}
revision 2015-06-22 {
description
"Initial revision.";
reference
"draft-chh-bier-bier-yang-00";
}
/* Identities */
identity bier-encapsulation{
description
"Base identity for BIER encapsulation.";
}
identity bier-encapsulation-mpls {
base bier-encapsulation;
description
"This identity represents MPLS encapsulation for bier.";
}
/* Type definitions */
typedef sub-domain-id {
type uint16;
Chen, et al. Expires May 22, 2016 [Page 6]
Internet-Draft BIER YANG November 2015
description
"The type for sub-domain-id";
}
typedef si {
type uint16;
description
"The type for set identifier";
}
typedef bfr-id {
type uint16;
description
"The type for bfr identifier";
}
typedef bsl {
type enumeration{
enum 64-bit{
description "bitstringlength is 64";
}
enum 128-bit{
description "bitstringlength is 128";
}
enum 256-bit{
description "bitstringlength is 256";
}
enum 512-bit{
description "bitstringlength is 512";
}
enum 1024-bit{
description "bitstringlength is 1024";
}
enum 2048-bit{
description "bitstringlength is 2048";
}
enum 4096-bit{
description "bitstringlength is 4096";
}
}
description
"The bitstringlength type for imposition mode";
}
/* Configuration Data */
augment "/rt:routing" {
description
Chen, et al. Expires May 22, 2016 [Page 7]
Internet-Draft BIER YANG November 2015
"This augments routing-instance configuration with bier.";
container bier{
description "BIER config.";
container bier-global {
description
"BIER global config.";
leaf encapsulation-type {
type identityref {
base bier-encapsulation;
}
default "bier-encapsulation-mpls";
description
"Dataplane to be used.";
}
leaf bitstringlength{
type bsl;
description
"imposition";
}
leaf bfr-id {
type bfr-id;
description
"BIER bfr identifier.";
}
container af {
container ipv4 {
leaf ipv4-bfr-prefix {
type inet:ipv4-prefix;
description
"BIER IPv4 prefix.";
}
description
"IPv4 prefix.";
}
container ipv6 {
leaf ipv6-bfr-prefix {
type inet:ipv6-prefix;
description
"BIER IPv6 prefix.";
}
description
"IPv6 prefix.";
}
description
"BIER IPV4&IPV6 prefix";
}
list sub-domain {
key "sub-domain-id";
Chen, et al. Expires May 22, 2016 [Page 8]
Internet-Draft BIER YANG November 2015
leaf sub-domain-id{
type sub-domain-id;
description
"sub-domain ID.";
}
leaf mt-id {
type uint16;
description
"multi-topology ID.";
}
leaf bfr-id{
type bfr-id;
description
"BIER bfr identifier.";
}
leaf frr{
type boolean;
description
"Enables BIER FRR.";
}
leaf bitstringlength{
type bsl;
description
"imposition";
}
container af {
list ipv4 {
key "bitstringlength bier-mpls-label";
leaf bitstringlength {
type uint16;
description
"BIER bitstringlength.";
}
leaf bier-mpls-label{
type mpls:mpls-label;
description
"BIER label.";
}
leaf bier-mpls-label-range-size{
type uint8;
description
"BIER label range.";
}
description
"IPv4 mapping entries.";
}
list ipv6 {
key "bitstringlength bier-mpls-label";
Chen, et al. Expires May 22, 2016 [Page 9]
Internet-Draft BIER YANG November 2015
leaf bitstringlength {
type uint16;
description
"BIER bitstringlength.";
}
leaf bier-mpls-label{
type mpls:mpls-label;
description
"BIER label.";
}
leaf bier-mpls-label-range-size{
type uint8;
description
"BIER label range.";
}
description
"IPv6 mapping entries.";
}
description
"Bier mapping entries.";
}
description
"Parameters associated with bier sub-domain.";
}
}
}
}
augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
+ "rt:routing-protocol" {
description
"This augments ospf protocol configuration with bier.";
container mt-ospf{
description
"Control of bier advertisement and reception.";
leaf mt-id{
type uint16;
description
"Multi-topology associated with bier sub-domain.";
}
container bier-global {
description
"BIER global config.";
leaf enable {
type boolean;
default false;
description
Chen, et al. Expires May 22, 2016 [Page 10]
Internet-Draft BIER YANG November 2015
"Enables bier protocol extensions.";
}
leaf advertise {
type boolean;
default true;
description
"Enable to advertise the parameters associated with
bier.";
}
leaf receive {
type boolean;
default true;
description
"Enable to receive the parameters associated with
bier.";
}
}
}
}
augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
+ "rt:routing-protocol" {
description
"This augments ISIS protocol configuration with bier.";
container mt-isis{
description
"Control of bier advertisement and reception.";
leaf mt-id{
type uint16;
description
"Multi-topology associated with bier sub-domain.";
}
container bier-global {
description
"BIER global config.";
leaf enable {
type boolean;
default false;
description
"Enables bier protocol extensions.";
}
leaf advertise {
type boolean;
default true;
description
"Enable to advertise the parameters associated with
bier.";
}
Chen, et al. Expires May 22, 2016 [Page 11]
Internet-Draft BIER YANG November 2015
leaf receive {
type boolean;
default true;
description
"Enable to receive the parameters associated with
bier.";
}
}
}
}
/* Operational data */
augment "/rt:routing-state" {
description
"This augments the operational states with bier.";
container bier-global{
leaf bfr-id{
type bfr-id;
description
"BIER BFR ID.";
}
leaf ipv4-bfr-prefix{
type inet:ipv4-prefix;
description
"BIER ipv4 prefix.";
}
leaf ipv6-bfr-prefix{
type inet:ipv6-prefix;
description
"BIER ipv6 prefix.";
}
list sub-domain {
key "sub-domain-id";
leaf sub-domain-id {
type sub-domain-id;
description
"sub-domain ID.";
}
leaf mt-id {
type uint16;
description
"Multi-topology ID";
}
leaf bfr-id {
type bfr-id;
description
"BIER bfr identifier.";
}
Chen, et al. Expires May 22, 2016 [Page 12]
Internet-Draft BIER YANG November 2015
leaf bitstringlength{
type uint16;
description
"BIER bitstringlength.";
}
list ipv4 {
key "bitstringlength label";
leaf bitstringlength {
type uint16;
description
"BIER bitstringlength.";
}
leaf label{
type mpls:mpls-label;
description
"BIER label.";
}
leaf label-range-size{
type uint8;
description
"BIER label range.";
}
description
"IPv4 mapping entries.";
}
list ipv6 {
key "bitstringlength label";
leaf bitstringlength {
type uint16;
description
"BIER bitstringlength.";
}
leaf label{
type mpls:mpls-label;
description
"BIER label.";
}
leaf label-range-size{
type uint8;
description
"BIER label range.";
}
description
"IPv6 mapping entries.";
}
description
"Parameters associated with bier sub-domain.";
Chen, et al. Expires May 22, 2016 [Page 13]
Internet-Draft BIER YANG November 2015
}
description
"Parameters associated with bier.";
}
container birts{
list birt-subdomain{
key "sub-domain-id";
leaf sub-domain-id{
type sub-domain-id;
description
"BIER sub domain ID";
}
list birt-bitstringlength {
key "bitstringlength";
leaf bitstringlength{
type uint16;
description
"BIER bitstringlength.";
}
list birt-si {
key "si";
leaf si{
type si;
description
"BIER set identifier.";
}
description
"Query the BIRT based on the key set identifier & bitstringlength & sub-domain-id.";
}
description
"Query the BIRT based on the key bitstringlengt & sub-domain-id.";
}
description
"Query the BIRT based on the key sub-domain.";
}
leaf f-bm{
type uint16;
description
"BIER Forwarding Bit Mask.";
}
leaf bier-mpls-in-label{
type mpls:mpls-label;
description
"BIER in-label.";
}
leaf bfr-nbr{
type inet:ip-address;
Chen, et al. Expires May 22, 2016 [Page 14]
Internet-Draft BIER YANG November 2015
description
"BIER BFR Neighbors.";
}
leaf bier-mpls-out-label{
type mpls:mpls-label;
description
"BIER out-label.";
}
description
"Shows Bit Index Routing Table.";
}
}
/* Notifications */
notification bfr-id-collision{
leaf bfr-id{
type bfr-id;
description
"BIER BFR ID.";
}
description
"BFR ID received in the controlplane that caused BFR ID
collision.";
}
notification bfr-zero{
leaf ipv4-bfr-prefix{
type inet:ipv4-prefix;
description
"BIER ipv4 bfr prefix";
}
leaf ipv6-bfr-prefix{
type inet:ipv6-prefix;
description
"BIER ipv6 bfr prefix";
}
description
"Invalid value associated with prefix";
}
notification sub-domain-id-collision{
leaf sub-domain-id{
type sub-domain-id;
description
"BIER sub domain ID";
}
leaf mt-id{
Chen, et al. Expires May 22, 2016 [Page 15]
Internet-Draft BIER YANG November 2015
type uint16;
description
"Multi-topology ID";
}
description
"Sub domain ID received in the controlplane that
caused Sub domain ID collision";
}
}
8. Security Considerations
TBD.
9. Acknowledgements
We would like to thank IJsbrand Wijnands, and Reshad Rahman for their
comments and support of this work.
10. IANA Considerations
This document requires no IANA Actions. Please remove this section
before RFC publication.
11. Normative references
[I-D.ietf-bier-architecture]
Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and
S. Aldrin, "Multicast using Bit Index Explicit
Replication", draft-ietf-bier-architecture-02 (work in
progress), July 2015.
[I-D.ietf-bier-isis-extensions]
Ginsberg, L., Przygienda, T., Aldrin, S., and J. Zhang,
"BIER support via ISIS", draft-ietf-bier-isis-
extensions-01 (work in progress), October 2015.
[I-D.ietf-bier-mpls-encapsulation]
Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., and
S. Aldrin, "Encapsulation for Bit Index Explicit
Replication in MPLS Networks", draft-ietf-bier-mpls-
encapsulation-02 (work in progress), August 2015.
Chen, et al. Expires May 22, 2016 [Page 16]
Internet-Draft BIER YANG November 2015
[I-D.ietf-bier-ospf-bier-extensions]
Psenak, P., Kumar, N., Wijnands, I., Dolganow, A.,
Przygienda, T., Zhang, J., and S. Aldrin, "OSPF Extensions
For BIER", draft-ietf-bier-ospf-bier-extensions-01 (work
in progress), October 2015.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010,
<http://www.rfc-editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013,
<http://www.rfc-editor.org/info/rfc6991>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<http://www.rfc-editor.org/info/rfc7223>.
Authors' Addresses
Ran Chen
ZTE Corporation
No.50 Software Avenue,Yuhuatai District
Nanjing, Jiangsu Province 210012
China
Phone: +86 025 88014636
Email: chen.ran@zte.com.cn
Fangwei Hu
ZTE Corporation
No.889 Bibo Rd
Shanghai 201203
China
Phone: +86 21 68896273
Email: hu.fangwei@zte.com.cn
Chen, et al. Expires May 22, 2016 [Page 17]
Internet-Draft BIER YANG November 2015
Zheng Zhang
ZTE Corporation
No.50 Software Avenue,Yuhuatai District
Nanjing, Jiangsu Province 210012
China
Email: zhang.zheng@zte.com.cn
Xianxian Dai
ZTE Corporation
No.50 Software Avenue,Yuhuatai District
Nanjing, Jiangsu Province 210012
China
Email: Dai.xianxian@zte.com.cn
Mahesh Sivakumar
Cisco Systems, Inc.
510 McCarthy Blvd
Milpitas,California 95035
United States
Email: masivaku@cisco.com
Chen, et al. Expires May 22, 2016 [Page 18]