--  =======================================================================
--  File        : osModule.mib
--  Description : Private MIB support the functionality of MEF Ethernet Virtual Connections
--  By          : Pavel Fridland

-- Copyright (c) 2022 ADVA.  All Rights Reserved.
--
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This ADVA SNMP MIB Specification
-- embodies ADVA's proprietary intellectual property.  ADVA
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is ADVA's intent to encourage the widespread use of this
-- specification in connection with the management of ADVA's
-- products. ADVA grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of ADVA's products.
--
-- This specification is supplied "AS IS," and ADVA makes no
-- warranty, either express or implied, as to the use, operation,
-- condition, or performance of the specification.
--
-- Copyright text courtesy of ADVA
--
-- If you have any questions about this MIB, please call ADVA
-- Technical Support Center at 1-800-858-7815 from inside USA or
-- 1-818-773-0900 from outside USA.
--
--
-- ADVA retains the right to change this MIB without notification.

OS-MODULE-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE,
                Unsigned32                                    FROM SNMPv2-SMI
                DisplayString                                 FROM SNMPv2-TC
                MODULE-COMPLIANCE, OBJECT-GROUP               FROM SNMPv2-CONF
                oaOptiSwitch                                  FROM OS-COMMON-TC-MIB;

osModule     MODULE-IDENTITY
                LAST-UPDATED "202207130000Z" -- 13 Jul. 2022
                ORGANIZATION "ADVA"
                CONTACT-INFO
                   "Pavel Fridland
                    ADVA Optical Networking, Inc
                    http://www.adva.com
                    Email:  pfridland@adva.com"
                DESCRIPTION
                    "Support Modules capabilities parameters."
                
                REVISION     "202207130000Z" -- 13 Jul. 2022
                DESCRIPTION
                "Object name osModCapAPNnum change to osModCapMaxAPNnum.
                 Description is chaned."

                REVISION     "202206080000Z" -- 08 Jun. 2022
                DESCRIPTION
                "Object osModCapWlComType is removed.
                 New bit-values capFourG and capFiveG are added in object osModCapWlComBin.
		 Object osModuleModType is added."

	        REVISION     "202206060000Z" -- 06 Jun. 2022
                DESCRIPTION
                    "Initial edition."		
                ::= { oaOptiSwitch 44 }

-- ************************************************************
-- MIB place Definition
-- ************************************************************

osModuleGen            OBJECT IDENTIFIER ::= { osModule 1 }
osModuleCapabilities   OBJECT IDENTIFIER ::= { osModule 2 }
osModConformance       OBJECT IDENTIFIER ::= { osModule 100 }
osModCapGlobal         OBJECT IDENTIFIER ::= { osModuleCapabilities  1 }
osModCapWirelesslCom   OBJECT IDENTIFIER ::= { osModuleCapabilities  2 }
osModCapNFV            OBJECT IDENTIFIER ::= { osModuleCapabilities  3 }
osModMIBCompliances    OBJECT IDENTIFIER ::= { osModConformance 1 }
osModMIBGroups         OBJECT IDENTIFIER ::= { osModConformance 2 }

osModuleSupport   OBJECT-TYPE
   SYNTAX     INTEGER { notSupported(1), supported(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "Indicates that this MIB is supported."
   ::= { osModuleGen 1 }

osModuleType   OBJECT-TYPE
    SYNTAX     INTEGER {
                        empty    (0),
                        unknown  (1),
			vdsl     (2),
			lte      (3),
			nfv      (4),
			nfvLte   (5),
			fiveG    (6)
                       }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "Module Type."
  ::= { osModuleGen 2 }

osModuleAction   OBJECT-TYPE
   SYNTAX     INTEGER {
                        none        (0),
                        modemReset  (1)
                      }
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "Module Action: modemReset - reboot lte0 or five-g modem."
   ::= { osModuleGen 3 }

osModuleDescription   OBJECT-TYPE
   SYNTAX     DisplayString (SIZE (2..255))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "Module description."
   ::= { osModuleGen 4 }


--3456789a123456789b123456789c123456789d123456789e123456789f123456789g123456789

-- **************************************************************
-- osModuleCapabilities - Global Modules Capabilities
-- **************************************************************

osModuleGlobalCaps OBJECT-TYPE
    SYNTAX       BITS {
                      capWireless  (0),
                      capNfv       (1) 
                      }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
      "Indicates Global Capabilities Types, that supported by the module. "
    ::= { osModCapGlobal 1 }

-- ******************************************************************
-- osModCapWirelesslCom - Wireless Communication Modules Capabilities
-- ******************************************************************

osModuleWirelessCaps OBJECT-TYPE
    SYNTAX       BITS {
                      capLinkProtection  (0),
                      capMobileAccess    (1),
                      capFourG           (2),
                      capFiveG           (3)
                    }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
      "Indicates Wireless Communication Binary Capabilities, that supported by the module. "
    ::= { osModCapWirelesslCom 1 }

osModCapLinkProtectionRev       OBJECT-TYPE
    SYNTAX             DisplayString (SIZE (2..63))
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Link Protection revision."
    ::= { osModCapWirelesslCom 3 }

osModuleMaxApn OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Maximum number of APN profiles."
    ::= { osModCapWirelesslCom 4 }

-- ******************************************************************
-- osModCapNFV - NFV Modules Capabilities
-- ******************************************************************

osModuleNfvCaps OBJECT-TYPE
    SYNTAX       BITS {
                      capSingleIP                    (0),
                      capPCIe                        (1)
                    }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
      "Indicates NFV Binary Capabilities, that supported by the module. "
    ::= { osModCapNFV 1 }

-- *******************************************************************
--  Conformance Information 
-- ******************************************************************* 

osModuleMIBCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The core compliance statement for all the osModule MIB implementations."
    MODULE -- this module 
    MANDATORY-GROUPS { 
        osModuleGroup
    }
    GROUP osModuleOptGroup
    DESCRIPTION 
        "Optional objects for the osModule MIB."

    ::= { osModMIBCompliances 1 }

-- ...................................................................
-- Conformance Groups 
-- ................................................................... 

osModuleGroup OBJECT-GROUP
    OBJECTS {
        osModuleSupport  
    }
    STATUS current 
    DESCRIPTION 
        "Mandatory Conformance group."
    ::= { osModMIBGroups 1 }

osModuleOptGroup OBJECT-GROUP 
    OBJECTS  {
    osModuleSupport,
    osModuleType,
    osModuleAction,
    osModuleDescription,
    osModuleGlobalCaps,
    osModuleWirelessCaps,
    osModCapLinkProtectionRev,
    osModuleMaxApn,
    osModuleNfvCaps
    } 
    STATUS current 
    DESCRIPTION 
        "Optional objects for the osModule MIB."
    ::= { osModMIBGroups 2 } 
 
END


