ciena-mef-fd

This YANG module defines Ciena's configuration of the Forwarding Domain (Bridge Domain, Virtual Switch, VPLS representation for ...

  • Version: 2017-08-31

    ciena-mef-fd@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.