aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-types@2018-05-24.yang
diff options
context:
space:
mode:
Diffstat (limited to 'platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-types@2018-05-24.yang')
-rw-r--r--platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-types@2018-05-24.yang303
1 files changed, 303 insertions, 0 deletions
diff --git a/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-types@2018-05-24.yang b/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-types@2018-05-24.yang
new file mode 100644
index 00000000..3775f36b
--- /dev/null
+++ b/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-types@2018-05-24.yang
@@ -0,0 +1,303 @@
+module ietf-eth-tran-types {
+ namespace "urn:ietf:params:xml:ns:yang:ietf-eth-tran-types";
+ prefix "etht-types";
+
+ organization
+ "Internet Engineering Task Force (IETF) CCAMP WG";
+ contact
+ "
+ WG List: <mailto:ccamp@ietf.org>
+ ID-draft editor:
+ Haomian Zheng (zhenghaomian@huawei.com);
+ Italo Busi (italo.busi@huawei.com);
+ Aihua Guo (aihuaguo@huawei.com);
+ Yunbin Xu (xuyunbin@ritt.cn);
+ Yang Zhao (zhaoyangyjy@chinamobile.com);
+ Xufeng Liu (Xufeng_Liu@jabil.com);
+ Giuseppe Fioccola (giuseppe.fioccola@telecomitalia.it);
+ ";
+
+ description
+ "This module defines the ETH transport types.";
+
+ revision 2018-05-24 {
+ description
+ "Initial revision";
+ reference
+ "draft-zheng-ccamp-client-signal-yang";
+ }
+
+ /*
+ * Identities
+ */
+
+ identity eth-vlan-tag-type {
+ description
+ "ETH VLAN tag type.";
+ }
+
+ identity c-vlan-tag-type {
+ base eth-vlan-tag-type;
+ description
+ "802.1Q Customer VLAN";
+ }
+
+ identity s-vlan-tag-type {
+ base eth-vlan-tag-type;
+ description
+ "802.1Q Service VLAN (QinQ)";
+ }
+
+ identity service-classification-type {
+ description
+ "Service classification.";
+ }
+
+ identity port-classification {
+ base service-classification-type;
+ description
+ "Port classification.";
+ }
+
+ identity vlan-classification {
+ base service-classification-type;
+ description
+ "VLAN classification.";
+ }
+
+ identity eth-vlan-tag-classify {
+ description
+ "VLAN tag classification.";
+ }
+
+ identity classify-c-vlan {
+ base eth-vlan-tag-classify;
+ description
+ "Classify 802.1Q Customer VLAN tag.
+ Only C-tag type is accepted";
+ }
+
+ identity classify-s-vlan {
+ base eth-vlan-tag-classify;
+ description
+ "Classify 802.1Q Service VLAN (QinQ) tag.
+ Only S-tag type is accepted";
+ }
+
+ identity classify-s-or-c-vlan {
+ base eth-vlan-tag-classify;
+ description
+ "Classify S-VLAN or C-VLAN tag-classify.
+ Either tag is accepted";
+ }
+
+ identity bandwidth-profile-type {
+ description
+ "Bandwidth Profile Types";
+ }
+
+ identity mef-10-bwp {
+ base bandwidth-profile-type;
+ description
+ "MEF 10 Bandwidth Profile";
+ }
+ identity rfc-2697-bwp {
+ base bandwidth-profile-type;
+ description
+ "RFC 2697 Bandwidth Profile";
+ }
+
+ identity rfc-2698-bwp {
+ base bandwidth-profile-type;
+ description
+ "RFC 2698 Bandwidth Profile";
+ }
+
+ identity rfc-4115-bwp {
+ base bandwidth-profile-type;
+ description
+ "RFC 4115 Bandwidth Profile";
+ }
+
+ identity service-type {
+ description
+ "Type of Ethernet service.";
+ }
+
+ identity p2p-svc {
+ base service-type;
+ description
+ "Ethernet point-to-point service (EPL, EVPL).";
+ }
+
+ identity rmp-svc {
+ base service-type;
+ description
+ "Ethernet rooted-multitpoint service (E-TREE, EP-TREE).";
+ }
+
+ identity mp2mp-svc {
+ base service-type;
+ description
+ "Ethernet multipoint-to-multitpoint service (E-LAN, EP-LAN).";
+ }
+
+ /*
+ * Type Definitions
+ */
+
+ typedef eth-tag-type {
+ type identityref {
+ base eth-vlan-tag-type;
+ }
+ description
+ "Identifies a specific ETH VLAN tag type.";
+ }
+
+ typedef eth-tag-classify {
+ type identityref {
+ base eth-vlan-tag-classify;
+ }
+ description
+ "Identifies a specific VLAN tag classification.";
+ }
+
+ typedef vlanid {
+ type uint16 {
+ range "1..4094";
+ }
+ description
+ "The 12-bit VLAN-ID used in the VLAN Tag header.";
+ }
+
+ typedef vid-range-type {
+ type string {
+ pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" +
+ "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
+ }
+ description
+ "A list of VLAN Ids, or non overlapping VLAN ranges, in
+ ascending order, between 1 and 4094.
+ This type is used to match an ordered list of VLAN Ids, or
+ contiguous ranges of VLAN Ids. Valid VLAN Ids must be in the
+ range 1 to 4094, and included in the list in non overlapping
+ ascending order.
+ For example: 1,10-100,50,500-1000";
+ }
+
+ typedef bandwidth-profile-type {
+ type identityref {
+ base bandwidth-profile-type;
+ }
+ description
+ "Identifies a specific Bandwidth Profile type.";
+ }
+
+ typedef service-type {
+ type identityref {
+ base service-type;
+ }
+ description
+ "Identifies the type of Ethernet service.";
+ }
+
+ /*
+ * Grouping Definitions
+ */
+
+ grouping etht-bandwidth-profiles {
+ description
+ "Bandwidth profile configuration paramters.";
+
+ leaf bandwidth-profile-name {
+ type string;
+ description
+ "Name of the bandwidth profile.";
+ }
+ leaf bandwidth-profile-type {
+ type etht-types:bandwidth-profile-type;
+ description
+ "The type of bandwidth profile.";
+ }
+ leaf CIR {
+ type uint64;
+ description
+ "Committed Information Rate in Kbps";
+ }
+ leaf CBS {
+ type uint64;
+ description
+ "Committed Burst Size in in KBytes";
+ }
+ leaf EIR {
+ type uint64;
+/*
+ * Open Issue: need to indicate that EIR is not supported by RFC 2697
+ * must
+ * '../bw-profile-type = "mef-10-bwp" or ' +
+ * '../bw-profile-type = "rfc-2698-bwp" or ' +
+ * '../bw-profile-type = "rfc-4115-bwp"'
+ *
+ * must
+ * '../bw-profile-type != "rfc-2697-bwp"'
+*/
+ description
+ "Excess Information Rate in Kbps
+ In case of RFC 2698, PIR = CIR + EIR";
+ }
+ leaf EBS {
+ type uint64;
+ description
+ "Excess Burst Size in KBytes.
+ In case of RFC 2698, PBS = CBS + EBS";
+ }
+ leaf color-aware {
+ type boolean;
+ description
+ "Indicates weather the color-mode is color-aware or color-blind.";
+ }
+ leaf coupling-flag {
+ type boolean;
+/*
+ * Open issue: need to indicate that Coupling Flag is defined only for MEF 10
+ *
+ * must
+ * '../bw-profile-type = "mef-10-bwp"'
+ */
+ description
+ "Coupling Flag.";
+ }
+ }
+
+ grouping eth-bandwidth {
+ leaf eth-bandwidth {
+ type uint64 {
+ range "0..10000000000";
+ }
+ units "Kbps";
+ description
+ "Available bandwith value expressed in kilobits per second";
+ }
+ }
+
+ grouping eth-label-restriction {
+ container eth-label-restriction {
+ leaf tag-type {
+ type etht-types:eth-tag-type;
+ description "VLAN tag type.";
+ }
+ leaf priority {
+ type uint8;
+ description "priority.";
+ }
+ }
+ }
+
+ grouping eth-label {
+ leaf vlanid {
+ type etht-types:vlanid;
+ description
+ "VLAN tag id.";
+ }
+ }
+} \ No newline at end of file