Internet DRAFT - draft-geng-bier-bierv6-yang
draft-geng-bier-bierv6-yang
Network Working Group X. Geng
Internet-Draft Huawei
Intended status: Experimental Z. Qin
Expires: December 20, 2020 China Unicom
F. Zheng
Huawei
June 18, 2020
YANG Data Model for Bierv6
draft-geng-bier-bierv6-yang-00
Abstract
This draft defines a YANG data model for Bierv6 (Bit indexed explicit
replication over IPv6).
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
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 https://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 20, 2020.
Copyright Notice
Copyright (c) 2020 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
(https://trustee.ietf.org/license-info) in effect on the date of
Geng, et al. Expires December 20, 2020 [Page 1]
Internet-Draft draft June 2020
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
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Considerations . . . . . . . . . . . . . . . . . . . . . . . 2
4. Bierv6 YANG Tree . . . . . . . . . . . . . . . . . . . . . . 3
5. Bierv6 YANG . . . . . . . . . . . . . . . . . . . . . . . . . 3
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
9. Normative References . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
Bierv6 provides stateless bier multicast service over Ipv6 , which is
defined in [I-D.xie-bier-ipv6-encapsulation]. This draft specifies
YANG data model for Bierv6.
2. Terminologies
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Bier: Bit indexed explicit replication, referring to [RFC8279] and
[RFC8296].
Bierv6: Bit indexed explicit replication using IPv6 data plane,
referring to [I-D.xie-bier-ipv6-encapsulation].
3. Considerations
Based on the Bierv6 design, the following attributes are necessary
for Bierv6 configuration, besides the current parameters defined in
[I-D.ietf-bier-bier-yang]:
o Bierv6 address block
Geng, et al. Expires December 20, 2020 [Page 2]
Internet-Draft draft June 2020
Ipv6 address block which are used for End.BIER allocation and ACL
configuration for BIERv6 boundary. Bierv6 address block could be
part of SRv6 locater, or it could also be defined independently.
o End.Bier
Ipv6 address indicating Bierv6 forwarding behavior, coming from
Bierv6 address block.
4. Bierv6 YANG Tree
module: ietf-bierv6
augment /rt:routing/bier:bier:
+--rw bierv6
+--rw bierv6-address-blocks
+--rw bierv6-address-block* [name]
+--rw name string
+--rw enable? boolean
+--rw is-default boolean
+--rw prefix
| +--rw address inet:ipv6-address
| +--rw length bierv6-address-len
+--ro operational-status? bierv6-status-type
+--ro is-in-address-conflict? boolean
augment /rt:routing/bier:bier/bier:sub-domain:
+--rw bierv6
+--rw (end-bier-address)?
| +--:(bierv6-address-block)
| | +--rw bierv6-block-name? -> /rt:routing/bier:bier/bierv6:bierv6/bierv6-address-blocks/bierv6-address-block/name
| | +--rw offset? inet:ipv6-address-no-zone
| +--:(bierv6-srv6-locator)
| +--rw srv6-locator-name? -> /rt:routing/srv6:srv6/locators/locator/name
| +--rw opcode? inet:ipv6-address-no-zone
+--ro operational-status? bierv6-status-type
+--ro is-in-address-conflict? boolean
5. Bierv6 YANG
<CODE BEGINS>
module ietf-bierv6 {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bierv6";
prefix "bierv6";
import ietf-routing {
prefix "rt";
Geng, et al. Expires December 20, 2020 [Page 3]
Internet-Draft draft June 2020
}
import ietf-inet-types {
prefix "inet";
}
import ietf-bier {
prefix "bier";
}
import ietf-srv6-base {
prefix "srv6";
}
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: Xuesong Geng
<mailto:gengxuesong@huawei.com>
Feng Zheng
<mailto:habby.zheng@huawei.com>
Jingrong Xie
<mailto:xiejingrong@huawei.com>";
Zhuangzhuang Qin
<mailto:qinzhuangzhuang@chinaunicom.cn>";
description
"The YANG Module defines configuration model for Bierv6";
revision 2020-04-02 {
description
"Initial vision";
reference
"RFC XXX: YANG Data Model for Bierv6";
}
Geng, et al. Expires December 20, 2020 [Page 4]
Internet-Draft draft June 2020
typedef bierv6-address-len {
type uint8 {
range "32 .. 96";
}
description
"This type defines a Bierv6-address-len with range constraints";
}
typedef bierv6-status-type {
type enumeration {
enum up { value 1; description "State is Up"; }
enum down { description "State is Down"; }
}
description
"Status type";
}
//Identifications
identity bierv6 {
base "bier:bier-encapsulation";
description
"This identity represents bierv6 encapsulation";
}
identity ipv6-address-block {
description
"A dedicated group of Ipv6 addresses";
}
identity bierv6-address-block {
base "ipv6-address-block";
description
"Ipv6 address block for bierv6";
}
identity bierv6-srv6-locator {
base "ipv6-address-block";
description
"SRv6 locators for bierv6";
}
//Groupings
grouping end-bier-address-state {
description "end.bier address state ";
leaf operational-status {
type bierv6-status-type;
Geng, et al. Expires December 20, 2020 [Page 5]
Internet-Draft draft June 2020
config false;
description
"Indicates whether bierv6 ipv6 address state is UP";
}
leaf is-in-address-conflict {
type boolean;
config false;
description
"Indicates whether locator address conflicts with
some other IPv6 address on the box";
}
}
grouping bierv6-ipv6-block-state {
description "SRv6 grouping Locastateor ";
leaf operational-status {
type bierv6-status-type;
config false;
description
"Indicates whether bierv6 ipv6 address state is UP";
}
leaf is-in-address-conflict {
type boolean;
config false;
description
"Indicates whether locator address conflicts with
some other IPv6 address on the box";
}
}
grouping bierv6-address-blocks {
description
"ipv6 address block for bierv6";
container bierv6-address-blocks {
description
"ipv6 address block for bierv6";
list bierv6-address-block {
key "name";
description
"Configure a bierv6 ipv6 address";
leaf name {
type string;
description "Bierv6 ipv6 address name";
}
leaf enable {
type boolean;
Geng, et al. Expires December 20, 2020 [Page 6]
Internet-Draft draft June 2020
default false;
description "Enable a Bierv6 ipv6 address";
}
leaf is-default {
type boolean;
mandatory true;
description "Indicates if the Bierv6 ipv6 address is a default address";
}
container prefix {
description "Specify Bierv6 ipv6 address prefix value";
leaf address {
type inet:ipv6-address;
mandatory true;
description "IPv6 address";
}
leaf length {
type bierv6-address-len;
mandatory true;
description "Bierv6 ipv6 address (prefix) length";
}
}
uses bierv6-ipv6-block-state;
}
}
}
grouping end-bier {
description
"end.bier";
choice end-bier-address {
description
"Two kinds of possible bier address";
case bierv6-address-block {
leaf bierv6-block-name {
type leafref {
path "/rt:routing/bier:bier/bierv6:bierv6/bierv6:bierv6-address-blocks/bierv6:bierv6-address-block/bierv6:name";
}
description
"bierv6-block-name";
}
leaf offset {
type inet:ipv6-address-no-zone;
description
"bierv6 ipv6 address block offset";
}
}
case bierv6-srv6-locator {
Geng, et al. Expires December 20, 2020 [Page 7]
Internet-Draft draft June 2020
leaf srv6-locator-name {
type leafref {
path "/rt:routing/srv6:srv6/srv6:locators/srv6:locator/srv6:name";
}
description
"SRv6 locator name";
}
leaf opcode {
type inet:ipv6-address-no-zone;
description
"SRv6 function opcode.";
}
}
}
uses end-bier-address-state;
}
augment "/rt:routing/bier:bier" {
container bierv6{
description
"bier global configuration.";
uses bierv6-address-blocks;
}
}
augment "/rt:routing/bier:bier/bier:sub-domain" {
when "../encapsulation/encapsulation-type='bierv6'";
container bierv6{
uses end-bier;
description
"end.bier configuration";
}
}
}
<CODE ENDS>
6. IANA Considerations
This document makes no request of IANA.
Note to RFC Editor: this section may be removed on publication as an
RFC.
7. Security Considerations
Geng, et al. Expires December 20, 2020 [Page 8]
Internet-Draft draft June 2020
8. Acknowledgements
The authors wish to thank Jingrong for his useful technical
suggestions for the draft.
9. Normative References
[I-D.ietf-bier-bier-yang]
Chen, R., hu, f., Zhang, Z., dai.xianxian@zte.com.cn, d.,
and M. Sivakumar, "YANG Data Model for BIER Protocol",
draft-ietf-bier-bier-yang-06 (work in progress), February
2020.
[I-D.xie-bier-ipv6-encapsulation]
Xie, J., Geng, L., McBride, M., Asati, R., and S.
Dhanaraj, "Encapsulation for BIER in Non-MPLS IPv6
Networks", draft-xie-bier-ipv6-encapsulation-06 (work in
progress), March 2020.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
Explicit Replication (BIER)", RFC 8279,
DOI 10.17487/RFC8279, November 2017,
<https://www.rfc-editor.org/info/rfc8279>.
[RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation
for Bit Index Explicit Replication (BIER) in MPLS and Non-
MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January
2018, <https://www.rfc-editor.org/info/rfc8296>.
Authors' Addresses
Xuesong Geng
Huawei
Email: gengxuesong@huawei.com
Zhuangzhuang Qin
China Unicom
Email: qinzhuangzhuang@chinaunicom.cn
Geng, et al. Expires December 20, 2020 [Page 9]
Internet-Draft draft June 2020
Feng Zheng
Huawei
Email: habby.zheng@huawei.com
Geng, et al. Expires December 20, 2020 [Page 10]