This YANG module defines Ciena's configuration of the Forwarding Domain (Bridge Domain, Virtual Switch, VPLS representation for ...
Version: 2017-08-31
module ciena-mef-fd { yang-version 1; namespace "urn:ciena:params:xml:ns:yang:ciena-pn:ciena-mef-fd"; prefix mef-fd; import ciena-mef-l2cp-profile { prefix mef-l2cp; } import ciena-mef-flood-containment-profile { prefix mef-fc; } import ciena-mef-pfg-profile { prefix mef-pfg; } import ciena-mef-egress-qos { prefix mef-egress-qos; } import ciena-mef-cos-to-frame-map { prefix ctf; } import ciena-mef-frame-to-cos-map { prefix ftc; } organization "Ciena Corporation"; contact "Web URL: http://www.ciena.com/ E-mail: yang@ciena.com Postal: 7035 Ridge Road Hanover, Maryland 21076 U.S.A. Phone: +1 800-921-1144 Fax: +1 410-694-5750"; description "This YANG module defines Ciena's configuration of the Forwarding Domain (Bridge Domain, Virtual Switch, VPLS representation for the NETCONF protocol)."; revision "2017-08-31" { description "Added reference to Private Forwarding Group Profile for a FD. Added description for lists, enums, containers and leafs."; reference "RFC 6020: YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF). No specific reference; standard not available."; } revision "2016-09-25" { description "Added fd-state for operational data"; reference "RFC 6020: YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF). No specific reference; standard not available."; } revision "2016-01-25" { description "Initial version"; reference "RFC 6020: YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF). No specific reference; standard not available."; } typedef vlan-id { type uint16 { range "1..4094"; } description "Represents a IEEE 802.1Q VLAN-ID."; } container fds { description "Contains list of FDs present currently in the system."; list fd { key "name"; description "The list of configured forwarding domains on the device."; leaf name { type string; description "An administratively assigned string, which may be used to identify the forwarding domain."; } leaf description { type string; description "This is string used to describe the Forwarding Domain."; } leaf mode { type enumeration { enum "vlan" { value 0; description "Forwarding domain is of type vlan."; } enum "vpls" { value 1; description "Forwarding domain is of type vpls."; } enum "vpws" { value 2; description "Forwarding domain is of type vpws."; } } description "The configuration mode of the forwarding domain."; } leaf vlan-id { when "../mode='vlan'"; type uint16 { range "1..4094"; } mandatory true; description "The value of VLAN ID for the forwarding domain when mode is VLAN."; } leaf mac-learning { type enumeration { enum "enabled" { value 0; description "This indicates MAC Learning is enabled."; } enum "disabled" { value 1; description "This indicates MAC Learning is disabled."; } } description "MAC learning configuration for forwarding domain."; } leaf l2cp-profile { type mef-l2cp:l2cp-profile-ref; description "Reference to a Layer 2 Control Protocol Tunneling Profile."; } leaf flood-containment-profile { type mef-fc:flood-containment-profile-ref; description "Reference to a Flood Containment Profile definition."; } leaf pfg-profile { type mef-pfg:pfg-profile-ref; description "Reference to a Private Forwarding Group Profile."; } leaf cos-queue-map { type mef-egress-qos:cos-queue-map-ref; description "Reference to queue-map for hierarchical shaping/scheduling."; } leaf queue-group-indirection { type mef-egress-qos:queue-group-indirection-ref; description "Reference to queue-group-indirection for hierarchical shaping/scheduling."; } container initiate-l2-transform { description "For an L2-frame that is initiated/injected via this forwarding domain, this specifies the l2-transform to be applied to the frame. e.g. an L3-frame injected via this forwarding domain to L2 datapath."; choice frame-type { description "This choice represents frame-type options."; list vlan-stack { key "tag"; description "This represents list of vlan stack."; leaf tag { type uint8; description "Dependent on the transform operation, the tag numbers are push => '1' represents push outermost, '2' represents push outermost (always push to outer)"; } choice action { description "This represents the L2 transform actions which will be applied on flow points of this forwarding domain."; case push { leaf push-tpid { type enumeration { enum "tpid-8100" { value 33024; description "Indicates TPID value 0x8100 to be pushed."; } enum "tpid-88a8" { value 34984; description "Indicates TPID value 0x88A8 to be pushed."; } enum "tpid-9100" { value 37120; description "Indicates TPID value 0x9100 to be pushed."; } } default "tpid-8100"; description "This represents TPID value to be pushed."; } leaf push-pcp { type enumeration { enum "pcp-0" { value 0; description "Indicates PCP value 0 to be pushed."; } enum "pcp-1" { value 1; description "Indicates PCP value 1 to be pushed."; } enum "pcp-2" { value 2; description "Indicates PCP value 2 to be pushed."; } enum "pcp-3" { value 3; description "Indicates PCP value 3 to be pushed."; } enum "pcp-4" { value 4; description "Indicates PCP value 4 to be pushed."; } enum "pcp-5" { value 5; description "Indicates PCP value 5 to be pushed."; } enum "pcp-6" { value 6; description "Indicates PCP value 6 to be pushed."; } enum "pcp-7" { value 7; description "Indicates PCP value 7 to be pushed."; } enum "map" { value 8; description "Indicates PCP value from map to be pushed."; } } description "This represents PCP value to be pushed."; } leaf push-dei { type enumeration { enum "enabled" { value 0; description "The frame's VLAN tag DEI bit will be pushed as 1."; } enum "disabled" { value 1; description "The frame's VLAN tag DEI bit will be pushed as 0."; } } description "This represents DEI value to be pushed."; } leaf push-vid { type vlan-id; mandatory true; description "This represents VLAN ID to be pushed."; } } // case push } // choice action } // list vlan-stack } // choice frame-type } // container initiate-l2-transform leaf initiate-cos-to-frame-map { type ctf:cos-to-frame-ref; description "For an L2-frame that is initiated/injected via this forwarding domain, this specifies the cos-to-frame map to use for a cos-to-frame map policy of 'mapped' from the initiate-l2-transform config."; } choice initiate-frame-to-cos { description "Indicates the policy used for an L2-frame that is initiated/injected via this forwarding domain."; case map { leaf initiate-frame-to-cos-map-policy { type enumeration { enum "outer-tag" { value 0; description "If the policy is set to outer-tag then outer VLAN tag PCP/CFI value is mapped to the port resolved CoS mapping table to derive the R-CoS and R-Color."; } enum "inner-tag" { value 1; description "If the policy is set to inner-tag then inner VLAN tag PCP/CFI value is mapped to the port resolved CoS mapping table to derive the R-CoS and R-Color."; } enum "mpls-tc" { value 2; description "If the policy is set to mpls-tc then EXP bits in MPLS label is mapped to the port resolved CoS mapping table to derive the R-CoS and R-Color."; } enum "dscp" { value 3; description "If the policy is set to dscp then dscp value in IP header is mapped to the port resolved CoS mapping table to derive the R-CoS and R-Color."; } } description "For an L2-frame that is initiated/injected via this forwarding domain, this specifies the frame-to-cos-map sub-policy to use when when the policy is mapped."; } leaf initiate-frame-to-cos-map { type ftc:frame-to-cos-ref; description "For an L2-frame that is initiated/injected via this forwarding domain, this specifies the frame-to-cos map to use for an initiate frame-to-cos map policy of 'mapped'."; } } // case map case fixed { leaf cos { type uint8 { range "0..63"; } description "For an L2-frame that is initiated/injected via this forwarding domain, this specifies the fixed cos value to use when when the policy is fixed."; } leaf color { type enumeration { enum "green" { value 0; description "Indicates fixed color Green."; } enum "yellow" { value 1; description "Indicates fixed color Yellow."; } enum "red" { value 2; description "Indicates fixed color Red."; } } description "For an L2-frame that is initiated/injected via this forwarding domain, this specifies the fixed color value to use when when the policy is fixed."; } } // case fixed } // choice initiate-frame-to-cos } // list fd } // container fds container fds-state { config false; description "Global FD operational data."; list fd { key "name"; description "The operational data for this FD."; leaf name { type string; description "A string that identifies the forwarding domain."; } } // list fd } // container fds-state } // module ciena-mef-fd
© 2023 YumaWorks, Inc. All rights reserved.