dell-base-common

This module contains a collection of common YANG derived types used in other Base Yang modules. Copyright (c) 2015-2019 by Dell...

  • Version: 2018-09-18

    dell-base-common@2018-09-18


    
      module dell-base-common {
    
        yang-version 1;
    
        namespace
          "http://www.dellemc.com/networking/os10/dell-base-common";
    
        prefix base-cmn;
    
        organization "Dell EMC";
    
        contact "http://www.dell.com/support";
    
        description
          "This module contains a collection of common YANG derived types used
    in other Base Yang modules.
    
    Copyright (c) 2015-2019 by Dell EMC, All rights reserved.";
    
        revision "2018-09-18" {
          description
            "Added 8x1 breakout mode for new 8x25G and 8x10G modules.
    This change addresses a bug that previously used 8x2 breakout modes for QSFP28-DD 8x25G and 8x10G modules";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2018-05-08" {
          description
            "Added support for VLAN filtering feature which enables applications
    to enable or disable VLAN filtering on an interface";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2018-04-12" {
          description
            "Fixing pyang IETF errors and adding documentiation to the model.";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2018-03-12" {
          description
            "Added Enum for vlan sub interface type";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2017-10-10" {
          description
            "Add grouping for ip address.
    Add typedef vni for VxLAN.
    Add enumeration for bridge and vxlan for interface type";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2015-09-24" {
          description
            "Added Enum values to breakout-mode";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2015-05-27" {
          description "Phase 2 of clean-up work";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2015-05-21" {
          description "Phase 1 of clean-up work";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2015-04-03" {
          description
            "Added the opaque data types";
          reference
            "Network Platform Abstraction";
    
        }
    
        revision "2015-03-12" {
          description "Initial revision";
          reference
            "Network Platform Abstraction";
    
        }
    
    
        typedef logical-ifindex {
          type uint32;
          description
            "Uniquely identifies any interface system-wide including
    physical ports, LAG interfaces and Vlan interfaces";
        }
    
        typedef npu-id {
          type uint32;
          description
            "Uniquely identifies a Network Processing Unit hardware
    in the system";
        }
    
        typedef npu-port-id {
          type uint32;
          description
            "Identifies a port within a Network Processing Unit";
        }
    
        typedef logical-switch-id {
          type uint32;
          description
            "Logical Switch Identifier. Logical switch is a grouping
    of one or more NPU(s) in the system. Each NPU can belong
    to only one logical switch";
        }
    
        typedef vlan-id {
          type uint16 {
            range "1 .. 4094";
          }
          description
            "This type denotes a IEEE 802.1Q VLAN Identifier.";
          reference
            "IEEE 802.1Q";
    
        }
    
        typedef vni {
          type uint32 {
            range "1 .. 16777215";
          }
          description
            "This type denotes a VXLAN Network Identifier.
    It is 24 bits long. Hence 16 million such unique ID's are possible";
        }
    
        typedef mac-address {
          type binary {
            length "6";
          }
          description
            "This type denotes a MAC address as a 6 octet binary number
    in network-byte order.";
        }
    
        typedef ipv4-address {
          type binary {
            length "4";
          }
          description
            "This type denotes a IPv4 address as a 4 octet binary number
    in network-byte order.";
        }
    
        typedef ipv6-address {
          type binary {
            length "16";
          }
          description
            "This type denotes a IPv6 address as a 16 octet binary number
    in network-byte order.";
        }
    
        typedef ip-address {
          type union {
            type ipv4-address;
            type ipv6-address;
          }
          description
            "This type denotes a IP address (V4 or V6) 4/16 binary number
    in network-byte order.";
        }
    
        typedef af-type {
          type enumeration {
            enum "inet" {
              value 2;
            }
            enum "inet6" {
              value 10;
            }
          }
          description "Address Family";
        }
    
        typedef traffic-path {
          type enumeration {
            enum "ingress" {
              value 1;
              description
                "Enable sampling on Ingress packets";
            }
            enum "egress" {
              value 2;
              description
                "Enable sampling of Egress packets";
            }
            enum "ingress-egress" {
              value 3;
              description
                "Enable sampling of Ingress and Egress packets";
            }
          }
          default "ingress-egress";
          description
            "Different packet forwarding pipeline stages
    (ingress or egress or both) where traffic could be sampled.
    By default both the ingress and egress packets are sampled.";
        }
    
        typedef fec-type {
          type enumeration {
            enum "auto" {
              value 1;
              description
                "FEC type is set based on the transceiver type.";
            }
            enum "off" {
              value 2;
              description
                "FEC is supported but disabled.";
            }
            enum "cl91-rs" {
              value 3;
              description "Enables clause 91 RS";
            }
            enum "cl74-fc" {
              value 4;
              description
                "Enables clause 74 Fire Code";
            }
            enum "cl108-rs" {
              value 5;
              description
                "Enables clause 108 RS";
            }
            enum "not-supported" {
              value 6;
              description "FEC is not supported";
            }
          }
          description
            "Enumeration of all supported Forward-Error-Correction codes";
        }
    
        typedef admin-status-type {
          type enumeration {
            enum "up" {
              value 1;
              description "administratively up.";
            }
            enum "down" {
              value 2;
              description "shutdown mode.";
            }
            enum "testing" {
              value 3;
              description "Testing mode.";
            }
          }
          description
            "Enumeration of all possible values for admin status";
        }
    
        typedef oper-status-type {
          type enumeration {
            enum "up" {
              value 1;
              description
                "Ready to pass packets.";
            }
            enum "down" {
              value 2;
              description "Entity is down.";
            }
            enum "testing" {
              value 3;
              description
                "In some test mode.  No operational packets can
    be passed.";
            }
            enum "unknown" {
              value 4;
              description
                "Status cannot be determined for some reason.";
            }
            enum "dormant" {
              value 5;
              description
                "Waiting for some external event.";
            }
            enum "not-present" {
              value 6;
              description
                "Some component (typically hardware) is missing.";
            }
            enum "lower-layer-down" {
              value 7;
              description
                "Down due to state of lower-layer interface(s).";
            }
            enum "fail" {
              value 8;
              description
                "The interface has an internal failure.";
            }
          }
          description
            "Enumeration of all possible values for operational status";
        }
    
        typedef stat-type {
          type enumeration {
            enum "port-stat" {
              value 1;
            }
            enum "flow-stat" {
              value 2;
            }
            enum "prefix-stat" {
              value 3;
            }
            enum "queue-stat" {
              value 4;
            }
            enum "buffer-stat" {
              value 5;
            }
            enum "interface-stat" {
              value 6;
            }
          }
          description
            "various statistics type that can be supported with Flex Stat";
        }
    
        typedef interface-type {
          type enumeration {
            enum "l3-port" {
              value 1;
            }
            enum "l2-port" {
              value 2;
            }
            enum "loopback" {
              value 3;
            }
            enum "null" {
              value 4;
            }
            enum "tunnel" {
              value 5;
            }
            enum "svi" {
              value 6;
            }
            enum "cpu" {
              value 7;
            }
            enum "management" {
              value 8;
            }
            enum "ethernet" {
              value 9;
            }
            enum "vlan" {
              value 10;
            }
            enum "lag" {
              value 11;
            }
            enum "vrf" {
              value 12;
            }
            enum "macvlan" {
              value 13;
            }
            enum "vxlan" {
              value 14;
            }
            enum "bridge" {
              value 15;
            }
            enum "vlan_subintf" {
              value 16;
            }
          }
          description
            "Enumeration of the various supported interface types";
        }
    
        typedef encap-type {
          type enumeration {
            enum "tagged" {
              value 1;
              description
                "Ethernet frame includes a VLAN tag.";
            }
            enum "untagged" {
              value 2;
              description
                "Ethernet frame does not include a VLAN tag.";
            }
            enum "prio-tagged" {
              value 3;
              description
                "Ethernet frame includes VLAN tag set to zero.
    These packet(s) is(are) processed as per the priority configured in the 802.1P bits
    of the 802.1Q Ethernet frame header.";
            }
          }
          description
            "Supported encapsulation types.";
        }
    
        typedef lag-hash-type {
          type enumeration {
            enum "src-ip" {
              value 1;
            }
            enum "dest-ip" {
              value 2;
            }
            enum "src-dest-ip" {
              value 3;
            }
            enum "src-port" {
              value 4;
            }
          }
          description "lag hashing info types";
        }
    
        typedef tun-type {
          type enumeration {
            enum "ipv4-tunnel" {
              value 1;
            }
            enum "ipv6-tunnel" {
              value 2;
            }
            enum "gre-tunnel" {
              value 3;
            }
            enum "vxlan-tunnel" {
              value 4;
            }
            enum "nvgre-tunnel" {
              value 5;
            }
            enum "erspan-tunnel" {
              value 6;
            }
            enum "mpls-tunnel" {
              value 7;
            }
          }
          description
            "Encapsulation types: need to add more types";
        }
    
        typedef base-obj-id-type {
          type uint64;
          description
            "Common type for object IDs returned to Applications";
        }
    
        typedef qos-meter-opaque-data {
          type binary;
          description
            "Meter info opaque data blob that Application obtains from
    QoS module and passes to other Base modules.";
        }
    
        typedef qos-queue-opaque-data {
          type binary;
          description
            "Queue info opaque data blob that Application obtains from
    QoS module and passes to other Base modules.";
        }
    
        typedef mirror-opaque-data {
          type binary;
          description
            "Mirroring session opaque data blob that Application obtains from
    Mirroring module and passes to other Base modules.";
        }
    
        typedef lag-opaque-data {
          type binary;
          description
            "LAG opaque data blob that Application obtains from
    LAG module and passes to other Base modules.";
        }
    
        typedef ip-nexthop-group-opaque-data {
          type binary;
          description
            "IP Nexthop group info opaque data blob that Application obtains
    from Routing module and passes to other Base modules.";
        }
    
        typedef mirror-id {
          type uint32;
          description
            "Identifier of the NAS mirror-session";
        }
    
        typedef dot1p {
          type uint8 {
            range "0..7";
          }
          description
            "3-bit of priority field in 802.1Q header";
        }
    
        typedef traffic-class {
          type uint8;
          description
            "Traffic class, i.e. internal QoS level";
        }
    
        typedef loopback-type {
          type enumeration {
            enum "none" {
              value 1;
              description "no loopback.";
            }
            enum "phy" {
              value 2;
              description "layer 1 loopback.";
            }
            enum "mac" {
              value 3;
              description "layer 2 loopback.";
            }
          }
          description
            "Physical port's loopback modes";
        }
    
        typedef duplex-type {
          type enumeration {
            enum "full" {
              value 1;
              description "bi-directional mode.";
            }
            enum "half" {
              value 2;
              description
                "uni-directional mode.";
            }
            enum "auto" {
              value 3;
              description
                "The mode is set as full/half depending on environmental factors
    such as the type of the media, transmisson speed of the next-hop etc.";
            }
          }
          description
            "Enumeration of all possible values for duplex mode";
        }
    
        typedef breakout-type {
          type enumeration {
            enum "DISABLED" {
              value 1;
              description
                "breakout is not allowed on the given port(s).";
            }
            enum "BREAKOUT_4x1" {
              value 2;
              description
                "1 physical port mapping to 4 logical interfaces.";
            }
            enum "BREAKOUT_2x1" {
              value 3;
              description
                "1 physical port mapping to 2 logical interfaces.";
            }
            enum "BREAKOUT_1x1" {
              value 4;
              description
                "1 physical port mapping to 1 logical interface.";
            }
            enum "BREAKOUT_8x2" {
              value 5;
              description
                "2 physical ports mapping to 8 logical interface.";
            }
            enum "BREAKOUT_2x2" {
              value 6;
              description
                "2 physical ports mapping to 2 logical interface.";
            }
            enum "BREAKOUT_4x4" {
              value 7;
              description
                "4 physical ports mapping to 4 logical interface.";
            }
            enum "BREAKOUT_2x4" {
              value 8;
              description
                "4 physical ports mapping to 2 logical interface.";
            }
            enum "BREAKOUT_4x2" {
              value 9;
              description
                "2 physical ports mapping to 4 logical interface.";
            }
            enum "BREAKOUT_UNKNOWN" {
              value 10;
              description
                "breakout is not identified due to unknown reason(s).";
            }
            enum "NO_BREAKOUT" {
              value 11;
              description
                "breakout is not supported on the given port(s).";
            }
            enum "BREAKOUT_8x1" {
              value 12;
              description
                "1 physical port mapping to 8 logical interfaces.";
            }
          }
          description
            "Enumeration of all possible breakout modes";
        }
    
        grouping ip {
          description
            "IPv4 or IPv6 address and address family type";
          leaf addr-family {
            type af-type;
            description "IP address family type";
          }
    
          leaf addr {
            type ip-address;
            description "IPv4/IPv6 address";
          }
        }  // grouping ip
    
        typedef operation-type {
          type enumeration {
            enum "CREATE" {
              value 1;
              description "Create operation.";
            }
            enum "DELETE" {
              value 2;
              description "Delete operation.";
            }
            enum "UPDATE" {
              value 3;
              description "Update operation.";
            }
          }
          description "Generic operation types.";
        }
    
        typedef filter-type {
          type enumeration {
            enum "DISABLE" {
              value 1;
              description
                "Operation to disable both ingress and egress filtering";
            }
            enum "ENABLE" {
              value 2;
              description
                "Operation to enable both ingress and egress filtering";
            }
            enum "INGRESS_ENABLE" {
              value 3;
              description
                "Operation to enable only ingress filtering";
            }
            enum "EGRESS_ENABLE" {
              value 4;
              description
                "Operation to enable only egress filtering";
            }
          }
        }
      }  // module dell-base-common
    

© 2023 YumaWorks, Inc. All rights reserved.