--/****************************************************************************
--
--  Copyright (C), 1998-2021, zte Telecom. Co., Ltd.
--
--*****************************************************************************
--  File Name     : ZTE-SERVER-BMC-MIB.mib
--
--****************************************************************************/

ZTE-SERVER-BMC-MIB DEFINITIONS ::= BEGIN
	IMPORTS    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,Integer32
                   FROM SNMPv2-SMI
               Counter32,
               IpAddress,
               Gauge32,
               Unsigned32,
               TimeTicks,
               Opaque,
               Counter64
                   FROM SNMPv2-SMI
               RowStatus,
               StorageType
                   FROM SNMPv2-TC
               SnmpAdminString
                   FROM SNMP-FRAMEWORK-MIB
               enterprises
                   FROM SNMPv2-SMI
               DisplayString
    			   FROM RFC1213-MIB;

        zte OBJECT IDENTIFIER ::= { enterprises 3902 }
        ssp OBJECT IDENTIFIER ::= { zte 2601 }
        zteServer OBJECT IDENTIFIER ::={ ssp 15 }


        zteBMC MODULE-IDENTITY
              LAST-UPDATED 	"202109030000Z"
              ORGANIZATION 	"zte Telecom. Co."
              CONTACT-INFO
              				" http://zte.com.cn"
              DESCRIPTION
                            "The ZTE-SERVER-IBMC-MIB contains objects to Manage the server."
              ::= { zteServer 1 }

--    ****** System Location *******************************
		systemInfo OBJECT IDENTIFIER ::= { zteBMC 1 }


		systemHealth OBJECT-TYPE
			SYNTAX INTEGER
				{
				ok(0),
				minor(2),
				major(3),
				critical(4)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"systemHealth information about system present state of health.
				This value will be one of the following:
				(0-OK, 2-Minor, 3-Major, 4-Critical)"
			::= { systemInfo 1 }


		systemTime OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"systemTime information about iBMC system time.
				the value such as (yyyy-mm-dd hh:mm:ss)."
			::= { systemInfo 2 }


		systemTimeZone OBJECT-TYPE
			SYNTAX Integer32 (-720..840)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"systemTimeZone information about iBMC time zone（Integer）.
				The value is in [-720, 840]."
			::= { systemInfo 3 }


		systemTimeZoneStr OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"systemTimeZone information about iBMC time zone(String).
				The value such as (Asia/Shanghai(GMT+08:00 CST))."
			::= { systemInfo 4 }


		systemBootsequence OBJECT-TYPE
			SYNTAX INTEGER
				{
				noOverride(0),
				pxe(1),
				hdd(2),
				cdDvd(5),
				biosSetup(6),
				removableDevice(15)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				" Decide the system's first boot device.
					1 - No override
					2 - Force PXE
					3 - Force boot from default Hard-drive
					4 - Force boot from default CD/DVD
					5 - Force boot into BIOS Setup
					6 - Force boot from Floppy/primary removable media"
			::= { systemInfo 5 }


		systemBootMode OBJECT-TYPE
			SYNTAX INTEGER
				{
				legacy(0),
				UEFI(1)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Decide the system's boot mode.
					1 - legacy
					2 - UEFI"
			::= { systemInfo 6 }


		systemBootOnce OBJECT-TYPE
			SYNTAX INTEGER
				{
				oneTime(0),
				permanent(1)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"System boot once or permanent.
					1 - one time
					2 - permanent
					When setting one-time boot options, set systemBootOnce
					before systemBootsequence and systemBootMode"
			::= { systemInfo 7 }


		systemGuid OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The GUID is hex string such as
				********-****-****-****-************."
			::= { systemInfo 8 }


		deviceName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The device name value between 1 to 63 characters."
			::= { systemInfo 9 }


		deviceSerialNo OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The device serial number value between 1 to 63 characters."
			::= { systemInfo 10 }


		hostName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The host name value between 1 to 63 characters.
				 The length of the string is not more than 63 characters and not lessthan 1 character,
				and can contain letters, Numbers, and '-', but,Numbers and '-' can not be the first, '-' can not be the last char."
			::= { systemInfo 11 }


		boardAssetTag OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Asset tag is a string of 1 to 63 alpha-numeric characters.
				 It is case-sensitive. Special characters '-'(hyphen), ':'(colon), '_'(underscore), ' '(space), '@'(a-tail) are allowed.
				 Special characters '-'(hyphen), ':'(colon), '_'(underscore) and ' '(space) cannot be at the beginning or end."
			::= { systemInfo 12 }


		chassisIntrusionState OBJECT-TYPE
			SYNTAX INTEGER
				{
				normal(1),
				chassisIntrusion(2),
				unknown(-1)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Chassis intrusion state.
				   -1 - unknown state
					1 - state is normal
					2 - state is chassis intrusion"
			::= { systemInfo 13 }


		systemPowerState OBJECT-TYPE
			SYNTAX INTEGER
				{
				powerOff(0),
				powerOn(1),
				powerCycle(2),
				powerReset(3),
				normalPowerOff(5),
				}
				
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"System Power Status Get.
				0 - Power Status Is Off
				1 - Power Status Is On
				System Power Status Set.
				0  - Forced Power Off
				1  - Power On
				2  - Forced Power Off Then Power On
				3  - Forced System Restart
				5  - Normal Power Off
				The set actions are a process which will take effect in a while.
				When system in powerOff state, Power Off/Reset/PowerCycle commonds are not supported."
			::= { systemInfo 14 }


		systemPowerOnPolicy OBJECT-TYPE
			SYNTAX INTEGER
				{
				stayoff(1),
				restorePreviousState(2),
				turnon(3)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"1  - Stay Off
				 2  - Restore Previous State
				 3  - Turn On"
			::= { systemInfo 15 }


		systemPresentPower OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Display the present system power."
			::= { systemInfo 16 }


		identify OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"identify use to control on or off of led.
				 identify mode:
				 0  - Off
				 1  - Temporary On
				 2  - Force Identify On

				 set format: <mode>,[ontime]
				 get format: <mode>

				 When <mode> = 0 or <mode> = 2,
				 the format is only <mode>.

				 [ontime] is option and value is in [1,255],
				 When set Temporary On without [ontime],
				 The default Temporary On time are 15 seconds."
			::= { systemInfo 17 }


		systemCpuUsage OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Percent of CPU usage.
				The value defined as:
				-1: invalid current CPU usage.
				[0,100]: represents the current CPU usage."
			::= { systemInfo 18 }


		systemMemUsage OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Percent of memory usage.
				The value defined as:
				-1: invalid current memory usage.
				[0,100]: represents the current memory usage."
			::= { systemInfo 19 }


		systemIoUsage OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Percent of IO usage.
				The value defined as:
				-1: invalid current IO usage.
				[0,100]: represents the current IO usage.
				255: unknown.
				NOTE:The Intel management Engine (ME) provides the ios usage. Other cpu platforms dont support this usage."
			::= { systemInfo 20 }


		systemCpuUsageThre OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Percent of CPU usage threshold.
				 This value is in [0,100].
				 If the value is more than 100, the alarm is disabled."
			::= { systemInfo 21 }

		systemMemUsageThre OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Percent of memory usage threshold.
				 This value is in [0,100].
				 If the value is more than 100, the alarm is disabled."
			::= { systemInfo 22 }

		systemDiskPartitionUsageThre OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Percent of hard disk partition usage threshold.
				 This value is in [0,100].
				 If the value is more than 100, the alarm is disabled."
			::= { systemInfo 23 }


		bmcReboot OBJECT-TYPE
			SYNTAX INTEGER
			        {
			        reboot(1)
			        }
			MAX-ACCESS write-only
			STATUS current
			DESCRIPTION
				"Reboot the BMC management system.When set, the value is only 1, write only."
			::= { systemInfo 24 }

--    ****** systemHealthEvent Information *******************************

--	  systemHealthEvent OBJECT IDENTIFIER ::= { system 30 }

		systemHealthEventDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF SystemHealthEventDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the part component."
			::= { systemInfo 50 }

        systemHealthEventDescriptionEntry OBJECT-TYPE
			SYNTAX SystemHealthEventDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"."
			INDEX { eventIndex }
			::= { systemHealthEventDescriptionTable 1 }

		SystemHealthEventDescriptionEntry ::=
			SEQUENCE {
				eventIndex
					INTEGER,
				eventSensorName
					DisplayString,
				eventAlertTime
					DisplayString,
				eventAlertSeverity
					INTEGER,
				eventDescription
					DisplayString,
				eventCode
					DisplayString,
				eventOID
					DisplayString
					}


		eventIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about event id."
			::= { systemHealthEventDescriptionEntry 1 }


		eventSensorName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The sensor name between 1 to 16 characters."
			::= { systemHealthEventDescriptionEntry 2 }


		eventAlertTime OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The format of alert time is yyyy-mm-dd hh:mm:ss, based on UTC."
			::= { systemHealthEventDescriptionEntry 3 }


		eventAlertSeverity OBJECT-TYPE
			SYNTAX INTEGER
				{
				ok(0),
				minor(2),
				major(3),
				critical(4)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The information about event level."
			::= { systemHealthEventDescriptionEntry 4 }


		eventDescription OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The event description between 1 to 255 characters."
			::= { systemHealthEventDescriptionEntry 5 }

		eventCode OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The information about event code."
			::= { systemHealthEventDescriptionEntry 6 }

		eventOID OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The object identification of current event."
			::= { systemHealthEventDescriptionEntry 7 }

--    ****** domainNameSystem Location *******************************
		domainNameSystem OBJECT IDENTIFIER ::= { zteBMC 2 }

		dnsEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about DNS enabled."
			::= { domainNameSystem 1 }

		dnsServerSetup OBJECT-TYPE
			SYNTAX INTEGER
			{
				manual(1),
				autoBaseIPv4(2),
				autoBaseIPv6(3)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about DNS server setup."
			::= { domainNameSystem 2 }

		dnsDynamicRegistration OBJECT-TYPE
			SYNTAX INTEGER
			{
				hostname(1),
				FQDN(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about DNS dynamic registration method."
			::= { domainNameSystem 3 }

		dnsDomainName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Domain name."
			::= { domainNameSystem 4 }

		preferredDNSServer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Preferred DNS server address."
			::= { domainNameSystem 5 }

		alternateDNSServer1 OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Alternate DNS server address. Its value can be empty."
			::= { domainNameSystem 6 }

		alternateDNSServer2 OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Alternate DNS server address. Its value can be empty."
			::= { domainNameSystem 7 }

--    ****** ntp Information *************************************************

		ntp OBJECT IDENTIFIER ::= { zteBMC 5 }

		bmcTimeSource OBJECT-TYPE
			SYNTAX INTEGER
				{
					fromNtp(1),
					fromBios(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Information about ntp sync status."
			::= { ntp 1 }
			
         primaryNtpServer OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..128))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"1.Ntp primary server. 
                 2.IPv4 or IPv6 address, or domain name of the preferred NTP server.
                 3.The default value is a null string.
                 4.Setting the value to 0.0.0.0 can clear the parameter value."
			::= { ntp 2 }

		secondaryNtpServer OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..128))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"1.Ntp primary server. 
                 2.IPv4 or IPv6 address, or domain name of the preferred NTP server.
                 3.The default value is a null string.
                 4.Setting the value to 0.0.0.0 can clear the parameter value."
			::= { ntp 3 }

         tertiaryNtpServer OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..128))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"1.Ntp tertiary server. 
                 2.IPv4 or IPv6 address, or domain name of the preferred NTP server.
                 3.The default value is a null string.
                 4.Setting the value to 0.0.0.0 can clear the parameter value."
			::= { ntp 4 }

         ntpInterval OBJECT-TYPE
			SYNTAX INTEGER (60..65535)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"1.interval seconds of Ntp.
                 2.Min value is 60s."
			::= { ntp 5 }

--    ****** syslog Information *******************************
	syslog OBJECT IDENTIFIER ::= { zteBMC 6 }


		syslogEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The enable state of syslog.
 				Default value is disable(1)."
			::= { syslog 1 }

		syslogIdentity OBJECT-TYPE
			SYNTAX INTEGER
			{
				boardSN(1),
				productAssetTag(2),
				hostName(3)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Choose the server Identity when sending syslog."
			::= { syslog 2 }

		syslogProtocolType OBJECT-TYPE
			SYNTAX INTEGER
			{
				udp(1),
				tcp(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The syslog protocol type.
				 udp:When receiving messages using the UDP protocol.
				 tcp:When receiving messages using the TCP protocol."
			::= { syslog 3 }

--    ****** syslogInfoDescriptionTable Information *******************************

		syslogInfoDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF SyslogInfoDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the list of Syslog Server Configuration."
			::= { syslog 50 }

        syslogInfoDescriptionEntry OBJECT-TYPE
			SYNTAX SyslogInfoDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about a server configuration list."
			INDEX { syslogReceiverIndex }
			::= { syslogInfoDescriptionTable 1 }

		SyslogInfoDescriptionEntry ::=
			SEQUENCE {
				syslogReceiverIndex
					INTEGER,
				syslogReceiverEnable
					INTEGER,
				syslogReceiverAddress
					DisplayString,
				syslogReceiverPort
					INTEGER,
				syslogSendLogType
					DisplayString,
				syslogReceiverTest
					INTEGER
					}

		syslogReceiverIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about syslog receiver index."
			::= { syslogInfoDescriptionEntry 1 }

		syslogReceiverEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Syslog receiver state.
                                        1 - disable,
					2 - enable."
			::= { syslogInfoDescriptionEntry 2 }

		syslogReceiverAddress OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Syslog receiver IP addrsss.
				 Default value is empty."
			::= { syslogInfoDescriptionEntry 3 }
			
		syslogReceiverPort OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Syslog receiver port.[1~65535]
				 Default value is 514."
			::= { syslogInfoDescriptionEntry 4 }

		syslogSendLogType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The log type of syslog send.
				 Support set/get any combination of the 3 log type(OperationLogs,SecurityLogs,EventLogs), use comma to separate them.
				 all is also supported,but never use it with the 3 log types together.
				 e.g. 
					To set OperationLogs + SecurityLogs log type message, just set:
						OperationLogs,SecurityLogs
					To set EventLogs message, just set:
						EventLogs
					To set all level message, just set:
        				all"
			::= { syslogInfoDescriptionEntry 5 }

		syslogReceiverTest OBJECT-TYPE
			SYNTAX INTEGER
			{
				test(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Test the syslog.
				When set, the value is only 1."
			::= { syslogInfoDescriptionEntry 6 }

--    ****** trap Location *******************************
	trap OBJECT IDENTIFIER ::= { zteBMC 7 }


		trapEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(0),
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The state of Trap.
				This value will be one of the following:
				(0-disable, 1-enable)"
			::= { trap 1 }

		trapVersion OBJECT-TYPE
			SYNTAX INTEGER
			{
				v1(1),
				v2c(2),
				v3(3)
			}
			
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Trap version.
				This value will be one of the following:
				(1-v1, 2-v2c, 3-v3)"
			::= { trap 2 } 
			
		trapCommunity OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"SNMP trap community is a string of 1 to 18 alpha-numeric and special characters.
                 Special characters: visible character except ' '(space), '''(single quotes), '\'(Backslash).
 				 '#'(#) cannot be at the beginning."
			::= { trap 3 }

		trapSecurityUserName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The security user name for SNMP TRAP V3, the user should be one of the BMC local user(with SNMP channel permission)."
			::= { trap 4 } 
			
		trapServerIdentity OBJECT-TYPE
			SYNTAX INTEGER
			{
			 boardSN(1),
			 productAssetTag(2),
			 hostName(3)
			}

			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Choose the server Identity when sending trap."
			::= { trap 5 }

		trapLevel OBJECT-TYPE
			SYNTAX INTEGER
			{
				 inform(1),
				 minor(2),
				 major(3),
				 critical(4) 
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The level of trap send.
				inform:send all level message.
				minor:send minor and above level message.
				major:send major and above level message.
				critical:send critical level message."
			::= { trap 6 }

--    ****** trapInfoDescriptionTable Information *******************************

		trapInfoDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF TrapInfoDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the list of Trap information."
			::= { trap 50 }

        trapInfoDescriptionEntry OBJECT-TYPE
			SYNTAX TrapInfoDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about a trap group."
			INDEX { trapReceiverIndex }
			::= { trapInfoDescriptionTable 1 }

		TrapInfoDescriptionEntry ::=
			SEQUENCE {
				trapReceiverIndex
					INTEGER,
				trapReceiverEnable
					INTEGER,
				trapReceiverPort
					INTEGER,
				trapReceiverAddress
					DisplayString,
				trapTest
					INTEGER
					}

		trapReceiverIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				""
			::= { trapInfoDescriptionEntry 1 }

		trapReceiverEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(0),
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Trap Receiver state.
                    0 - disable,
					1 - enable."
			::= { trapInfoDescriptionEntry 2 }

		trapReceiverPort OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"SNMP trap port, default is 162."
			::= { trapInfoDescriptionEntry 3 }
			
		trapReceiverAddress OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Trap Receiver IPv4 addrsss, IPv6 address or domain name.
				Default value is empty."
			::= { trapInfoDescriptionEntry 4 }

		trapTest OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Test the SNMP trap whether could send.
				When set, the value is only 1."
			::= { trapInfoDescriptionEntry 5 }
			
--    ****** smtp Location *******************************
	smtp OBJECT IDENTIFIER ::= { zteBMC 8 }

		smtpEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The state of SMTP. Default value is disable(1)."
			::= { smtp 1 }

		smtpServerIP OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The SMTP server IPv4 address, IPv6 address or domain name."
			::= { smtp 3 }

		smtpServerPort OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The SMTP server Port."
			::= { smtp 4 }

		smtpTLSEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The TLS state for SMTP. Default value is disenable(1)."
			::= { smtp 5 }

		smtpLoginType OBJECT-TYPE
			SYNTAX INTEGER
			{
				anonymous(1),
				account(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"SMTP login type anonymous 1, account 2.Default value is anonymous(1)."
			::= { smtp 6 }

		smtpLoginAccount OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Login account between 1 to 64 characters.
				 A login account supports all characters except space,double quotationthe,equal and the following characters:#'&. ."
			::= { smtp 7 }

		smtpLoginPassword OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Set user login SMTP password.Login password between 1 to 50 characters."
			::= { smtp 8 }

		smtpSendAddr OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"SendAddr between 0 to 255 characters.A sendAddr supports all characters
				 except space,double quotation,equal and the following characters:#'&. ."
			::= { smtp 9 }

		smtpMailTitle OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"SMTP Mail Title."
			::= { smtp 10 }

		smtpHostIdentify OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The HostIdentify of SMTP emali title.
				 Support set/get any combination of the 3 levels(BoardSN, AssetTag, HostName)
				 e.g.
					BoardSN, AssetTag,HostName."
			::= { smtp 11 }

--    ****** smtpReceiverDescriptionTable Information *******************************

		smtpReceiverDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF SmtpReceiverDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the list of smtpReceiver information."
			::= { smtp 50 }

        smtpReceiverDescriptionEntry OBJECT-TYPE
			SYNTAX SmtpReceiverDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about a smtpReceiver group."
			INDEX { smtpReceiverIndex }
			::= { smtpReceiverDescriptionTable 1 }

		SmtpReceiverDescriptionEntry ::=
			SEQUENCE {
				smtpReceiverIndex
					INTEGER,
				smtpReceiverState
					INTEGER,
				smtpReceiverAddr
					DisplayString,
				smtpReceiverDescription
					DisplayString
					}

		smtpReceiverIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Smtp receiver index."
			::= { smtpReceiverDescriptionEntry 1 }

		smtpReceiverState OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"SMTP receiver enable state. Disable 1, enable 2. Default value is disable(1)."
			::= { smtpReceiverDescriptionEntry 2 }

		smtpReceiverAddr OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Email address between 0 to 255 characters.
				 A email address supports all characters except space,double quotation,equal and the following characters:#'&. ."
			::= { smtpReceiverDescriptionEntry 3 }

		smtpReceiverDescription OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Email description between 0 to 255 characters.
				 A email description supports all characters except double quotation,equal and the following characters:#'&. ."
			::= { smtpReceiverDescriptionEntry 4 }

--    ****** powerSupplyDescriptionProperty Information *******************************

		powerSupplyProperty OBJECT IDENTIFIER ::= { zteBMC 10 }

		powerSupplyEntireStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about all powersupply health status."
			::= { powerSupplyProperty 1 }
			
         powerSupplyMaxSupportNum OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about Maximum number of power supply supported."
			::= { powerSupplyProperty 2 }

         powerSupplyPresentNum OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about number of present power supply."
			::= { powerSupplyProperty 3 }
			
		 settedPowerSupplyEntireMode OBJECT-TYPE
			SYNTAX INTEGER
			{
				loadBalance(1),
				activeBackup(2),
				unsupport(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Setted power supply entire mode."
			::= { powerSupplyProperty 4 }
			
		 actualPowerSupplyEntireMode OBJECT-TYPE
			SYNTAX INTEGER
			{
				loadBalance(1),
				activeBackup(2),
				unsupport(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Actual power supply entire mode."
			::= { powerSupplyProperty 5 }

		 settedActivePowerSupply OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Setted active power supply. per bit represents a PS, bit0 is PS1, and so on, the bit value of 1 indicates the PS is active.can not set all PS are active or backup.The result 0 is unsupport."
			::= { powerSupplyProperty 6 }

		 powerSupplyPresenceTable OBJECT-TYPE
			SYNTAX SEQUENCE OF PowerSupplyPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing power supply presence infomation."
			::= { powerSupplyProperty 50 }

		 powerSupplyPresenceEntry OBJECT-TYPE
			SYNTAX PowerSupplyPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about power supply."
			INDEX { powerSupplyLocationSlot }
			::= { powerSupplyPresenceTable 1 }

		 PowerSupplyPresenceEntry ::=
			SEQUENCE {
				powerSupplyLocationSlot
					INTEGER,
				powerSupplyPresenceStatus
					INTEGER	
				}

		 powerSupplyLocationSlot OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply location slot."
			::= { powerSupplyPresenceEntry 1 }

		 powerSupplyPresenceStatus OBJECT-TYPE
			SYNTAX INTEGER
			{
				absence(1),
				presence(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply presence."
			::= { powerSupplyPresenceEntry 2 }
		
		powerSupplyDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF PowerSupplyDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing power supply info."
			::= { powerSupplyProperty 51 }

		powerSupplyDescriptionEntry OBJECT-TYPE
			SYNTAX PowerSupplyDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about power supply."
			INDEX { powerSupplyIndex }
			::= { powerSupplyDescriptionTable 1 }

		PowerSupplyDescriptionEntry ::=
			SEQUENCE {
				powerSupplyIndex
					INTEGER,
				powerSupplyLocation
					INTEGER,
                powerSupplyName
					DisplayString,
                powerSupplyHealthStatus
					INTEGER,
                powerSupplyOutputStatus
					INTEGER,			
				powerSupplyManufacture
					DisplayString,
				powerSupplySN
					DisplayString,
				powerSupplyManufactureDate
					DisplayString,				
				powerSupplyManufactureModel
					DisplayString,				
				powerSupplyVersion
					DisplayString,
				powerSupplyPartNum
					DisplayString,
				powerSupplyMaxAmbientTemperature
					INTEGER,
				powerSupplyMinAmbientTemperature
					INTEGER,
				powerSupplyCurrentTemperature
				    INTEGER,
				powerSupplyInputMode
				    DisplayString,
				powerSupplyMaxOutputPower
					INTEGER,					
				powerSupplyOutputPower
					INTEGER,
				powerSupplyInputPower
					INTEGER,	
				powerSupplyVoltageOut
					DisplayString,				
				powerSupplyVoltageIn
					DisplayString,
				powerSupplyWorkMode
				    INTEGER
				}

		powerSupplyIndex OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply index."
			::= { powerSupplyDescriptionEntry 1 }

		powerSupplyLocation OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply location."
			::= { powerSupplyDescriptionEntry 2 }

		powerSupplyName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply name."
			::= { powerSupplyDescriptionEntry 3 }
			
		powerSupplyHealthStatus OBJECT-TYPE
			SYNTAX INTEGER 
			{
				ok(0),
				minor(2),
				major(3),
				critical(4),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply health status."
			::= { powerSupplyDescriptionEntry 4 }

		powerSupplyOutputStatus OBJECT-TYPE
			SYNTAX INTEGER 
			{
				close(0),
				open(1),				
				unknown(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply output status."
			::= { powerSupplyDescriptionEntry 5 }
			
		powerSupplyManufacture OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply manufacture name."
			::= { powerSupplyDescriptionEntry 6 }
			
		powerSupplySN OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply manufacture serial number."
			::= { powerSupplyDescriptionEntry 7 }
			
		powerSupplyManufactureDate OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply manufacture date."
			::= { powerSupplyDescriptionEntry 8 }
			
		powerSupplyManufactureModel OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply manufacture model."
			::= { powerSupplyDescriptionEntry 9 }
			
		powerSupplyVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply manufacture version."
			::= { powerSupplyDescriptionEntry 10 }
			
		powerSupplyPartNum OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply part number."
			::= { powerSupplyDescriptionEntry 11 }
			

		powerSupplyMaxAmbientTemperature OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Maximum ambient temperature for power supply operation(degree C)."
			::= { powerSupplyDescriptionEntry 12 }
			
		powerSupplyMinAmbientTemperature OBJECT-TYPE
			SYNTAX INTEGER 
			{				
				unknown(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Minimum ambient temperature for power supply operation(degree C)."
			::= { powerSupplyDescriptionEntry 13 }
			
		powerSupplyCurrentTemperature OBJECT-TYPE
			SYNTAX INTEGER 
			{				
				unknown(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply current temperature(degree C)."
			::= { powerSupplyDescriptionEntry 14 }

		powerSupplyInputMode OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply input mode."
			::= { powerSupplyDescriptionEntry 15 }
			
		powerSupplyMaxOutputPower OBJECT-TYPE
			SYNTAX INTEGER  
			{				
				unknown(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply max output power(w)."
			::= { powerSupplyDescriptionEntry 16 }
				
		powerSupplyOutputPower OBJECT-TYPE
			SYNTAX INTEGER  
			{				
				unknown(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply current output power(w)."
			::= { powerSupplyDescriptionEntry 17 }
			
		powerSupplyInputPower OBJECT-TYPE
			SYNTAX INTEGER 
			{				
				unknown(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply current input power(w)."
			::= { powerSupplyDescriptionEntry 18 }
					
		powerSupplyVoltageOut OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply current output voltage(V)."
			::= { powerSupplyDescriptionEntry 19 }
			
		powerSupplyVoltageIn OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply current input voltage(V)."
			::= { powerSupplyDescriptionEntry 20 }

		powerSupplyWorkMode OBJECT-TYPE
			SYNTAX INTEGER 
			{	
				active(1),
				backup(2),
				unknown(65535)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about power supply work mode."
			::= { powerSupplyDescriptionEntry 21 }

--    ****** powerStatistic Information *******************************

		powerStatistic OBJECT IDENTIFIER ::= { zteBMC 11 }

		peakPower OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"System peak power, unit is W."
			::= { powerStatistic 1 }

		peakPowerOccurTime OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"System peak power occur time, based on UTC."
			::= { powerStatistic 2 }

		averagePower OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"System average power, unit is W."
			::= { powerStatistic 3 }

--    ****** powerManagement Information *******************************

		powerManagement OBJECT IDENTIFIER ::= { zteBMC 12 }

		powerThreshEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Power threshold status. disable 1, enable 2. Default value is disable(1)."
			::= { powerManagement 1 }

		powerThreshValue OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Power threshold value, the vaule is in [5, 32767]."
			::= { powerManagement 2 }

		powerLimitEnable OBJECT-TYPE
			SYNTAX INTEGER
			{
				disable(1),
				enable(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Power limit status. disable 1, enable 2. Default value is disable(1)."
			::= { powerManagement 4 }

		powerLimitValue OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Power limit value, the vaule is in [1, 32767]."
			::= { powerManagement 5 }

--    ****** fanProperty Information *******************************

		fanProperty OBJECT IDENTIFIER ::= { zteBMC 13 }

		fanEntireStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about all fantray health status."
			::= { fanProperty 1 }

		fanControlPolicy OBJECT-TYPE
			SYNTAX INTEGER
				{
					auto(0),
					manual(1),
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Thermal Policy."
			::= { fanProperty 2 }

		fanAutoMode OBJECT-TYPE
			SYNTAX INTEGER
				{
					normalMode(0),
					highPerformanceMode(1),
					lowNoiseMode(2),
					customizedMode(3),
					unknown(255)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Cooling Mode when thermal policy is auto. It can't set when thermal policy is manual."
			::= { fanProperty 3 }

		fanSpeedLevel OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
               }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Speed Percentage when thermal policy is manual. It can't set when thermal policy is auto."
			::= { fanProperty 4 }

		fanDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF FanDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the fantray."
			::= { fanProperty 50 }

		fanDescriptionEntry OBJECT-TYPE
			SYNTAX FanDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about fantray."
			INDEX { fanIndex }
			::= { fanDescriptionTable 1 }

		FanDescriptionEntry ::=
			SEQUENCE {
				fanIndex
					INTEGER,
				fanName
					DisplayString,
				fanPresence
					INTEGER,
				fanHealthStatus
					INTEGER,
				fanSpeedRatio
					INTEGER,
				fanCurrentSpeed
					DisplayString,
				fanMaxSpeed
					DisplayString,
				fanMinSpeed
					DisplayString,
				fanSerialNumber
					DisplayString,
				fanModel
					DisplayString,
				}

		fanIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray index."
			::= { fanDescriptionEntry 1 }

		fanName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray silk print."
			::= { fanDescriptionEntry 2 }

		fanPresence OBJECT-TYPE
			SYNTAX INTEGER{
				absence(1),
				presence(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray presence."
			::= { fanDescriptionEntry 3 }

		fanHealthStatus OBJECT-TYPE
			SYNTAX INTEGER{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray health status."
			::= { fanDescriptionEntry 4 }

		fanSpeedRatio OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray pwm Ratio ."
			::= { fanDescriptionEntry 5 }

		fanCurrentSpeed OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray speed."
			::= { fanDescriptionEntry 6 }

		fanMaxSpeed OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray maximum speed."
			::= { fanDescriptionEntry 7 }

		fanMinSpeed OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray minimum speed."
			::= { fanDescriptionEntry 8 }

		fanSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray serial number."
			::= { fanDescriptionEntry 9 }

		fanModel OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about fantray Model."
			::= { fanDescriptionEntry 10 }

--    ****** firmwareProperty Information ****************

		firmwareProperty OBJECT IDENTIFIER ::= { zteBMC 16 }
		
		firmwareDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF FirmwareDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing firmware version info."
			::= { firmwareProperty 50 }

		firmwareDescriptionEntry OBJECT-TYPE
			SYNTAX FirmwareDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about firmware version."
			INDEX { fruNumber, firmwareName }
			::= { firmwareDescriptionTable 1 }

		FirmwareDescriptionEntry ::=
			SEQUENCE {
				firmwareName                     
					DisplayString, 
				firmwareType                  
					INTEGER, 
				firmwareVersion                 
					DisplayString, 
				fruNumber                 
					INTEGER,  
				firmwareBoard                    
					DisplayString,
				firmwareExtraInfo                    
					DisplayString
				}
		firmwareName OBJECT-TYPE
			SYNTAX      DisplayString (SIZE (0..128)) 
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION 
				"The name of firmware."
			::= {firmwareDescriptionEntry 1}
			
		firmwareType OBJECT-TYPE
			SYNTAX      INTEGER {
						   epld(7),
						   bmc(14),
						   fru(15),
						   boot(20),
						   bios(26),
						   unknown(255)
					   }
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION 
				"Version Type"
			::= {firmwareDescriptionEntry 2}
		
		firmwareVersion OBJECT-TYPE
			SYNTAX      DisplayString (SIZE (0..128))
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION 
				"Firmware Version"
			::= {firmwareDescriptionEntry 3}
			
		fruNumber OBJECT-TYPE
			SYNTAX      INTEGER 
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION 
				"Fru id."
			::= {firmwareDescriptionEntry 4}
			
		firmwareBoard OBJECT-TYPE
			SYNTAX      DisplayString (SIZE (0..128)) 
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION 
				"Descripts the firmware's location."
			::= {firmwareDescriptionEntry 5}
		
		firmwareExtraInfo OBJECT-TYPE
			SYNTAX      DisplayString (SIZE (0..128)) 
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION 
				"Resevered."
			::= {firmwareDescriptionEntry 6}


--    ****** networkProperty Information *******************************

		networkProperty OBJECT IDENTIFIER ::= { zteBMC 17 }

		networkMode OBJECT-TYPE
			SYNTAX INTEGER
				{
					auto(0),
					fixed(1),
					independent(2)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about  network mode."
			::= { networkProperty 1 }

		NCSIVlanID OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"NCSI VLAN ID."
			::= { networkProperty 11 }

		NCSIVlanPriority OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"NCSI VLAN Priority."
			::= { networkProperty 12 }

		networkDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF NetworkDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing network info."
			::= { networkProperty 50 }

		networkDescriptionEntry OBJECT-TYPE
			SYNTAX NetworkDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about network."
			INDEX { ethIndex }
			::= { networkDescriptionTable 1 }

		NetworkDescriptionEntry ::=
			SEQUENCE {
				ethIndex
					INTEGER,
				ethMACAddress
					DisplayString,
				ethNetworkProtocal
					INTEGER,
				ethIPv4Source
					INTEGER,
				ethIPv4Address
					DisplayString,
				ethIPv4Netmask
					DisplayString,
				ethIPv4DefaultGateway
					DisplayString,
				ethIPv6Source
					INTEGER,
				ethIPv6Address
					DisplayString,
				ethIPv6Prefix
					INTEGER,
				ethIPv6DefaultGateway
					DisplayString,
				ethIPv6LinkLocalAddress
					DisplayString
				}

		ethIndex OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about ethernet port number."
			::= {networkDescriptionEntry 1}

		ethMACAddress OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about MAC Address."
			::= {networkDescriptionEntry 2}

		ethNetworkProtocal OBJECT-TYPE
			SYNTAX      INTEGER
			{
				ipv4(1),
				ipv6(2),
				ipv4andipv6(3)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about network protocal."
			::= {networkDescriptionEntry 3}

		ethIPv4Source OBJECT-TYPE
			SYNTAX      INTEGER
			{
				static(1),
				dhcp(2)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv4 Source."
			::= {networkDescriptionEntry 4}

		ethIPv4Address OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv4 address."
			::= {networkDescriptionEntry 5}

		ethIPv4Netmask OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv4 netmask."
			::= {networkDescriptionEntry 6}

		ethIPv4DefaultGateway OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv4 default gateway."
			::= {networkDescriptionEntry 7}

		ethIPv6Source OBJECT-TYPE
			SYNTAX      INTEGER
			{
				static(1),
				dhcp(2)
			}
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv6 source."
			::= {networkDescriptionEntry 8}

		ethIPv6Address OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv6 address."
			::= {networkDescriptionEntry 9}

		ethIPv6Prefix OBJECT-TYPE
			SYNTAX      INTEGER
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv6 prefix."
			::= {networkDescriptionEntry 10}

		ethIPv6DefaultGateway OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv6 default gateway."
			::= {networkDescriptionEntry 11}

		ethIPv6LinkLocalAddress OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION
				"Information about IPv6 link-local address."
			::= {networkDescriptionEntry 12}


--    ****** Sensor Information *******************************

		sensorProperty OBJECT IDENTIFIER ::= { zteBMC 18 }

		sensorDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF SensorDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the sensor."
			::= { sensorProperty 50 }

                sensorDescriptionEntry OBJECT-TYPE
			SYNTAX SensorDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about sensor."
			INDEX { sensorNumber }
			::= { sensorDescriptionTable 1 }

		SensorDescriptionEntry ::=
			SEQUENCE {
				sensorNumber
					INTEGER,
				sensorName
					DisplayString,
				sensorReading
					DisplayString,
				sensorUpperNonRecoverable
					DisplayString,
				sensorUpperCritical
					DisplayString,
				sensorUpperMinor
					DisplayString,
				sensorLowerNonRecoverable
					DisplayString,
				sensorLowerCritical
					DisplayString,
				sensorLowerMinor
					DisplayString,
				sensorStatus
					DisplayString,
				sensorType
					INTEGER,
				sensorPositiveHysteresis
					DisplayString,
				sensorNegativeHysteresis
				    DisplayString,
				sensorPositiveHysteresisString
					DisplayString,
				sensorNegativeHysteresisString
				    DisplayString,
				sensorUnit
					INTEGER,
				sensorEventReadingType
				INTEGER
				}

		sensorNumber OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor number."
			::= { sensorDescriptionEntry 1 }

		sensorName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor name."
			::= { sensorDescriptionEntry 2 }


		sensorReading OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Sensor current reading."
			::= { sensorDescriptionEntry 3 }


		sensorUpperNonRecoverable OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor upper nonrecoverable threshold."
			::= { sensorDescriptionEntry 4 }



		sensorUpperCritical OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor upper crtical threshold."
			::= { sensorDescriptionEntry 5 }



		sensorUpperMinor OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor upper minor threshold."
			::= { sensorDescriptionEntry 6 }


		sensorLowerNonRecoverable OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor lower nonrecoverable threshold."
			::= { sensorDescriptionEntry 7 }



		sensorLowerCritical OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor lower crtical threshold."
			::= { sensorDescriptionEntry 8 }


		sensorLowerMinor OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor lower minor threshold."
			::= { sensorDescriptionEntry 9 }



		sensorStatus OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor status."
			::= { sensorDescriptionEntry 10 }


		sensorType OBJECT-TYPE
			SYNTAX INTEGER{
                   temperature(1),
                   voltage(2),
                   current(3),
                   fan(4),
                   physicalSecurity(5),
                   platSecurityViolationAttempt(6),
                   processor(7),
                   powerSupply(8),
                   powerUnit(9),
                   coolingDevice(10),
                   otherUnitsBasedSensor(11),
                   memory(12),
                   driverSlot(13),
                   postMemoryResize(14),
                   systemFirmwareProgress(15),
                   eventLoggingDisabled(16),
                   watchdog1(17),
                   systemEvent(18),
                   criticalInterrupt(19),
                   buttonSwitch(20),
                   moduleBoard(21),
                   microcontrollerCoprocessor(22),
                   subCard(23),
                   chassis(24),
                   chipSet(25),
                   otherFru(26),
                   cableInterconnect(27),
                   terminator(28),
                   systemBootInitiated(29),
                   bootError(30),
                   osBoot(31),
                   osCriticalStop(32),
                   slotConnector(33),
                   systemAcpiPowerState(34),
                   watchdog2(35),
                   platformAlert(36),
                   entityPresence(37),
                   monitorAsicIc(38),
                   lan(39),
                   managementSubsystemHealth(40),
                   battery(41),
                   sessionAudit(42),
                   versionChange(43),
                   fruState(44),
                   smiTimeout(192),
                   selfTest(193),
                   hostEvent(194),
                   biosStartup(195),
                   sensorSelfEvent(196),
                   pemVoltageFalling(197),
                   boardPoweronFailure(198),
                   hotSwapState(240),
                   ipmbLinkStatus(241)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor type."
			::= { sensorDescriptionEntry 11 }


		sensorPositiveHysteresis OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Positive-going Threshold Hysteresis Value. Set to 00h if sensor does not
				support positive-going threshold hysteresis. "
			::= { sensorDescriptionEntry 12 }


		sensorNegativeHysteresis OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Negative-going Threshold Hysteresis Value. Set to 00h if sensor does not support negative-going
				threshold hysteresis. "
			::= { sensorDescriptionEntry 13 }


		sensorPositiveHysteresisString OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Positive-going Threshold Hysteresis Value. Set to 'na' if sensor does not
				support positive-going threshold hysteresis."
			::= { sensorDescriptionEntry 14 }


		sensorNegativeHysteresisString  OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Negative-going Threshold Hysteresis Value. Set to 'na' if sensor does not support negative-going
				threshold hysteresis. "
			::= { sensorDescriptionEntry 15 }

        sensorUnit OBJECT-TYPE
			SYNTAX INTEGER {
                   unspecified(0),
                   degreesC(1),
                   degreesF(2),
                   degreesK(3),
                   volts(4),
                   amps(5),
                   watts(6),
                   joules(7),
                   coulombs(8),
                   va(9),
                   nits(10),
                   lumen(11),
                   lux(12),
                   candela(13),
                   kPa(14),
                   psi(15),
                   newton(16),
                   cfm(17),
                   rpm(18),
                   hz(19),
                   microsecond(20),
                   millisecond(21),
                   second(22),
                   minute(23),
                   hour(24),
                   day(25),
                   week(26),
                   mil(27),
                   inches(28),
                   feet(29),
                   cuIn(30),
                   cuFeet(31),
                   mm(32),
                   cm(33),
                   m(34),
                   cuCm(35),
                   cuM(36),
                   liters(37),
                   fluidOunce(38),
                   radians(39),
                   steradians(40),
                   revolutions(41),
                   cycles(42),
                   gravities(43),
                   ounce(44),
                   pound(45),
                   ftlb(46),
                   ozIn(47),
                   gauss(48),
                   gilberts(49),
                   henry(50),
                   millihenry(51),
                   farad(52),
                   microfarad(53),
                   ohms(54),
                   siemens(55),
                   mole(56),
                   becquerel(57),
                   ppm(58),
                   reserved(59),
                   decibels(60),
                   dbA(61),
                   dbC(62),
                   gray(63),
                   sievert(64),
                   colortempdegK(65),
                   bit(66),
                   kilobit(67),
                   megabit(68),
                   gigabit(69),
                   byte(70),
                   kilobyte(71),
                   megabyte(72),
                   gigabyte(73),
                   word(74),
                   dword(75),
                   qword(76),
                   line(77),
                   hit(78),
                   miss(79),
                   retry(80),
                   reset(81),
                   overrunOverflow(82),
                   underrun(83),
                   collision(84),
                   packets(85),
                   messages(86),
                   characters(87),
                   error(88),
                   correctableError(89),
                   uncorrectableError(90)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about sensor unit."
			::= { sensorDescriptionEntry 16 }

        sensorEventReadingType OBJECT-TYPE
			SYNTAX INTEGER {
                   unspecified(0),
                   threshold(1),
                   genericDiscrite1(2),
                   genericDiscrite2(3),
                   genericDiscrite3(4),
                   genericDiscrite4(5),
                   genericDiscrite5(6),
                   genericDiscrite6(7),
                   genericDiscrite7(8),
                   genericDiscrite8(9),
                   genericDiscrite9(10),
                   genericDiscrite10(11),
                   genericDiscrite11(12),
                   sensorSpecific(111),
                   oem1(112),
                   oem2(113),
                   oem3(114),
                   oem4(115),
                   oem5(116),
                   oem6(117),
                   oem7(118),
                   oem8(119),
                   oem9(120),
                   oem10(121),
                   oem11(122),
                   oem12(123),
                   oem13(124),
                   oem14(125),
                   oem15(126),
                   oem16(127)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about event reading type."
			::= { sensorDescriptionEntry 17 }

--    ****** cpuDescriptionProperty Information *******************************

		cpuProperty OBJECT IDENTIFIER ::= { zteBMC 21 }

		cpuEntireStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"CPU entire health status
				1.ok(0)
				2.minor(2)
				3.major(3)
				4.critical(4)
				5.unknown(255)"
			::= { cpuProperty 1 }

		cpuMaxSupportNum OBJECT-TYPE
			SYNTAX INTEGER
				{
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about max cpu number on board."
			::= { cpuProperty 2 }

		cpuTotalPresentNum OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about present cpu number on board."
			::= { cpuProperty 3 }

		cpuDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF CpuDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing cpu info."
			::= { cpuProperty 50 }

		cpuDescriptionEntry OBJECT-TYPE
			SYNTAX CpuDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about CPU."
			INDEX { cpuIndex }
			::= { cpuDescriptionTable 1 }

		CpuDescriptionEntry ::=
			SEQUENCE {
				cpuIndex
					INTEGER,
				cpuLocation
					INTEGER,
				cpuDevicename
					DisplayString,
				cpuAvailabilityStatus
					INTEGER,
				cpuHealthStatus
					INTEGER,
				cpuManufacturer
					DisplayString,
				cpuFamily
					DisplayString,
				cpuType
					DisplayString,
				cpuSerialNumber
					DisplayString,
				cpuTdp
					INTEGER,
				cpuExternalClock
					INTEGER,
				cpuClockRate
					INTEGER,
				cpuMaxClockRate
					INTEGER,
				cpuProcessorID
					DisplayString,
				cpuCoreCount
					INTEGER,
				cpuEnabledCoreCount
					INTEGER,
				cpuThreadCount
					INTEGER,
				cpuEnabledThreadCount
					INTEGER,
				cpuL1CacheInKB
					INTEGER,
				cpuL2CacheInKB
					INTEGER,
				cpuL3CacheInKB
					INTEGER,
				cpuPartNumber
					DisplayString,
				cpuArchitecture
					DisplayString,
				cpuInstructionSet
					DisplayString,
				cpuInstructionSetExtensions
					DisplayString
				}

		cpuIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu index."
			::= { cpuDescriptionEntry 1 }

		cpuLocation OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu location."
			::= { cpuDescriptionEntry 2 }

		cpuDevicename OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu name."
			::= { cpuDescriptionEntry 3 }

		cpuAvailabilityStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					unknown(1),
					disabled(2),
					backup(3),
					active(4)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu enable status
					1.unknown(1)
					2.disabled(2)
					3.backup(3)
					4.active(4)"
			::= { cpuDescriptionEntry 4 }

		cpuHealthStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"CPU health status
				1.ok(0)
				2.minor(2)
				3.major(3)
				4.critical(4)
				5.unknown(255)"
			::= { cpuDescriptionEntry 5 }

		cpuManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu manufacturer."
			::= { cpuDescriptionEntry 6 }

		cpuFamily OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu family type."
			::= { cpuDescriptionEntry 7 }

		cpuType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu type."
			::= { cpuDescriptionEntry 8 }

		cpuSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu serial number."
			::= { cpuDescriptionEntry 9 }

		cpuTdp OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu TDP number(unit:W)."
			::= { cpuDescriptionEntry 10 }

		cpuExternalClock OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu external Clock."
			::= { cpuDescriptionEntry 11 }

		cpuClockRate OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu clock rate(unit:MHz)."
			::= { cpuDescriptionEntry 12 }

		cpuMaxClockRate OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu max clock rate(unit:MHz)."
			::= { cpuDescriptionEntry 13 }

		cpuProcessorID OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu processor id."
			::= { cpuDescriptionEntry 14 }

		cpuCoreCount OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu total core number."
			::= { cpuDescriptionEntry 15 }

		cpuEnabledCoreCount OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu enabled core number."
			::= { cpuDescriptionEntry 16 }

		cpuThreadCount OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu thread number."
			::= { cpuDescriptionEntry 17 }

		cpuEnabledThreadCount OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu enabled thread number."
			::= { cpuDescriptionEntry 18 }

		cpuL1CacheInKB OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu L1 Cache(unit:KB)."
			::= { cpuDescriptionEntry 19 }

		cpuL2CacheInKB OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu L2 Cache(unit:KB)."
			::= { cpuDescriptionEntry 20 }

		cpuL3CacheInKB OBJECT-TYPE
			SYNTAX INTEGER
			{
				unknown(0)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu L3 Cache(unit:KB)."
			::= { cpuDescriptionEntry 21 }

		cpuPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu part number."
			::= { cpuDescriptionEntry 22 }

		cpuArchitecture OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu architecture."
			::= { cpuDescriptionEntry 23 }

		cpuInstructionSet OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu instructionset."
			::= { cpuDescriptionEntry 24 }

		cpuInstructionSetExtensions OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about cpu instructionset extensions."
			::= { cpuDescriptionEntry 25 }

		cpuPresenceTable OBJECT-TYPE
			SYNTAX SEQUENCE OF CpuPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the cpu."
			::= { cpuProperty 51 }

		cpuPresenceEntry OBJECT-TYPE
			SYNTAX CpuPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about cpu Presence."
			INDEX { cpuLocationSlot }
			::= { cpuPresenceTable 1 }

		CpuPresenceEntry ::=
			SEQUENCE {
				cpuLocationSlot
					INTEGER,
				cpuPresenceStatus
					INTEGER
				}

		cpuLocationSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"CPU location slot."
			::= { cpuPresenceEntry 1 }

		cpuPresenceStatus OBJECT-TYPE
			SYNTAX INTEGER{
				absence(1),
				presence(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"CPU presence status."
			::= { cpuPresenceEntry 2 }

--    ****** memoryDescriptionProperty Information *******************************

		memoryProperty OBJECT IDENTIFIER ::= { zteBMC 22 }

		memoryEntireStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Memory entire health status
				1.ok(0)
				2.minor(2)
				3.major(3)
				4.critical(4)
				5.unknown(255)"
			::= { memoryProperty 1 }

		memoryMaxSupportNum OBJECT-TYPE
			SYNTAX INTEGER
				{
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about max memory number on board."
			::= { memoryProperty 2 }

		memoryTotalPresentNum OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about present memory number on board."
			::= { memoryProperty 3 }

		memoryDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF MemoryDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing memory info."
			::= { memoryProperty 50 }

		memoryDescriptionEntry OBJECT-TYPE
			SYNTAX MemoryDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about Memory."
			INDEX { memoryIndex }
			::= { memoryDescriptionTable 1 }

		MemoryDescriptionEntry ::=
			SEQUENCE {
				memoryIndex
					INTEGER,
				memoryDimmNumber
					INTEGER,
				memoryLocation
					DisplayString,
				memoryCpuDeviceName
					DisplayString,
				memoryController
					INTEGER,
				memoryChannel
					INTEGER,
				memoryDimm
					INTEGER,
				memoryBank
					DisplayString,
				memoryAvailabilityStatus
					INTEGER,
				memoryHealthStatus
					INTEGER,
				memorySizeInGB
					INTEGER,
				memoryManufacturer
					DisplayString,
				memorySerialNumber
					DisplayString,
				memoryPartNumber
					DisplayString,
				memoryAssetTag
					DisplayString,
				memoryType
					DisplayString,
				memoryFormFactor
					DisplayString,
				memoryBModuleType
					DisplayString,
				memoryRank
					INTEGER,
				memoryEccType
					DisplayString,
				memoryFrequency
					INTEGER,
				memoryConfiguredFrequency
					INTEGER,
				memoryDataWidthBits
					INTEGER,
				memoryTotalWidthBits
					INTEGER,
				memoryMinimumVoltage
					DisplayString,
				memoryMaximumVoltage
					DisplayString,
				memoryConfiguredVoltage
					DisplayString
				}

		memoryIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory index number."
			::= { memoryDescriptionEntry 1 }

		memoryDimmNumber OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory silk number."
			::= { memoryDescriptionEntry 2 }

		memoryLocation OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory silk type."
			::= { memoryDescriptionEntry 3 }

		memoryCpuDeviceName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory cpu belong."
			::= { memoryDescriptionEntry 4 }

		memoryController OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory controller."
			::= { memoryDescriptionEntry 5 }

		memoryChannel OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory channel."
			::= { memoryDescriptionEntry 6 }

		memoryDimm OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory dimm."
			::= { memoryDescriptionEntry 7 }

		memoryBank OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory bank."
			::= { memoryDescriptionEntry 8 }

		memoryAvailabilityStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					unknown(1),
					disabled(2),
					backup(3),
					active(4)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory enable status
					1.unknown(1)
					2.disabled(2)
					3.backup(3)
					4.active(4)"
			::= { memoryDescriptionEntry 9 }

		memoryHealthStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Memory health status
				1.ok(0)
				2.minor(2)
				3.major(3)
				4.critical(4)
				5.unknown(255)"
			::= { memoryDescriptionEntry 10 }

		memorySizeInGB OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory capacity."
			::= { memoryDescriptionEntry 11 }

		memoryManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory manufacture."
			::= { memoryDescriptionEntry 12 }

		memorySerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory serial number."
			::= { memoryDescriptionEntry 13 }

		memoryPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory part number."
			::= { memoryDescriptionEntry 14 }

		memoryAssetTag OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory asset tag."
			::= { memoryDescriptionEntry 15 }

		memoryType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about DIMM type."
			::= { memoryDescriptionEntry 16 }

		memoryFormFactor OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory form factor."
			::= { memoryDescriptionEntry 17 }

		memoryBModuleType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory bmodule type."
			::= { memoryDescriptionEntry 18 }

		memoryRank OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory memory rank."
			::= { memoryDescriptionEntry 19 }

		memoryEccType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory ecc type."
			::= { memoryDescriptionEntry 20 }

		memoryFrequency OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory frequency(MHz)."
			::= { memoryDescriptionEntry 21 }

		memoryConfiguredFrequency OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory configured frequency(MHz)."
			::= { memoryDescriptionEntry 22 }

		memoryDataWidthBits OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory data width."
			::= { memoryDescriptionEntry 23 }

		memoryTotalWidthBits OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about memory total width."
			::= { memoryDescriptionEntry 24 }

		memoryMinimumVoltage OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about DDR minimum voltage(Volts)."
			::= { memoryDescriptionEntry 25 }

		memoryMaximumVoltage OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about DDR maximum voltage(Volts)."
			::= { memoryDescriptionEntry 26 }

		memoryConfiguredVoltage OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about DDR current voltage(Volts)."
			::= { memoryDescriptionEntry 27 }

		memoryPresenceTable OBJECT-TYPE
			SYNTAX SEQUENCE OF MemoryPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the memory."
			::= { memoryProperty 51 }

		memoryPresenceEntry OBJECT-TYPE
			SYNTAX MemoryPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about memory Presence."
			INDEX { memoryLocationSlot }
			::= { memoryPresenceTable 1 }

		MemoryPresenceEntry ::=
			SEQUENCE {
				memoryLocationSlot
					INTEGER,
				memoryPresenceStatus
					INTEGER
				}

		memoryLocationSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Memory location."
			::= { memoryPresenceEntry 1 }

		memoryPresenceStatus OBJECT-TYPE
			SYNTAX INTEGER{
				absence(1),
				presence(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Memory presence status."
			::= { memoryPresenceEntry 2 }

--    ****** fru Product information Location *******************************
		fruInfo OBJECT IDENTIFIER ::= { zteBMC 23 }    

		fruDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF FruDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the FRU information."
			::= { fruInfo 50 }
        
		fruDescriptionEntry OBJECT-TYPE
			SYNTAX FruDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about FRU information."
			INDEX { fruId }
			::= { fruDescriptionTable 1 }
		
		FruDescriptionEntry ::=
			SEQUENCE {
				fruId
					INTEGER, 
				fruChassisType
					DisplayString,
				fruChassisPartNumber
					DisplayString,
				fruChassisSerialNumber
					DisplayString,
				fruBoardMfgDate
					DisplayString,
				fruBoardManufacturer
					DisplayString,
				fruBoardProductName 
					DisplayString,
				fruBoardSerialNumber  
					DisplayString,
				fruBoardPartNumber  
					DisplayString, 
				fruBoardFileID
					DisplayString, 
				fruProductManufacturer    
					DisplayString, 
				fruProductName    
					DisplayString, 					
				fruProductPartNumber    
					DisplayString,					
				fruProductVersion
					DisplayString,
				fruProductSerialNumber    
					DisplayString,					
				fruProductAssetTag										
					DisplayString,
				}
				 

		fruId OBJECT-TYPE	
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about FRU id."
			::= { fruDescriptionEntry 1 } 
			
		fruChassisType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU chassis type."
			::= { fruDescriptionEntry 2 }
			
		fruChassisPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU chassis part number."
			::= { fruDescriptionEntry 3 }
			
		fruChassisSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU chassis serial number."
			::= { fruDescriptionEntry 4 }
			

		fruBoardMfgDate OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU borad maufacturer date."
			::= { fruDescriptionEntry 5 } 			
 
		fruBoardManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU board manufacturer."
			::= { fruDescriptionEntry 6 }

		fruBoardProductName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU board product name."
			::= { fruDescriptionEntry 7 }  
 

		fruBoardSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU board serial number."
			::= { fruDescriptionEntry 8 } 			


		fruBoardPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU board part number."
			::= { fruDescriptionEntry 9 } 			


		fruBoardFileID OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU board file id."
			::= { fruDescriptionEntry 10 }  			


		fruProductManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU product maufacturer."
			::= { fruDescriptionEntry 11 } 


		fruProductName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU product name."
			::= { fruDescriptionEntry 12 } 

		fruProductPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU product part number ."
			::= { fruDescriptionEntry 13 } 
			
		fruProductVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU product version."
			::= { fruDescriptionEntry 14 } 

		fruProductSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU product serial number."
			::= { fruDescriptionEntry 15 } 
			
		fruProductAssetTag OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"FRU product asset tag."
			::= { fruDescriptionEntry 16 } 


			
--    ****** pCIeDeviceDescriptionProperty Information *******************************

		pCIeDeviceProperty OBJECT IDENTIFIER ::= { zteBMC 24 }

		pCIeDeviceEntireStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Pcie device entire health status
				1.ok(0)
				2.minor(2)
				3.major(3)
				4.critical(4)
				5.unknown(255)"
			::= { pCIeDeviceProperty 1 }

		pCIeDeviceDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF PCIeDeviceDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing pcie device info."
			::= { pCIeDeviceProperty 50 }

		pCIeDeviceDescriptionEntry OBJECT-TYPE
			SYNTAX PCIeDeviceDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about pcie device."
			INDEX { pCIeDeviceIndex }
			::= { pCIeDeviceDescriptionTable 1 }

		PCIeDeviceDescriptionEntry ::=
			SEQUENCE {
				pCIeDeviceIndex
					INTEGER,
				pCIeDeviceSlotNumber
					INTEGER,
				pCIeDeviceLocationType
					INTEGER,
				pCIeDeviceVendorID
					DisplayString,
				pCIeDeviceDeviceID
					DisplayString,
				pCIeDeviceSubVendorID
					DisplayString,
				pCIeDeviceSubSystemID
					DisplayString,
				pCIeDeviceBusNum
					DisplayString,
				pCIeDeviceDeviceNum
					DisplayString,
				pCIeDeviceFunctionNum
					DisplayString,
				pCIeDeviceResourceOwnership
					DisplayString,
				pCIeDeviceAvailabilityStatus
					INTEGER,
				pCIeDeviceHealthStatus
					INTEGER,
				pCIeDeviceModel
					DisplayString,
				pCIeDeviceManufacturer
					DisplayString,
				pCIeDeviceDescription
					DisplayString,
				pCIeDeviceType
					DisplayString,
				pCIeDeviceClassCode
					INTEGER,
				pCIeDeviceFirmwareVersion
					DisplayString,
				pCIeDeviceSerialNumber
					DisplayString,
				pCIeDeviceLinkWidthAbility
					INTEGER,
				pCIeDeviceLinkWidth
					INTEGER,
				pCIeDeviceMemorySize
					INTEGER,
				pCIeDeviceRatedPower
					INTEGER,
				pCIeDeviceCurrentPower
					INTEGER,
				pCIeDeviceLocator
					DisplayString
				}

		pCIeDeviceIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device index number."
			::= { pCIeDeviceDescriptionEntry 1 }

		pCIeDeviceSlotNumber OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device slot number."
			::= { pCIeDeviceDescriptionEntry 2 }

		pCIeDeviceLocationType OBJECT-TYPE
			SYNTAX INTEGER
				{
					embedded(0),
					pcie(1),
					ocp(2)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Pcie device location type
				1.embedded(0)
				2.pcie(1)
				3.ocp(2)"
			::= { pCIeDeviceDescriptionEntry 3 }

		pCIeDeviceVendorID OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device vendor Id."
			::= { pCIeDeviceDescriptionEntry 4 }

		pCIeDeviceDeviceID OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device device Id."
			::= { pCIeDeviceDescriptionEntry 5 }

		pCIeDeviceSubVendorID OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device sub-vendor Id."
			::= { pCIeDeviceDescriptionEntry 6 }

		pCIeDeviceSubSystemID OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device sub-system Id."
			::= { pCIeDeviceDescriptionEntry 7 }

		pCIeDeviceBusNum OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device bus number."
			::= { pCIeDeviceDescriptionEntry 8 }

		pCIeDeviceDeviceNum OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device device number."
			::= { pCIeDeviceDescriptionEntry 9 }

		pCIeDeviceFunctionNum OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device function number."
			::= { pCIeDeviceDescriptionEntry 10 }

		pCIeDeviceResourceOwnership OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device belonging cpu number."
			::= { pCIeDeviceDescriptionEntry 11 }

		pCIeDeviceAvailabilityStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					unknown(1),
					disabled(2),
					backup(3),
					active(4),
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie enable status
					1.unknown(1)
					2.disabled(2)
					3.backup(3)
					4.active(4)"
			::= { pCIeDeviceDescriptionEntry 12 }

		pCIeDeviceHealthStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Pcie device health status
				1.ok(0)
				2.minor(2)
				3.major(3)
				4.critical(4)
				5.unknown(255)"
			::= { pCIeDeviceDescriptionEntry 13 }

		pCIeDeviceModel OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device model."
			::= { pCIeDeviceDescriptionEntry 14 }

		pCIeDeviceManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device manufacturer."
			::= { pCIeDeviceDescriptionEntry 15 }

		pCIeDeviceDescription OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device description."
			::= { pCIeDeviceDescriptionEntry 16 }

		pCIeDeviceType OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device type."
			::= { pCIeDeviceDescriptionEntry 17 }

		pCIeDeviceClassCode OBJECT-TYPE
			SYNTAX INTEGER
				{
			       storage(1),
                   network(2),
                   display(3),
                   multimedia(4),
                   memoryController(5),
                   bridge(6),
                   simpleCommunication(7),
                   basicSystemPeripheral(8),
                   input(9),
                   castle(10),
                   processor(11),
                   serialBusController(12),
                   wirelessController(13),
                   integratedIOController(14),
                   satelliteCommunicationController(15),
                   encryptionAndDecryptionControlleR(16),
                   dataAcquisitionAndSignalProcessingController(17),
                   processingAccelerators(18),
                   unsupported(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
		        "PCIE class code
		            1 -- Mass storage controller
		            2 -- Network controller
		            3 -- Display controller
		            4 -- Multimedia device
		            5 -- Memory controller
		            6 -- Bridge device
		            7 -- Simple communication controllers
		            8 -- Base system peripherals
		            9 -- Input devices
		            10 -- Docking stations
		            11 -- Processors
		            12 -- Serial bus controllers
		            13 -- Wireless controller
		            14 -- Intelligent I/O controllers
		            15 -- Satellite communication controllers
		            16 -- Encryption/Decryption controllers
		            17 -- Data acquisition and signal processing controllers
		            18 -- Processing Accelerators
		            19-254 -- Reserved
		            255 -- Device does not fit in any defined classes"
			::= { pCIeDeviceDescriptionEntry 18 }

		pCIeDeviceFirmwareVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device firmware version."
			::= { pCIeDeviceDescriptionEntry 19 }

		pCIeDeviceSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device serial number."
			::= { pCIeDeviceDescriptionEntry 20 }

		pCIeDeviceLinkWidthAbility OBJECT-TYPE
			SYNTAX INTEGER
				{
			       unknown(0)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device link width ability."
			::= { pCIeDeviceDescriptionEntry 21 }

		pCIeDeviceLinkWidth OBJECT-TYPE
			SYNTAX INTEGER
				{
			       unknown(0)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device link width."
			::= { pCIeDeviceDescriptionEntry 22 }

		pCIeDeviceMemorySize OBJECT-TYPE
			SYNTAX INTEGER
				{
			       unknown(0)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device total memory size(MB)."
			::= { pCIeDeviceDescriptionEntry 23 }

		pCIeDeviceRatedPower OBJECT-TYPE
			SYNTAX INTEGER
				{
			       unknown(0)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device rated power(Walt)."
			::= { pCIeDeviceDescriptionEntry 24 }

		pCIeDeviceCurrentPower OBJECT-TYPE
			SYNTAX INTEGER
				{
			       unknown(0)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about pcie device current power(Walt)."
			::= { pCIeDeviceDescriptionEntry 25 }

		pCIeDeviceLocator OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about Location."
			::= { pCIeDeviceDescriptionEntry 26 }

--    ****** netCardProperty Information *******************************
  
		netCardProperty OBJECT IDENTIFIER ::= { zteBMC 26 }
					
		netCardDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF NetCardDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the netcard info."
			::= { netCardProperty 50 }
        
		netCardDescriptionEntry OBJECT-TYPE
			SYNTAX NetCardDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about netcard."
			INDEX { netCardIndex }
			::= { netCardDescriptionTable 1 }
		
		NetCardDescriptionEntry ::=
			SEQUENCE {
				netCardIndex
					INTEGER,
				netCardLocationType
					INTEGER,
				netCardLocationSlot
					INTEGER, 
				netCardDevicename
					DisplayString,
				netCardHealthStatus
					INTEGER,
				netCardNICName
					DisplayString,
				netCardNICManufacturer
					DisplayString,
				netCardChipModel
					DisplayString,
				netCardChipManufacturer
					DisplayString,
				netCardMaxPortNumber
					INTEGER,
				netCardPortsType
					INTEGER,
				netCardNICModel
					DisplayString,
				netCardTemperature
					INTEGER,
				netCardHistoryMaxTemperature
					INTEGER, 
				netCardFirmwareVersion
					DisplayString,
				netCardSerialNumber
					DisplayString,
				netCardDriverName					
				    DisplayString,
				netCardRootBDF					
				    DisplayString,
				netCardPartNumber
					DisplayString,
				netCardFpgaStatus
					INTEGER,
				}
	
		netCardIndex OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card index."
			::= { netCardDescriptionEntry 1 } 
	
		netCardLocationType OBJECT-TYPE
			SYNTAX INTEGER{
				embedded(0),
				pcie(1),
				ocp(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card location type define as:
					0: embedded,
					1: pcie,
					2: ocp
				  255: unknown"
			::= { netCardDescriptionEntry 2 } 

		netCardLocationSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card location slot."
			::= { netCardDescriptionEntry 3 }
			
		netCardDevicename OBJECT-TYPE	
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card slot info string: location type + location slot.Such as (Pcie Card 5)."
			::= { netCardDescriptionEntry 4 } 
			
		netCardHealthStatus OBJECT-TYPE
			SYNTAX INTEGER{
				ok(0),
				minor(2),
				major(3),
				critical(4),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card health status define as:
					0: ok,
					2: minor,
					3: major,
					4: critical,
				  255: unknown"
			::= { netCardDescriptionEntry 5 } 

		netCardNICName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card nic name."
			::= { netCardDescriptionEntry 6 } 	

		netCardNICManufacturer OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card nic manufacturer name."
			::= { netCardDescriptionEntry 7 } 

		netCardChipModel OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card chip name."
			::= { netCardDescriptionEntry 8 } 			

		netCardChipManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card chip manufacturer name."
			::= { netCardDescriptionEntry 9 }

		netCardMaxPortNumber OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card max port number."
			::= { netCardDescriptionEntry 10 }

		netCardPortsType OBJECT-TYPE
			SYNTAX INTEGER{
				copper(0),
				fiber(1),
				serdes(2),
				copperfiber(3),
				fiberserdes(4),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Ports on net card type define as:
					0: copper,
					1: fiber,
					2: serdes,
					3: copperfiber,
					4: fiberserdes,
				  255: unknown"
			::= { netCardDescriptionEntry 11 }  	
			
		netCardNICModel OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card nic model.Such as (2*10GE+2*25GE)."
			::= { netCardDescriptionEntry 12 } 

		netCardTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card temperature.0xFF means netcard is not support to get temperature."
			::= { netCardDescriptionEntry 13 } 	
			
		netCardHistoryMaxTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}			
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card history max temperature.0xFF means netcard is not support to get temprature."
			::= { netCardDescriptionEntry 14 } 
			
		netCardFirmwareVersion OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card firmware version."
			::= { netCardDescriptionEntry 15 } 
			
		netCardSerialNumber OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card serial number."
			::= { netCardDescriptionEntry 16 } 
			
		netCardDriverName OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card driver name."
			::= { netCardDescriptionEntry 17 } 
		
		netCardRootBDF OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card root bdf.(same as first port bdf)"
			::= { netCardDescriptionEntry 18 } 		
		
		netCardPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card part number."
			::= { netCardDescriptionEntry 19 } 	
			
		netCardFpgaStatus OBJECT-TYPE
			SYNTAX INTEGER{
				normal(0),
				abnormal(1),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"smart card fpga health status as:
					0: normal,
					1: abnormal,
				  255: unknown"
			::= { netCardDescriptionEntry 20 } 

		netPortDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF NetPortDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the netport info."
			::= { netCardProperty 51 }
        
		netPortDescriptionEntry OBJECT-TYPE
			SYNTAX NetPortDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about netport."
			INDEX { netPortNICIndex, netPortLocation}
			::= { netPortDescriptionTable 1 }
		
		NetPortDescriptionEntry ::=
			SEQUENCE {
				netPortNICIndex
					INTEGER,
				netPortLocation
					INTEGER,
				netPortType
					INTEGER,
				netPortLinkStatus
					INTEGER,
				netPortCapableSpeed
					INTEGER,
				netPortCurrentSpeed
					INTEGER,
				netPortMacAddr
					DisplayString,
				netPortNegotiatedMode
					INTEGER,
				netPortDuplexMode
					INTEGER,
				netPortLldpMode
					INTEGER,
				netPortBDF
					DisplayString,
				netPortNICDeviceName
					DisplayString, 
			}
	
		netPortNICIndex OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port owner net card index."
			::= { netPortDescriptionEntry 1 } 

		netPortLocation OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net card port location num, depends on silk."
			::= { netPortDescriptionEntry 2 }
			
		netPortType OBJECT-TYPE	
			SYNTAX INTEGER{
				copper(0),
				fiber(1),
				serdes(2),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port type define as:
					0: copper,
					1: fiber,
					2: serdes,
				  255: unknown"
			::= { netPortDescriptionEntry 3 } 
			
		netPortLinkStatus OBJECT-TYPE
			SYNTAX INTEGER{
				linkdown(0),
				linkup(1),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port link status define as:
					0: linkdown,
					1: linkup,
				  255: unknown"
			::= { netPortDescriptionEntry 4 } 	

		netPortCapableSpeed OBJECT-TYPE
			SYNTAX INTEGER{
				speed10M(0),
				speed100M(1),
				speed1G(2),
				speed10G(3),
				speed40G(4),
				speed25G(5),
				speed100G(6),
				speed200G(7),
				speed400G(8),
				unknown(15),
			}  
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port capable speed define as:
					0: speed10M,
					1: speed100M,
					2: speed1G,
					3: speed10G,
					4: speed40G,
					5: speed25G,
					6: speed100G,
					7: speed200G,
					8: speed400G,
				   15: unknown"
			::= { netPortDescriptionEntry 5 } 

		netPortCurrentSpeed OBJECT-TYPE
			SYNTAX INTEGER{
				speed10M(0),
				speed100M(1),
				speed1G(2),
				speed10G(3),
				speed40G(4),
				speed25G(5),
				speed100G(6),
				speed200G(7),
				speed400G(8),
				unknown(15),
			}  
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port current speed define as:
					0: speed10M,
					1: speed100M,
					2: speed1G,
					3: speed10G,
					4: speed40G,
					5: speed25G,
					6: speed100G,
					7: speed200G,
					8: speed400G,
				   15: unknown"
			::= { netPortDescriptionEntry 6 } 			

		netPortMacAddr OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port mac address."
			::= { netPortDescriptionEntry 7 }

		netPortNegotiatedMode OBJECT-TYPE
			SYNTAX INTEGER{
				auto(0),
				force(1),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port negotiated mode define as:
					0: auto,
					1: force,
				  255: unknown"
			::= { netPortDescriptionEntry 8 }  	
			
		netPortDuplexMode OBJECT-TYPE
			SYNTAX INTEGER{
				halfduplex(0),
				fullduplex(1),
				notaccess(254),
				unknown(255)
			}  
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port duplex mode define as:
					0: halfduplex,
					1: fullduplex,
				  254: notaccess,
				  255: unknown"
			::= { netPortDescriptionEntry 9 } 

		netPortLldpMode OBJECT-TYPE
			SYNTAX INTEGER{
				lldpdisable(0),
				lldptxmode(1),
				lldprxmode(2),
				lldptxrxmode(3),
				unknown(255)
			}  
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port lldp mode define as:
					0: lldpdisable,
					1: lldptxmode,
					2: lldprxmode,
					3: lldptxrxmode,
				  255: unknown"
			::= { netPortDescriptionEntry 10 } 	

		netPortBDF OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port bdf."
			::= { netPortDescriptionEntry 11 } 
	
		netPortNICDeviceName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Net port owner net card device name.Same as owner card netCardDevicename"
			::= { netPortDescriptionEntry 12 } 
		
		netCardMemoryInfoDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF NetCardMemoryInfoDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the netCard memory info."
			::= { netCardProperty 52 }
        
		netCardMemoryInfoDescriptionEntry OBJECT-TYPE
			SYNTAX NetCardMemoryInfoDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about netCard NIC memory information."
			INDEX { netCardIndex, netCardMemId}
			::= { netCardMemoryInfoDescriptionTable 1 }
		
		NetCardMemoryInfoDescriptionEntry ::=
			SEQUENCE {
				netCardIndex
					INTEGER,
				netCardMemId
					INTEGER,
				netCardMemType
					INTEGER,
				netCardMemMode
					INTEGER,
				netCardMemCapa
					INTEGER,
				netCardMemStatus
					INTEGER,
			}

		netCardIndex OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nic index."
			::= { netCardMemoryInfoDescriptionEntry 1 } 
		
		netCardMemId OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nic memory index."
			::= { netCardMemoryInfoDescriptionEntry 2 }

		netCardMemType OBJECT-TYPE	
			SYNTAX INTEGER{
				qdr(1),
				ddr(2),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nic memory type:
					1: qdr,
					2: ddr,
				    255: unknown"
			::= { netCardMemoryInfoDescriptionEntry 3 }

		netCardMemMode OBJECT-TYPE	
			SYNTAX INTEGER{
				qdr4-2000mhz(1),
				ddr4-2400mhz(2),
				ddr4-2000mhz(3),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nic memory mode:
					1: qdr4-2000mhz,
					2: ddr4-2400mhz,
					3: ddr4-2000mhz,
				    255: unknown"
			::= { netCardMemoryInfoDescriptionEntry 4 }

		netCardMemCapa OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nic memory capacity."
			::= { netCardMemoryInfoDescriptionEntry 5 }

		netCardMemStatus OBJECT-TYPE
			SYNTAX INTEGER{
				normal(0),
				abnormal(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nic memory status:
					0:noraml,
					1:abnormal,
					255:unknown"
			::= { netCardMemoryInfoDescriptionEntry 6 }

--    ****** fcCardProperty Information *******************************
  
		fcCardProperty OBJECT IDENTIFIER ::= { zteBMC 27 }
					
		fcCardDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF FcCardDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the fccard info."
			::= { fcCardProperty 50 }
        
		fcCardDescriptionEntry OBJECT-TYPE
			SYNTAX FcCardDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about fccard."
			INDEX { fcCardIndex }
			::= { fcCardDescriptionTable 1 }
		
		FcCardDescriptionEntry ::=
			SEQUENCE {
				fcCardIndex
					INTEGER,
				fcCardLocationType
					INTEGER,
				fcCardLocationSlot
					INTEGER, 
				fcCardDevicename
					DisplayString,
				fcCardHealthStatus
					INTEGER,
				fcCardName
					DisplayString,
				fcCardManufacturer
					DisplayString,
				fcCardChipModel
					DisplayString,
				fcCardChipManufacturer
					DisplayString,
				fcCardMaxPortNumber
					INTEGER,
				fcCardModel
					DisplayString,
				fcCardFirmwareVersion
					DisplayString,
				fcCardSerialNumber
					DisplayString,
				fcCardRootBDF					
				    DisplayString,
				fcCardDriverName					
				    DisplayString,
				fcCardDriverVersion					
				    DisplayString,
				fcCardTemperature
					INTEGER,
				}
	
		fcCardIndex OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card index."
			::= { fcCardDescriptionEntry 1 } 
	
		fcCardLocationType OBJECT-TYPE
			SYNTAX INTEGER{
				pcie(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card location type define as:
					1: pcie,
				  255: unknown"
			::= { fcCardDescriptionEntry 2 } 

		fcCardLocationSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card location slot."
			::= { fcCardDescriptionEntry 3 }
			
		fcCardDevicename OBJECT-TYPE	
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card slot info string: location type + location slot.Such as (Pcie Card 5)."
			::= { fcCardDescriptionEntry 4 } 
			
		fcCardHealthStatus OBJECT-TYPE
			SYNTAX INTEGER{
				ok(0),
				minor(2),
				major(3),
				critical(4),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card health status define as:
					0: ok,
					2: minor,
					3: major,
					4: critical,
				  255: unknown"
			::= { fcCardDescriptionEntry 5 } 

		fcCardName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card name."
			::= { fcCardDescriptionEntry 6 } 	

		fcCardManufacturer OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card manufacturer name."
			::= { fcCardDescriptionEntry 7 } 

		fcCardChipModel OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card chip name."
			::= { fcCardDescriptionEntry 8 } 			

		fcCardChipManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card chip manufacturer name."
			::= { fcCardDescriptionEntry 9 }

		fcCardMaxPortNumber OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card max port number."
			::= { fcCardDescriptionEntry 10 }	
			
		fcCardModel OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card model.Such as (2*16GE)."
			::= { fcCardDescriptionEntry 11 } 
 	
		fcCardFirmwareVersion OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card firmware version."
			::= { fcCardDescriptionEntry 12 } 
			
		fcCardSerialNumber OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card serial number."
			::= { fcCardDescriptionEntry 13 } 
			
		fcCardRootBDF OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card Root BDF."
			::= { fcCardDescriptionEntry 14 }  	
			
		fcCardDriverName OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card driver name."
			::= { fcCardDescriptionEntry 15 }  		
		
		fcCardDriverVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card driver version."
			::= { fcCardDescriptionEntry 16 } 	
			
		fcCardTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card temperature.0xFF means fccard is not support to get temperature."
			::= { fcCardDescriptionEntry 17 } 

		fcPortDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF FcPortDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the fccard port info."
			::= { fcCardProperty 51 }
        
		fcPortDescriptionEntry OBJECT-TYPE
			SYNTAX FcPortDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about fccard port."
			INDEX { fcPortCardIndex, fcPortLocation}
			::= { fcPortDescriptionTable 1 }
		
		FcPortDescriptionEntry ::=
			SEQUENCE {
				fcPortCardIndex
					INTEGER,
				fcPortLocation
					INTEGER,
				fcPortLinkStatus
					INTEGER,
				fcPortSupportSpeed
					INTEGER,
				fcPortCurrentSpeed
					INTEGER,
				fcPortWwnn
					DisplayString,
				fcPortWwpn
					DisplayString,
				fcPortBDF
					DisplayString,					
				fcPortCardDeviceName
					DisplayString, 
			}
	
		fcPortCardIndex OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port owner fc card index."
			::= { fcPortDescriptionEntry 1 } 

		fcPortLocation OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc card port location num, depends on silk."
			::= { fcPortDescriptionEntry 2 }
			
		fcPortLinkStatus OBJECT-TYPE
			SYNTAX INTEGER{
				linkdown(0),
				linkup(1),
				unknown(255)
			} 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port link status define as:
					0: linkdown,
					1: linkup,
				  255: unknown"
			::= { fcPortDescriptionEntry 3 } 	

		fcPortSupportSpeed OBJECT-TYPE
			SYNTAX INTEGER{
				supportSpeed4-8-16G(28),
				supportSpeed8-16-32G(56),
				unknown(255),
			}  
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port capable speed define as:
					28: supportSpeed4-8-16G,
					56: supportSpeed8-16-32G,
				   255: unknown"
			::= { fcPortDescriptionEntry 4 } 

		fcPortCurrentSpeed OBJECT-TYPE
			SYNTAX INTEGER{
				speedauto(0),
				speed4G(4),
				speed8G(8),
				speed16G(16),
				speed32G(32),
				unknown(255),
			}  
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port current speed define as:
					 0: speedauto,
					 4: speed4G,
					 8: speed8G,
					16: speed16G,
					32: speed32G,
				   255: unknown"
			::= { fcPortDescriptionEntry 5 } 			

		fcPortWwnn OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port wwnn."
			::= { fcPortDescriptionEntry 6 }
	
		fcPortWwpn OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port wwwpn."
			::= { fcPortDescriptionEntry 7 }

		fcPortBDF OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port BDF."
			::= { fcPortDescriptionEntry 8 }

		fcPortCardDeviceName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Fc port owner fc card device name.Same as owner card fcCardDevicename"
			::= { fcPortDescriptionEntry 9 } 

--    ****** gpuProperty Information *******************************
  
		gpuProperty OBJECT IDENTIFIER ::= { zteBMC 28 }
					
		gpuDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF GpuDescriptionEntry 
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the gpu info."
			::= { gpuProperty 50 }
        
		gpuDescriptionEntry OBJECT-TYPE
			SYNTAX GpuDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about gpu."
			INDEX { gpuIndex, gpuId}
			::= { gpuDescriptionTable 1 }
		
		GpuDescriptionEntry ::=
			SEQUENCE {
				gpuIndex
					INTEGER,
				gpuId
					INTEGER,
				gpuLocationType
					INTEGER,
				gpuLocationSlot
					INTEGER, 
				gpuDevicename
					DisplayString,
				gpuHealthStatus
					INTEGER,
				gpuCurrentPower
					INTEGER,
				gpuCurrentTemperature
					INTEGER,					
				gpuName
					DisplayString,
				gpuManufacturer
					DisplayString,
				gpuFirmwareVersion
					DisplayString,
				gpuBuildDate
					DisplayString,
				gpuPartNumber
					DisplayString,						
				gpuSerialNumber
					DisplayString,
				gpuMaxCoreNumber
					INTEGER,
				gpuMemorySize
					INTEGER,
				gpuRatedPower
					INTEGER,	
				gpuCurrentMemoryTemperature
					INTEGER,	
				gpuMemoryBandWidth
					DisplayString
				}
	
		gpuIndex OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU index."
			::= { gpuDescriptionEntry 1 } 

		gpuId OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU core id."
			::= { gpuDescriptionEntry 2 }
			
		gpuLocationType OBJECT-TYPE
			SYNTAX INTEGER{
				pcie(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"gpu location type define as:
					1: pcie,
				  255: unknown"
			::= { gpuDescriptionEntry 3 } 

		gpuLocationSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU location slot."
			::= { gpuDescriptionEntry 4 }
			
		gpuDevicename OBJECT-TYPE	
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU slot info string: location type + location slot.Such as (Pcie Card 5)."
			::= { gpuDescriptionEntry 5 } 
			
		gpuHealthStatus OBJECT-TYPE
			SYNTAX INTEGER{
				ok(0),
				minor(2),
				major(3),
				critical(4),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU health status define as:
					0: ok,
					2: minor,
					3: major,
					4: critical,
				  255: unknown"
			::= { gpuDescriptionEntry 6 } 

		gpuCurrentPower OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(-1)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU current power(mW). -1 means unknown."
			::= { gpuDescriptionEntry 7 } 

		gpuCurrentTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU current temperature. 255 means unknown."
			::= { gpuDescriptionEntry 8 }
			
		gpuName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU card name."
			::= { gpuDescriptionEntry 9 } 	

		gpuManufacturer OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU card manufacturer name."
			::= { gpuDescriptionEntry 10 } 

		gpuFirmwareVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU firmware version."
			::= { gpuDescriptionEntry 11 } 			

		gpuBuildDate OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU build date."
			::= { gpuDescriptionEntry 12 }

		gpuPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU part number."
			::= { gpuDescriptionEntry 13 }	
			
		gpuSerialNumber OBJECT-TYPE
			SYNTAX DisplayString 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU serial number."
			::= { gpuDescriptionEntry 14 } 
 	
		gpuMaxCoreNumber OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU max core number."
			::= { gpuDescriptionEntry 15 } 
			
		gpuMemorySize OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU memory size(GB)."
			::= { gpuDescriptionEntry 16 } 
			
		gpuRatedPower OBJECT-TYPE
			SYNTAX INTEGER 
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU rated power(W)."
			::= { gpuDescriptionEntry 17 } 
			
		gpuCurrentMemoryTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU current memory temperature. 255 means unknown."
			::= { gpuDescriptionEntry 18 }
			
		gpuMemoryBandWidth OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"GPU Memory bandwidth(GB/s)."
			::= { gpuDescriptionEntry 19 }

--    ****** raidControllerProperty Information *******************************

		raidControllerProperty OBJECT IDENTIFIER ::= { zteBMC 29 }

		raidControllerDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF RaidControllerDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the sensor."
			::= { raidControllerProperty 50 }

		raidControllerDescriptionEntry OBJECT-TYPE
			SYNTAX RaidControllerDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about RAID controller."
			INDEX { raidControllerIndex }
			::= { raidControllerDescriptionTable 1 }

		RaidControllerDescriptionEntry ::=
			SEQUENCE {
				raidControllerIndex
					INTEGER,
				raidControllerId
					INTEGER,
				raidControllerName
					DisplayString,
				raidControllerComponentName
					DisplayString,
				raidControllerMode
					INTEGER,
				raidControllerLocationType
					INTEGER,
				raidControllerLocationSlot
					INTEGER,
				raidControllerVendor
					DisplayString,
				raidControllerChipVendor
					DisplayString,
				raidControllerChipModel
					DisplayString,
				raidControllerHealthStatus
					INTEGER,
				raidControllerSupportOOBManagement
					INTEGER,
				raidControllerFwVersion
					DisplayString,
				raidControllerPackageVersion
					DisplayString,
				raidControllerNVDataVersion
					DisplayString,
				raidControllerBiosVersion
					DisplayString,
				raidControllerDriverVersion
				    DisplayString,
				raidControllerSerialNumber
				    DisplayString,
				raidControllerSASAddress
					DisplayString,
				raidControllerPartNumber
					DisplayString,
				raidControllerJBODEnable
					INTEGER,
				raidControllerDeviceInterface
					INTEGER,
				raidControllerMemorySizeInMiB
				    INTEGER,
				raidControllerTemperature
					INTEGER,
				raidControllerMinStripSupportInBytes
					INTEGER,
				raidControllerMaxStripSupportInBytes
					INTEGER,
				raidControllerSupportedRAIDLevels
				    DisplayString,
				raidControllerSupportedProtocols
				    DisplayString,
				raidControllerBBUPresence
					INTEGER,
				raidControllerBBUName
					DisplayString,
				raidControllerBBUHealthStatus
					INTEGER,
				raidControllerBBUAvailabilityStatus
					INTEGER,
				raidControllerBBUTemperature
					INTEGER,
				raidControllerBBUCurrent
					INTEGER,
				raidControllerBBUVoltage
					INTEGER,
				}

		raidControllerIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller index."
			::= { raidControllerDescriptionEntry 1 }

		raidControllerId OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller Id."
			::= { raidControllerDescriptionEntry 2 }

		raidControllerName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller name."
			::= { raidControllerDescriptionEntry 3 }

		raidControllerComponentName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller component name."
			::= { raidControllerDescriptionEntry 4 }

		raidControllerMode OBJECT-TYPE
			SYNTAX INTEGER{
                   raid(1),
                   hba(2),
                   jbod(3),
				   unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller mode.
					1: RAID
					2: HBA
					3: JBOD
					255: Unknown
				"
			::= { raidControllerDescriptionEntry 5 }

		raidControllerLocationType OBJECT-TYPE
			SYNTAX INTEGER{
                   embedded(1),
                   pcie(2),
				   unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller location type.
					1: embedded
					2: PCIE
					255: Unknown
				"
			::= { raidControllerDescriptionEntry 6 }

		raidControllerLocationSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller location slot."
			::= { raidControllerDescriptionEntry 7 }

		raidControllerVendor OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller vendor."
			::= { raidControllerDescriptionEntry 8 }

		raidControllerChipVendor OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller chip vendor."
			::= { raidControllerDescriptionEntry 9 }

		raidControllerChipModel OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller chip model."
			::= { raidControllerDescriptionEntry 10 }

		raidControllerHealthStatus OBJECT-TYPE
			SYNTAX INTEGER{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller health status."
			::= { raidControllerDescriptionEntry 11 }


		raidControllerSupportOOBManagement OBJECT-TYPE
			SYNTAX INTEGER{
                   no(1),
				   yes(2)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller if support OOB management.
					1: No
					2: Yes
				"
			::= { raidControllerDescriptionEntry 12 }

		raidControllerFwVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller firmware version."
			::= { raidControllerDescriptionEntry 13 }

		raidControllerPackageVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller firmware package version."
			::= { raidControllerDescriptionEntry 14 }

		raidControllerNVDataVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller NVData version."
			::= { raidControllerDescriptionEntry 15 }

		raidControllerBiosVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller bios version."
			::= { raidControllerDescriptionEntry 16 }

		raidControllerDriverVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller driver version."
			::= { raidControllerDescriptionEntry 17 }

		raidControllerSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller serial number."
			::= { raidControllerDescriptionEntry 18 }

		raidControllerSASAddress OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller sas address."
			::= { raidControllerDescriptionEntry 19 }

		raidControllerPartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller part number."
			::= { raidControllerDescriptionEntry 20 }

		raidControllerJBODEnable OBJECT-TYPE
			SYNTAX INTEGER{
                   disabled(1),
                   enabled(2),
				   unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about the JBOD state of RAID controller.
					1: Disabled
					2: Enabled
					255:unknown
				"
			::= { raidControllerDescriptionEntry 21 }

		raidControllerDeviceInterface OBJECT-TYPE
			SYNTAX INTEGER{
                   spi(1),
                   sas-3G(2),
                   sata-1-5G(3),
				   sata-3G(4),
				   sas-6G(5),
				   sas-12G(6),
				   sata-6G(7),
				   unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller device interface type.
					1: SPI
					2: SAS-3G
					3: SATA-1.5G
					4: SATA-3G
					5: SAS-6G
					6: SAS-12G
					7: SATA-6G
					255: Unknown
				"
			::= { raidControllerDescriptionEntry 22 }

		raidControllerMemorySizeInMiB OBJECT-TYPE
			SYNTAX INTEGER{
                   unknown(0)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller memory size (MB).
				"
			::= { raidControllerDescriptionEntry 23 }

		raidControllerTemperature OBJECT-TYPE
			SYNTAX INTEGER{
                   unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller temperature.
				"
			::= { raidControllerDescriptionEntry 24 }

		raidControllerMinStripSupportInBytes OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about the minimum strip size that RAID controller support."
			::= { raidControllerDescriptionEntry 25 }

		raidControllerMaxStripSupportInBytes OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about the maximum strip size that RAID controller support."
			::= { raidControllerDescriptionEntry 26 }

		raidControllerSupportedRAIDLevels OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller supported levels."
			::= { raidControllerDescriptionEntry 27 }

		raidControllerSupportedProtocols OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller supported protocols."
			::= { raidControllerDescriptionEntry 28 }

		raidControllerBBUPresence OBJECT-TYPE
			SYNTAX INTEGER{
				absent(1),
				present(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller's BBU presence.
					1: Absent
					2: Present
					255: Unknown
				"
			::= { raidControllerDescriptionEntry 29 }

		raidControllerBBUName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller's BBU name."
			::= { raidControllerDescriptionEntry 30 }

		raidControllerBBUHealthStatus OBJECT-TYPE
			SYNTAX INTEGER{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller's BBU health status."
			::= { raidControllerDescriptionEntry 31 }

		raidControllerBBUAvailabilityStatus OBJECT-TYPE
			SYNTAX INTEGER{
				missing(0),
				ready(1),
				learnCycleActive(2),
				learnCycleFailed(3),
				replacePack(4),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller's BBU availability status.
					0 - BBU is missing
					1 - BBU is ready
					2 - learn cycle active
					3 - learn cycle failed
					4 - BBU needs to be replaced
					others: reserved
				"
			::= { raidControllerDescriptionEntry 32 }

		raidControllerBBUTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller's BBU temperature."
			::= { raidControllerDescriptionEntry 33 }

		raidControllerBBUCurrent OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller's BBU current(mA)."
			::= { raidControllerDescriptionEntry 34 }

		raidControllerBBUVoltage OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller's BBU voltage(mV)."
			::= { raidControllerDescriptionEntry 35 }


--    ****** hardDiskProperty Information *******************************

		hardDiskProperty OBJECT IDENTIFIER ::= { zteBMC 30 }

		hardDiskEntireStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
				}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about all hard disk health status."
			::= { hardDiskProperty 1 }

		hardDiskMaxSupportNum OBJECT-TYPE
			SYNTAX INTEGER
			{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about hard disk's max support num."
			::= { hardDiskProperty 2 }

		hardDiskTotalPresentNum OBJECT-TYPE
			SYNTAX INTEGER
			{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about hard disk's total present num."
			::= { hardDiskProperty 3 }

		hardDiskDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF HardDiskDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the hard disk."
			::= { hardDiskProperty 50 }

		hardDiskDescriptionEntry OBJECT-TYPE
			SYNTAX HardDiskDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about hard disk."
			INDEX { hardDiskIndex }
			::= { hardDiskDescriptionTable 1 }

		HardDiskDescriptionEntry ::=
			SEQUENCE {
				hardDiskIndex
					INTEGER,
				hardDiskLocation
					INTEGER,
				hardDiskDevicename
					DisplayString,
				hardDiskHealthStatus
					INTEGER,
				hardDiskAvailabilityStatus
					INTEGER,
				hardDiskManufacturer
					DisplayString,
				hardDiskModelNumber
					DisplayString,
				hardDiskSerialNumber
					DisplayString,
				hardDiskFwVersion
					DisplayString,
				hardDiskSASAddr
					DisplayString,
				hardDiskMediaType
					INTEGER,
				hardDiskInterfaceType
					INTEGER,
				hardDiskCapacityInGB
					INTEGER,
				hardDiskCapacityInByte
					DisplayString,
				hardDiskTemperature
					INTEGER,
				hardDiskPowerState
				    INTEGER,
				hardDiskCapableSpeed
				    INTEGER,
				hardDiskNegotiatedSpeed
					INTEGER,
				hardDiskRotateRate
					INTEGER,
				hardDiskSize
					INTEGER,
				hardDiskSmartState
					INTEGER,
				hardDiskPrefailState
				    INTEGER,
				hardDiskPrefailErrCount
					INTEGER,
				hardDiskMediaErrCount
					INTEGER,
				hardDiskOtherErrCount
					INTEGER,
				hardDiskLocationState
				    INTEGER,
				hardDiskHotSpareState
				    INTEGER,
				hardDiskRebuildProgress
					INTEGER,
				hardDiskRemainLifetime
					INTEGER,
				pchHardDiskCPUNum
					INTEGER,
				pchHardDiskHBAPortNum
					INTEGER,
				pchHardDiskBDFNum
					DisplayString
				}

		hardDiskIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk index."
			::= { hardDiskDescriptionEntry 1 }

		hardDiskLocation OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk location slot."
			::= { hardDiskDescriptionEntry 2 }

		hardDiskDevicename OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk device name."
			::= { hardDiskDescriptionEntry 3 }

		hardDiskHealthStatus OBJECT-TYPE
			SYNTAX INTEGER{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk health status."
			::= { hardDiskDescriptionEntry 4 }

		hardDiskAvailabilityStatus OBJECT-TYPE
			SYNTAX INTEGER{
				unconfigured-good(0),
				unconfigured-bad(1),
				global-hot-spare(2),
				offline(4),
				failed(5),
				rebuild(6),
				online(7),
				copyback(8),
				jbod(9),
				unconfigured-shielded(10),
				hot-spare-shielded(11),
				configured-shielded(12),
				dedicated-hot-spare(13),
				foreign(14),
				unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk availability status."
			::= { hardDiskDescriptionEntry 5 }

		hardDiskManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk manufacturer."
			::= { hardDiskDescriptionEntry 6 }

		hardDiskModelNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk model number."
			::= { hardDiskDescriptionEntry 7 }

		hardDiskSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk serial number."
			::= { hardDiskDescriptionEntry 8 }

		hardDiskFwVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk firmware version."
			::= { hardDiskDescriptionEntry 9 }

		hardDiskSASAddr OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk SAS address."
			::= { hardDiskDescriptionEntry 10 }

		hardDiskMediaType OBJECT-TYPE
			SYNTAX INTEGER{
				hdd(0),
				ssd(1),
				ssm(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk media type."
			::= { hardDiskDescriptionEntry 11 }

		hardDiskInterfaceType OBJECT-TYPE
			SYNTAX INTEGER{
				undefined(0),
				parallel-scsi(1),
				sas(2),
				sata(3),
				fiber-channel(4),
				pcie(5),
				nvme(6),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk interface type."
			::= { hardDiskDescriptionEntry 12 }

		hardDiskCapacityInGB OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk capacity(GB)."
			::= { hardDiskDescriptionEntry 13 }

		hardDiskCapacityInByte OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk capacity(Byte)."
			::= { hardDiskDescriptionEntry 14 }

		hardDiskTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk temperature (Celsius)."
			::= { hardDiskDescriptionEntry 15 }

		hardDiskPowerState OBJECT-TYPE
			SYNTAX INTEGER{
				spun-up(1),
				spun-down(2),
				transition(3),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk power state."
			::= { hardDiskDescriptionEntry 16 }

		hardDiskCapableSpeed OBJECT-TYPE
			SYNTAX INTEGER{
				speed1p5Gbps(1),
				speed3Gbps(2),
				speed6Gbps(3),
				speed12Gbps(4),
				speed2p5GTps(5),
				speed5GTps(6),
				speed8GTps(7),
				speed16GTps(8),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk maximum supported speed."
			::= { hardDiskDescriptionEntry 17 }

		hardDiskNegotiatedSpeed OBJECT-TYPE
			SYNTAX INTEGER{
				speed1p5Gbps(1),
				speed3Gbps(2),
				speed6Gbps(3),
				speed12Gbps(4),
				speed2p5GTps(5),
				speed5GTps(6),
				speed8GTps(7),
				speed16GTps(8),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk negotiated speed."
			::= { hardDiskDescriptionEntry 18 }

		hardDiskRotateRate OBJECT-TYPE
			SYNTAX INTEGER{
				speed5400RPM(0),
				speed7200RPM(1),
				speed10000RPM(2),
				speed10025RPM(3),
				speed15000RPM(4),
				ssd(5),
				speed10500RPM(6),
				speed10520RPM(7),
				speed15030RPM(8),
				speed15052RPM(9),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk rotate rate."
			::= { hardDiskDescriptionEntry 19 }

		hardDiskSize OBJECT-TYPE
			SYNTAX INTEGER{
				size2p5(0),
				size3p5(1),
				unknown(255)
		   }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk size(in)."
			::= { hardDiskDescriptionEntry 20 }

		hardDiskSmartState OBJECT-TYPE
			SYNTAX INTEGER{
				   unknown(0),
                   detected(1),
                   not-detected(2)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk smart state."
			::= { hardDiskDescriptionEntry 21 }

		hardDiskPrefailState OBJECT-TYPE
			SYNTAX INTEGER{
                   no(1),
                   yes(2),
                   unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk prefail state."
			::= { hardDiskDescriptionEntry 22 }

		hardDiskPrefailErrCount OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(1048575)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk prefail error count."
			::= { hardDiskDescriptionEntry 23 }

		hardDiskMediaErrCount OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(1048575)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk media error count."
			::= { hardDiskDescriptionEntry 24 }

		hardDiskOtherErrCount OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(1048575)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk other error count."
			::= { hardDiskDescriptionEntry 25 }

		hardDiskLocationState OBJECT-TYPE
			SYNTAX INTEGER{
				led-on(1),
				led-off(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk location led state."
			::= { hardDiskDescriptionEntry 26 }

		hardDiskHotSpareState OBJECT-TYPE
			SYNTAX INTEGER{
				none(0),
				global(1),
				dedicated(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk hot spare state."
			::= { hardDiskDescriptionEntry 27 }

		hardDiskRebuildProgress OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk rebuild progress (0 - 100%)."
			::= { hardDiskDescriptionEntry 28 }

		hardDiskRemainLifetime OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk remaining lifetime rate(0-100%)"
			::= { hardDiskDescriptionEntry 29 }
			
		pchHardDiskCPUNum OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"PCH disk CPU Number"
			::= { hardDiskDescriptionEntry 30 }		
			
		pchHardDiskHBAPortNum OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"PCH disk HBA Port Number"
			::= { hardDiskDescriptionEntry 31 }	
			
		pchHardDiskBDFNum OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"PCH disk BDF Number."
			::= { hardDiskDescriptionEntry 32 }

		hardDiskPresenceTable OBJECT-TYPE
			SYNTAX SEQUENCE OF HardDiskPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the hard disk."
			::= { hardDiskProperty 51 }

		hardDiskPresenceEntry OBJECT-TYPE
			SYNTAX HardDiskPresenceEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about hard disk Presence."
			INDEX { hardDiskLocationSlot }
			::= { hardDiskPresenceTable 1 }

		HardDiskPresenceEntry ::=
			SEQUENCE {
				hardDiskLocationSlot
					INTEGER,
				hardDiskPresenceStatus
					INTEGER
				}

		hardDiskLocationSlot OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk location slot."
			::= { hardDiskPresenceEntry 1 }

		hardDiskPresenceStatus OBJECT-TYPE
			SYNTAX INTEGER{
				absence(1),
				presence(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Hard disk presence status."
			::= { hardDiskPresenceEntry 2 }


--    ****** nvmeDeviceProperty Information *******************************

		nvmeDeviceProperty OBJECT IDENTIFIER ::= { zteBMC 31 }

		nvmeDeviceDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF NvmeDeviceDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the nvme device information."
			::= { nvmeDeviceProperty 50 }

		nvmeDeviceDescriptionEntry OBJECT-TYPE
			SYNTAX NvmeDeviceDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about nvme device."
			INDEX { nvmeDeviceIndex }
			::= { nvmeDeviceDescriptionTable 1 }

		NvmeDeviceDescriptionEntry ::=
			SEQUENCE {
				nvmeDeviceIndex
					INTEGER,
				nvmeDeviceLocation
					INTEGER,
				nvmeDeviceFormType
					INTEGER,
				nvmeDeviceName
					DisplayString,
				nvmeDeviceStatus
					INTEGER,
				nvmeDeviceManufacturer
					DisplayString,
				nvmeDeviceModelNumber
					DisplayString,
				nvmeDeviceSerialNumber
					DisplayString,
				nvmeDevicePartNumber
					DisplayString,
				nvmeDeviceFwVersion
					DisplayString,
				nvmeDeviceMediaType
					INTEGER,
				nvmeDeviceInterfaceType
					INTEGER,
				nvmeDeviceCapacityInGB
					INTEGER,
				nvmeDeviceTemperature
					INTEGER,
				nvmeDeviceRemainLifetime
				    INTEGER,
				nvmeDeviceCapacityInByte
					DisplayString,
				nvmeDeviceLocationState
					INTEGER
				}

		nvmeDeviceIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device index."
			::= { nvmeDeviceDescriptionEntry 1 }

		nvmeDeviceLocation OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device location slot."
			::= { nvmeDeviceDescriptionEntry 2 }

		nvmeDeviceFormType OBJECT-TYPE
			SYNTAX INTEGER{
				u2(1),
				aic(2),
				m2(3),
				u3(4),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device form type."
			::= { nvmeDeviceDescriptionEntry 3 }

		nvmeDeviceName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device name."
			::= { nvmeDeviceDescriptionEntry 4 }

		nvmeDeviceStatus OBJECT-TYPE
			SYNTAX INTEGER{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device health status."
			::= { nvmeDeviceDescriptionEntry 5 }

		nvmeDeviceManufacturer OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device manufacturer."
			::= { nvmeDeviceDescriptionEntry 6 }

		nvmeDeviceModelNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device model number."
			::= { nvmeDeviceDescriptionEntry 7 }

		nvmeDeviceSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device serial number."
			::= { nvmeDeviceDescriptionEntry 8 }

		nvmeDevicePartNumber OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device part number."
			::= { nvmeDeviceDescriptionEntry 9 }

		nvmeDeviceFwVersion OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device firmware version."
			::= { nvmeDeviceDescriptionEntry 10 }

		nvmeDeviceMediaType OBJECT-TYPE
			SYNTAX INTEGER{
				ssd(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device media type."
			::= { nvmeDeviceDescriptionEntry 11 }

		nvmeDeviceInterfaceType OBJECT-TYPE
			SYNTAX INTEGER{
				pcie(5),
				nvme(6),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device interface type."
			::= { nvmeDeviceDescriptionEntry 12 }

		nvmeDeviceCapacityInGB OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device capacity(GB)."
			::= { nvmeDeviceDescriptionEntry 13 }

		nvmeDeviceTemperature OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device temperature (in Celsius)."
			::= { nvmeDeviceDescriptionEntry 14 }

		nvmeDeviceRemainLifetime OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device remaining lifetime rate(0-100%)"
			::= { nvmeDeviceDescriptionEntry 15 }

		nvmeDeviceCapacityInByte OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about nvme device capacity(Byte)."
			::= { nvmeDeviceDescriptionEntry 16 }

		nvmeDeviceLocationState OBJECT-TYPE
			SYNTAX INTEGER{
				on(1),
				off(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"NVME location led presence status."
			::= { nvmeDeviceDescriptionEntry 17 }

--    ****** logicalDriveProperty Information *******************************

		logicalDriveProperty OBJECT IDENTIFIER ::= { zteBMC 32 }

		logicalDriveDescriptionTable OBJECT-TYPE
			SYNTAX SEQUENCE OF LogicalDriveDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table containing the logical disk."
			::= { logicalDriveProperty 50 }

		logicalDriveDescriptionEntry OBJECT-TYPE
			SYNTAX LogicalDriveDescriptionEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"Information about logical drive."
			INDEX { logicalDriveRAIDControllerIndex,
					logicalDriveIndex
         			}
			::= { logicalDriveDescriptionTable 1 }

		LogicalDriveDescriptionEntry ::=
			SEQUENCE {
				logicalDriveRAIDControllerIndex
					INTEGER,
				logicalDriveIndex
					INTEGER,
				logicalDriveName
					DisplayString,
				logicalDriveId
					INTEGER,
				logicalDriveRAIDLevel
					INTEGER,
				logicalDriveHealthState
					INTEGER,
				logicalDriveAvailabilityState
					INTEGER,
				logicalDriveSizeInGB
					INTEGER,
				logicalDriveDefaultReadPolicy
					INTEGER,
				logicalDriveDefaultWritePolicy
					INTEGER,
				logicalDriveDefaultIOPolicy
					INTEGER,
				logicalDriveCurrentReadPolicy
					INTEGER,
				logicalDriveCurrentWritePolicy
					INTEGER,
				logicalDriveCurrentIOPolicy
					INTEGER,
				logicalDriveSpanDepth
					INTEGER,
				logicalDriveNumDrivePerSpan
					INTEGER,
				logicalDriveStripeSizeInBytes
				    INTEGER,
				logicalDriveDiskCachePolicy
				    INTEGER,
				logicalDriveAccessPolicy
					INTEGER,
				logicalDriveInitState
					INTEGER,
				logicalDriveBGIEnable
					INTEGER,
				logicalDriveConsistencyCheckStatus
				    INTEGER,
				logicalDriveMembersNumber
				    INTEGER,
				logicalDriveMemberList
					DisplayString,
				logicalDriveControllerOwnership
					DisplayString,	
				}

		logicalDriveRAIDControllerIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller index to which this logical drive belongs."
			::= { logicalDriveDescriptionEntry 1 }

		logicalDriveIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive index in current RAID controller."
			::= { logicalDriveDescriptionEntry 2 }

		logicalDriveName OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive name."
			::= { logicalDriveDescriptionEntry 3 }

		logicalDriveId OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive Id."
			::= { logicalDriveDescriptionEntry 4 }

		logicalDriveRAIDLevel OBJECT-TYPE
			SYNTAX INTEGER{
					raid0(0),
					raid1(1),
					raid5(2),
					raid6(3),
					raidlE(4),
					raid00(5),
					raid10(6),
					raid50(7),
					raid60(8),
					unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive level."
			::= { logicalDriveDescriptionEntry 5 }

		logicalDriveHealthState OBJECT-TYPE
			SYNTAX INTEGER{
					ok(0),
					minor(2),
					major(3),
					critical(4),
					unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive health status."
			::= { logicalDriveDescriptionEntry 6 }

		logicalDriveAvailabilityState OBJECT-TYPE
			SYNTAX INTEGER{
				offline(0),
				part-degraded(1),
				degraded(2),
				optimal(3),
				unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive availability status."
			::= { logicalDriveDescriptionEntry 7 }

		logicalDriveSizeInGB OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive size(GB)."
			::= { logicalDriveDescriptionEntry 8 }

		logicalDriveDefaultReadPolicy OBJECT-TYPE
			SYNTAX INTEGER{
				no-read-ahead(0),
				read-ahead(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive default read policy."
			::= { logicalDriveDescriptionEntry 9 }

		logicalDriveDefaultWritePolicy OBJECT-TYPE
			SYNTAX INTEGER{
				write-through(0),
				write-back-with-bbu(1),
				write-back(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive default write policy."
			::= { logicalDriveDescriptionEntry 10 }

		logicalDriveDefaultIOPolicy OBJECT-TYPE
			SYNTAX INTEGER{
				cached-IO(0),
				direct-IO(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive default IO policy."
			::= { logicalDriveDescriptionEntry 11 }

		logicalDriveCurrentReadPolicy OBJECT-TYPE
			SYNTAX INTEGER{
				no-read-ahead(0),
				read-ahead(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive read policy."
			::= { logicalDriveDescriptionEntry 12 }

		logicalDriveCurrentWritePolicy OBJECT-TYPE
			SYNTAX INTEGER{
				write-through(0),
				write-back-with-bbu(1),
				write-back(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive write policy."
			::= { logicalDriveDescriptionEntry 13 }

		logicalDriveCurrentIOPolicy OBJECT-TYPE
			SYNTAX INTEGER{
				cached-IO(0),
				direct-IO(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive IO policy."
			::= { logicalDriveDescriptionEntry 14 }

		logicalDriveSpanDepth OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive span depth."
			::= { logicalDriveDescriptionEntry 15 }

		logicalDriveNumDrivePerSpan OBJECT-TYPE
			SYNTAX INTEGER{
				unknown(255)
               }
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive number of drives per span."
			::= { logicalDriveDescriptionEntry 16 }

		logicalDriveStripeSizeInBytes OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive stripe size in bytes."
			::= { logicalDriveDescriptionEntry 17 }

		logicalDriveDiskCachePolicy OBJECT-TYPE
			SYNTAX INTEGER{
				disk-default(0),
				enabled(1),
				disabled(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive disk cache policy."
			::= { logicalDriveDescriptionEntry 18 }

		logicalDriveAccessPolicy OBJECT-TYPE
			SYNTAX INTEGER{
				read-write(0),
				read-only(1),
				blocked(2),
				hidden(3),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive access policy."
			::= { logicalDriveDescriptionEntry 19 }

		logicalDriveInitState OBJECT-TYPE
			SYNTAX INTEGER{
				no-init(0),
				quick-init(1),
				full-init(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive init state."
			::= { logicalDriveDescriptionEntry 20 }

		logicalDriveBGIEnable OBJECT-TYPE
			SYNTAX INTEGER{
				disabled(1),
				enabled(2),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive BGI state."
			::= { logicalDriveDescriptionEntry 21 }

		logicalDriveConsistencyCheckStatus OBJECT-TYPE
			SYNTAX INTEGER{
				stopped(0),
				in-progress(1),
				unknown(255)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive consistency check status."
			::= { logicalDriveDescriptionEntry 22 }

		logicalDriveMembersNumber OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive members number."
			::= { logicalDriveDescriptionEntry 23 }

		logicalDriveMemberList OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about logical drive members list.
				The value such as (1,2,3,4)."
			::= { logicalDriveDescriptionEntry 24 }
			
		logicalDriveControllerOwnership OBJECT-TYPE
			SYNTAX DisplayString
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Information about RAID controller name to which this logical drive belongs.
				The value such as 'AVAGO MegaRAID SAS 9361-8i(1)', 1 is raid card pcie slot."
			::= { logicalDriveDescriptionEntry 25 }

			
END

