ciena-mef-fp

This YANG module defines Ciena's management data definition for the management of fp.

  • Version: 2017-10-25

    ciena-mef-fp@2017-10-25


    
      module ciena-mef-fp {
    
        yang-version 1;
    
        namespace
          "urn:ciena:params:xml:ns:yang:ciena-pn:ciena-mef-fp";
    
        prefix mef-fp;
    
        import ciena-mef-fd {
          prefix mef-fd;
        }
        import ciena-mef-logical-port {
          prefix mef-logical-port;
        }
        import ciena-mef-classifier {
          prefix classifier;
        }
        import ciena-mef-cos-to-frame-map {
          prefix ctf;
        }
        import ciena-mef-frame-to-cos-map {
          prefix ftc;
        }
        import ciena-mef-flood-containment-profile {
          prefix mef-fc;
        }
        import ciena-mef-meter-profile {
          prefix meter;
        }
        import ciena-mef-egress-qos {
          prefix mef-egress-qos;
        }
    
        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 management data definition for the
    management of fp.";
    
        revision "2017-10-25" {
          description
            "Added missing reference and description for container, grouping,
    enums, leafs and list.";
          reference
            "RFC 6020: YANG - A Data Modeling Language for
            the Network Configuration Protocol (NETCONF).
            No specific reference; standard not available.";
    
        }
    
        revision "2016-01-28" {
          description "Initial Version.";
          reference
            "UNI and EVC Definition of Managed Objects (MEF 40), January 2013.";
    
        }
    
    
        typedef fp-ref {
          type leafref {
            path "/mef-fp:fps/mef-fp:fp/mef-fp:name";
          }
          description
            "This type is used by the data models that need to reference
    configured flow points.";
        }
    
        typedef vlan-id {
          type uint16 {
            range "1..4094";
          }
          description
            "Represents a IEEE 802.1Q VLAN-ID.";
        }
    
        grouping transform {
          description
            "This grouping defines 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 xform operation, the tag numbers are
    stamp => '1' represents outermost tag, '2' next outermost (next inner)
    pop => '1' represents pop outermost, '2' represents pop outermost, (always pop from outer)
    push => '1' represents push outermost, '2' represents push outermost (always push to outer).";
              }
    
              choice action {
                description
                  "This choice represents actions to be performed on
    xform operations.";
                case push {
                  leaf push-tpid {
                    type enumeration {
                      enum "tpid-8100" {
                        value 33024;
                        description
                          "TPID value 8100 to be pushed.";
                      }
                      enum "tpid-88a8" {
                        value 34984;
                        description
                          "TPID value 88A8 to be pushed.";
                      }
                      enum "tpid-9100" {
                        value 37120;
                        description
                          "TPID value 9100 to be pushed.";
                      }
                    }
                    mandatory true;
                    description
                      "This represents TPID value to be pushed.";
                  }
    
                  leaf push-pcp {
                    type enumeration {
                      enum "pcp-0" {
                        value 0;
                        description
                          "PCP value 0 to be pushed.";
                      }
                      enum "pcp-1" {
                        value 1;
                        description
                          "PCP value 1 to be pushed.";
                      }
                      enum "pcp-2" {
                        value 2;
                        description
                          "PCP value 2 to be pushed.";
                      }
                      enum "pcp-3" {
                        value 3;
                        description
                          "PCP value 3 to be pushed.";
                      }
                      enum "pcp-4" {
                        value 4;
                        description
                          "PCP value 4 to be pushed.";
                      }
                      enum "pcp-5" {
                        value 5;
                        description
                          "PCP value 5 to be pushed.";
                      }
                      enum "pcp-6" {
                        value 6;
                        description
                          "PCP value 6 to be pushed.";
                      }
                      enum "pcp-7" {
                        value 7;
                        description
                          "PCP value 7 to be pushed.";
                      }
                      enum "map" {
                        value 8;
                        description
                          "PCP value map to be pushed.";
                      }
                    }
                    description
                      "This represents PCP value to be pushed.";
                  }
    
                  leaf push-dei {
                    type enumeration {
                      enum "enabled" {
                        value 0;
                        description
                          "DEI enabled.";
                      }
                      enum "disabled" {
                        value 1;
                        description
                          "DEI disabled.";
                      }
                    }
                    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
                leaf pop-type {
                  type empty;
                  description
                    "This represents pop action type.";
                }
    
                case stamp {
                  leaf stamp-tpid {
                    type enumeration {
                      enum "no-op" {
                        value 0;
                        description
                          "No operation.";
                      }
                      enum "tpid-8100" {
                        value 33024;
                        description
                          "TPID value 8100 will be stamped.";
                      }
                      enum "tpid-88a8" {
                        value 34984;
                        description
                          "TPID value 88A8 will be stamped.";
                      }
                      enum "tpid-9100" {
                        value 37120;
                        description
                          "TPID value 9100 will be stamped.";
                      }
                    }
                    description
                      "This represents stamping TPID value.";
                  }
    
                  leaf stamp-pcp {
                    type enumeration {
                      enum "pcp-0" {
                        value 0;
                        description
                          "PCP value 0 will be stamped.";
                      }
                      enum "pcp-1" {
                        value 1;
                        description
                          "PCP value 1 will be stamped.";
                      }
                      enum "pcp-2" {
                        value 2;
                        description
                          "PCP value 2 will be stamped.";
                      }
                      enum "pcp-3" {
                        value 3;
                        description
                          "PCP value 3 will be stamped.";
                      }
                      enum "pcp-4" {
                        value 4;
                        description
                          "PCP value 4 will be stamped.";
                      }
                      enum "pcp-5" {
                        value 5;
                        description
                          "PCP value 5 will be stamped.";
                      }
                      enum "pcp-6" {
                        value 6;
                        description
                          "PCP value 6 will be stamped.";
                      }
                      enum "pcp-7" {
                        value 7;
                        description
                          "PCP value 7 will be stamped.";
                      }
                      enum "no-op" {
                        value 8;
                        description
                          "No operation.";
                      }
                      enum "map" {
                        value 9;
                        description
                          "Mapped PCP value will be stamped.";
                      }
                    }
                    description
                      "This represents stamping PCP value.";
                  }
    
                  leaf stamp-dei {
                    type enumeration {
                      enum "no-op" {
                        value 0;
                        description
                          "No operation.";
                      }
                      enum "enabled" {
                        value 1;
                        description
                          "DEI value enabled.";
                      }
                      enum "disabled" {
                        value 2;
                        description
                          "DEI value disabled.";
                      }
                    }
                    description
                      "This represents stamping DEI value.";
                  }
    
                  choice stamp-vid {
                    description
                      "This choice represents stamp-vid options.";
                    leaf no-op {
                      type empty;
                      description
                        "No operation.";
                    }
                    leaf stamp-vid-value {
                      type vlan-id;
                      description
                        "This represents VLAN ID value to be stamped.";
                    }
                  }  // choice stamp-vid
                }  // case stamp
              }  // choice action
            }  // list vlan-stack
    
            case untagged {
              leaf untagged-tpid {
                type enumeration {
                  enum "tpid-8100" {
                    value 33024;
                    description
                      "TPID value 8100.";
                  }
                  enum "tpid-88a8" {
                    value 34984;
                    description
                      "TPID value 88A8.";
                  }
                  enum "tpid-9100" {
                    value 37120;
                    description
                      "TPID value 9100.";
                  }
                }
                description
                  "This represents untagged TPID value.";
              }
    
              leaf untagged-pcp {
                type enumeration {
                  enum "pcp-0" {
                    value 0;
                    description "PCP value 0.";
                  }
                  enum "pcp-1" {
                    value 1;
                    description "PCP value 1.";
                  }
                  enum "pcp-2" {
                    value 2;
                    description "PCP value 2.";
                  }
                  enum "pcp-3" {
                    value 3;
                    description "PCP value 3.";
                  }
                  enum "pcp-4" {
                    value 4;
                    description "PCP value 4.";
                  }
                  enum "pcp-5" {
                    value 5;
                    description "PCP value 5.";
                  }
                  enum "pcp-6" {
                    value 6;
                    description "PCP value 6.";
                  }
                  enum "pcp-7" {
                    value 7;
                    description "PCP value 7.";
                  }
                  enum "map" {
                    value 8;
                    description "PCP value map.";
                  }
                }
                description
                  "This represents untagged PCP value.";
              }
    
              leaf untagged-dei {
                type enumeration {
                  enum "enabled" {
                    value 0;
                    description
                      "DEI admin state enabled.";
                  }
                  enum "disabled" {
                    value 1;
                    description
                      "DEI admin state disabled.";
                  }
                }
                description
                  "Administrative state of DEI.";
              }
    
              leaf untagged-vid {
                type vlan-id;
                description
                  "This represents untagged VLAN ID.";
              }
            }  // case untagged
          }  // choice frame-type
        }  // grouping transform
    
        container fps {
          description
            "Contains list of FPs present currently in the system.";
          list fp {
            key "name";
            description
              "A list of all mef-fp configuration entries.";
            leaf name {
              type string;
              description
                "This object indicates the flow point identifier.
    The identifier is a text string that is used to identify
    a flow point.
    Unique string values are chosen to uniquely identify the
    flow point.
    Octet values of 0x00 through 0x1f are illegal.
    MEF 26.1 restricts the maximum size identifiers to 45
    octets.";
              reference
                "[MEF 6.1] 6.1; [MEF 7.2] 6.2.1.3.";
    
            }
    
            leaf description {
              type string;
              description
                "A editable string used to describe this entry.";
            }
    
            leaf fd-name {
              type leafref {
                path "/mef-fd:fds/mef-fd:fd/mef-fd:name";
              }
              description
                "Reference to FD object that represents the VLAN/VS of which
    this FP is a member of.";
            }
    
            leaf logical-port {
              type mef-logical-port:logical-port-ref;
              description
                "Reference to logical-port object that represents the port
    this VLAN/VS member is being added to.";
            }
    
            choice type {
              description
                "This choice represents type of FP (i.e- Q-in-Q or MPLS-PW
    or UNI or other).";
              leaf svlan {
                type uint32;
                description "FP of type Q-in-Q.";
              }
              leaf mpls-pw {
                type empty;
                description
                  "FP of type MPLS-PW.";
              }
              leaf uni {
                type empty;
                description "FP of type UNI.";
              }
              leaf other {
                type empty;
                description "FP of type other.";
              }
            }  // choice type
    
            leaf mtu-size {
              type uint32;
              units "octets";
              default "2000";
              description
                "This object indicates the configured EVC maximum service
    frame format size. It must be less than or equal to the
    max-mtu-size. Vendors may choose to go beyond this limit.";
              reference
                "[MEF 6.1] 6.1; [MEF 7.2] 6.2.1.3";
    
            }
    
            leaf admin-state {
              type enumeration {
                enum "enabled" {
                  value 0;
                  description
                    "Admin state enabled.";
                }
                enum "disabled" {
                  value 1;
                  description
                    "Admin state disabled.";
                }
              }
              description
                "This represents administrative state of FP.";
            }
    
            list ingress-l2-transform {
              key "ingress-name";
              description
                "Represents list of ingress L2 transforms associated with
    VS/VLAN membership.";
              leaf ingress-name {
                type string;
                description
                  "Need a key for this list. It cannot be
    a choice of several objects but objects
    that will always be specified.";
              }
    
              uses transform;
            }  // list ingress-l2-transform
    
            list egress-l2-transform {
              key "egress-name";
              description
                "Represents list of egress L2 transforms associated with
    VS/VLAN membership.";
              leaf egress-name {
                type string;
                description
                  "Need a key for this list. It cannot be
    a choice of several objects but objects
    that will always be specified.";
              }
    
              uses transform;
            }  // list egress-l2-transform
    
            choice ingress-l3-transform {
              description
                "Ingress L3 transform can be either ingress-l3-mapped or
    remark-dscp.";
              leaf ingress-l3-mapped {
                type empty;
                description
                  "This represents ingress L3 map.";
              }
              leaf ingress-remark-dscp-value {
                type uint8 {
                  range "0..63";
                }
                description
                  "This represents ingress DSCP remarking value.";
              }
            }  // choice ingress-l3-transform
    
            choice egress-l3-transform {
              description
                "Egress L3 transform can be either egress-l3-mapped or
    remark-dscp.";
              leaf egress-l3-mapped {
                type empty;
                description
                  "This represents egress L3 map.";
              }
              leaf egress-remark-dscp-value {
                type uint8 {
                  range "0..63";
                }
                description
                  "This represents egress DSCP remarking value.";
              }
            }  // choice egress-l3-transform
    
            choice frame-to-cos {
              description
                "This choice represents frame to CoS value can be either
    mapped or fixed.";
              case map {
                leaf map-policy {
                  type enumeration {
                    enum "outer-tag" {
                      value 0;
                      description
                        "Map policy value outer-tag.";
                    }
                    enum "inner-tag" {
                      value 1;
                      description
                        "Map policy value inner-tag.";
                    }
                    enum "mpls-tc" {
                      value 2;
                      description
                        "Map policy value mpls-tc.";
                    }
                    enum "dscp" {
                      value 3;
                      description
                        "Map policy value DSCP.";
                    }
                  }
                  description
                    "This represents map policy.";
                }
    
                leaf frame-to-cos-map {
                  type ftc:frame-to-cos-ref;
                  description
                    "Reference to a frame to CoS mapping.";
                }
              }  // case map
    
              case fixed {
                leaf cos {
                  type uint8 {
                    range "0..63";
                  }
                  description
                    "This represents fixed CoS value.";
                }
    
                leaf color {
                  type enumeration {
                    enum "green" {
                      value 0;
                      description
                        "Fixed color green.";
                    }
                    enum "yellow" {
                      value 1;
                      description
                        "Fixed color yellow.";
                    }
                    enum "red" {
                      value 2;
                      description
                        "Fixed color red.";
                    }
                  }
                  description
                    "This represents fixed color value.";
                }
              }  // case fixed
            }  // choice frame-to-cos
    
            leaf cos-to-frame-map {
              type ctf:cos-to-frame-ref;
              description
                "Reference to a CoS to frame mapping.";
            }
    
            leaf flood-containment-profile {
              type mef-fc:flood-containment-profile-ref;
              description
                "Reference to a Flood Containment Profile definition.";
            }
    
            leaf-list classifier-list {
              type classifier:classifier-ref;
              description
                "This represents a list of references to Netconf classifier objects.";
            }
    
            leaf classifier-list-precedence {
              type uint32;
              description
                "This represents a list of classifier precedence.";
            }
    
            leaf mac-learning {
              type enumeration {
                enum "enabled" {
                  value 0;
                  description
                    "Enables MAC learning.";
                }
                enum "disabled" {
                  value 1;
                  description
                    "Disables MAC learning.";
                }
              }
              description
                "This represents MAC learning status.";
            }
    
            leaf meter-profile {
              type meter:meter-ref;
              description
                "A reference to a Meter Profile.";
            }
    
            leaf pfg-group {
              type enumeration {
                enum "leaf" {
                  value 0;
                  description
                    "Represents PFG group leaf.";
                }
                enum "root" {
                  value 1;
                  description
                    "Represents PFG group root.";
                }
                enum "mesh" {
                  value 2;
                  description
                    "Represents PFG group mesh.";
                }
                enum "spoke" {
                  value 3;
                  description
                    "Represents PFG group spoke.";
                }
                enum "group-A" {
                  value 4;
                  description
                    "Represents PFG group group-A.";
                }
                enum "group-B" {
                  value 5;
                  description
                    "Represents PFG group group-B.";
                }
                enum "group-C" {
                  value 6;
                  description
                    "Represents PFG group group-C.";
                }
                enum "group-D" {
                  value 7;
                  description
                    "Represents PFG group group-D.";
                }
              }
              description
                "The Private-Forwarding-Group that the flow-point belongs to for the scope of a
    Private-Forwarding-Group-Profile.
    Can be leaf/root for a PFG-profile with PFG-type of leaf-and-root or
    spokemesh-and-leafroot.
    Can be mesh/spoke for a PFG-profile with PFG-type of spoke-and-mesh or
    spokemesh-and-leafroot.
    Can be groupA/B/C/D for a PFG-profile with PFG-type of pfg-groups.";
            }
    
            leaf queue-group-instance {
              type mef-egress-qos:queue-group-ref;
              description
                "A reference to a Queue Group Instance.";
            }
    
            leaf stats-collection {
              type enumeration {
                enum "on" {
                  value 0;
                  description
                    "Stats collection on.";
                }
                enum "off" {
                  value 1;
                  description
                    "Stats collection off.";
                }
              }
              description
                "Determines whether stats collection will be turned on or not for a flow-point.";
            }
          }  // list fp
        }  // container fps
    
        container fps-state {
          config false;
          description
            "Flow Point operational data for all Flow-Points.";
          list fp {
            key "name";
            description
              "The operational data for this Flow Point.";
            leaf name {
              type string;
              description
                "A string that identifies the flow point.";
            }
    
            leaf rxAcceptedBytes {
              type uint64;
              description
                "Ingress accepted byte count.";
            }
    
            leaf rxAcceptedFrames {
              type uint64;
              description
                "Ingress accepted frame count.";
            }
    
            leaf txForwardedBytes {
              type uint64;
              description
                "Egress forwarded byte count.";
            }
    
            leaf txForwardedFrames {
              type uint64;
              description
                "Egress forwarded frame count.";
            }
    
            leaf rxYellowBytes {
              type uint64;
              description
                "Ingress yellow byte count.";
            }
    
            leaf rxYellowFrames {
              type uint64;
              description
                "Ingress yellow frame count.";
            }
    
            leaf rxDroppedBytes {
              type uint64;
              description
                "Ingress dropped byte count.";
            }
    
            leaf rxDroppedFrames {
              type uint64;
              description
                "Ingress dropped frame count.";
            }
          }  // list fp
        }  // container fps-state
      }  // module ciena-mef-fp
    

© 2023 YumaWorks, Inc. All rights reserved.