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.";
        }
    
        grouping l2-transform {
          description
            "This grouping defines the L2 ingress or egress transform instances.";
          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
        }  // grouping l2-transform
    
        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.";
              uses l2-transform;
            }  // 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.