-- This file was included in WWP MIB release 04-10-01-0027

 --
 -- WWP-LEOS-SSH-MIB.my
 --                          
 WWP-LEOS-SSH-MIB DEFINITIONS ::= BEGIN

 IMPORTS 		
   IpAddress, Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY			
	    FROM SNMPv2-SMI			
   RowStatus, TruthValue
	    FROM SNMPv2-TC						
   InetAddressType,InetAddress
            FROM INET-ADDRESS-MIB            
   MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
   wwpModulesLeos			
	    FROM WWP-SMI;
		
 wwpLeosSSHMIB MODULE-IDENTITY
	    LAST-UPDATED "201204100000Z"
	    ORGANIZATION "Ciena, Inc"
	    CONTACT-INFO
		    "   Mib Meister
		  			115 North Sullivan Road
					Spokane Valley, WA 99037
		        	USA		 		
		        	Phone:  +1 509 242 9000
					Email:  support@ciena.com"
	    DESCRIPTION
		    "The MIB module defines the managed objects for the SSH 
		    available on the WWP specific products."
	    REVISION    "201204100000Z"
	    DESCRIPTION
		    "Add new OIDs wwpLeosSSHServerClientInetAddrType and 
                     wwpLeosSSHServerClientInetAddr to support IP protocol version 
                     independent Inet addressing."
	    REVISION    "201106150000Z"            
	    DESCRIPTION
		    "Updated the Max limits for objects wwpLeosSSHServerMaxLimitedUsers and wwpLeosSSHServerMaxSuperUsers.
		     Added new object wwpLeosSSHServerMaxAdminUsers."
	    REVISION    "200604181700Z"            
	    DESCRIPTION
		    "Initial creation."
	    ::= { wwpModulesLeos 34 }
						
 --
 -- Node definitions
 --
	
 wwpLeosSSHMIBObjects OBJECT IDENTIFIER ::= { wwpLeosSSHMIB 1 }
 
 -- 
 --
 wwpLeosSSHServerGlobal OBJECT IDENTIFIER ::= { wwpLeosSSHMIBObjects 1 }
 
 wwpLeosSSHServerClient OBJECT IDENTIFIER ::= { wwpLeosSSHMIBObjects 2 }
 
 wwpLeosSSHServerListenerPort OBJECT IDENTIFIER ::= { wwpLeosSSHMIBObjects 3 }


 -- Notifications 
  
 wwpLeosSSHMIBNotificationPrefix  OBJECT IDENTIFIER ::= { wwpLeosSSHMIB 2 } 
 wwpLeosSSHMIBNotifications       OBJECT IDENTIFIER ::=  
                       { wwpLeosSSHMIBNotificationPrefix 0 }

 -- Conformance information 
 
 wwpLeosSSHMIBConformance OBJECT IDENTIFIER ::= { wwpLeosSSHMIB 3 } 
 wwpLeosSSHMIBCompliances OBJECT IDENTIFIER ::= { wwpLeosSSHMIBConformance 1 } 		
 wwpLeosSSHMIBGroups      OBJECT IDENTIFIER ::= { wwpLeosSSHMIBConformance 2 }

 --
 --  The SSH Global Attributes
 --
 wwpLeosSSHServerAdminState          OBJECT-TYPE
     SYNTAX          INTEGER {
     					disabled(1),
     					enabled(2)
     			     }
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The object indicates the admin global state of SSH server."               
     ::= { wwpLeosSSHServerGlobal 1 }
 
 wwpLeosSSHServerOperState          OBJECT-TYPE
     SYNTAX          INTEGER {
     					disabled(1),
     					enabled(2)
     			     }
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The object indicates the operational state of SSH server."               
     ::= { wwpLeosSSHServerGlobal 2 }
     
 wwpLeosSSHServerAuthenticationRetries          OBJECT-TYPE
     SYNTAX          Integer32 (1..3)
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The object indicates the number of retries SSH server should allow before rejecting the client request." 
     DEFVAL {3}              
     ::= { wwpLeosSSHServerGlobal 3 }

 wwpLeosSSHServerMaxClients          OBJECT-TYPE
     SYNTAX          Integer32
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "The object indicates the maximum number of clients session SSH server accepts at any given time.
    	      At any given time current number of limited + super users will never exceed the value indicated by 
    	      wwpLeosSSHServerMaxClients."               
    ::= { wwpLeosSSHServerGlobal 4 }

 wwpLeosSSHServerKeyGenerateSet          OBJECT-TYPE
     SYNTAX          TruthValue
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "Setting this object will trigger the device to generate key.
    	      If user optionally wants the public key to be TFTP to some address then
    	      wwpLeosSSHServerTftpServer must be set to valid TFTP server."               
     ::= { wwpLeosSSHServerGlobal 5 }
 
 wwpLeosSSHServerKey          OBJECT-TYPE
     SYNTAX          OCTET STRING (SIZE(0..64))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "This MIB object specifies the key that exist on the device."               
     ::= { wwpLeosSSHServerGlobal 6 }
     
 wwpLeosSSHServerKeyStatus          OBJECT-TYPE
     SYNTAX          INTEGER {
     					keyReady(1),
     					keyGenerating(2),
     					keyDoesnotExist(3),
     					keyGenerationFailed(4)     					
     					}
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
    	     "This mib object returns the key status on the device."               
     ::= { wwpLeosSSHServerGlobal 7 }
     
 wwpLeosSSHServerTftpServer          OBJECT-TYPE
     SYNTAX          IpAddress
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The object indicates the TFTP server where public key would optionally be transmitted to.
    	      Once this object is set device will always use this IP address whenever wwpLeosSSHServerKeyGenerateSet
    	      is set to true. User must set this to 0 if user doesnot want the device to TFTP the public key.
    	      If key generation and TFTP server is not configured through SNMP then this object will always show 0.0.0.0."
     ::= { wwpLeosSSHServerGlobal 8 }
  
 wwpLeosSSHServerMaxLimitedUsers          OBJECT-TYPE
     SYNTAX          Integer32 (0..15)
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The object indicates the maximum number of limited users SSH server accepts at any given time."               
     DEFVAL			{4}
     ::= { wwpLeosSSHServerGlobal 9 }
     
 wwpLeosSSHServerMaxSuperUsers          OBJECT-TYPE
     SYNTAX          Integer32 (0..15)
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The object indicates the maximum number of super users SSH server accepts at any given time."               
     DEFVAL			{5}
     ::= { wwpLeosSSHServerGlobal 10 }
 
  wwpLeosSSHServerMaxAdminUsers          OBJECT-TYPE
     SYNTAX          Integer32 (0..15)
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The object indicates the maximum number of admin users SSH server accepts at any given time."               
     DEFVAL			{4}
     ::= { wwpLeosSSHServerGlobal 11 }
     
 --
 -- SSH Clients table
 --                                                     
 wwpLeosSSHServerClientTable OBJECT-TYPE
     SYNTAX     SEQUENCE OF WwpLeosSSHServerClientEntry
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
            "The (conceptual) table listing the SSH server clients configured.
             To create entry in this table Use SNMP multiple variable binding option.
             wwpLeosSSHServerClientIpAddr must be set to some valid IP.
             wwpLeosSSHServerClientStatus must be set to createAndGo.
             
             To delete entry in this table 
             wwpLeosSSHServerClientStatus must be set to destroy."
    ::= { wwpLeosSSHServerClient 1 }

 wwpLeosSSHServerClientEntry OBJECT-TYPE
    SYNTAX     WwpLeosSSHServerClientEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the wwpLeosSSHServerClientTable."
    INDEX      { wwpLeosSSHServerClientIndex }
    ::= { wwpLeosSSHServerClientTable 1 }
 
 WwpLeosSSHServerClientEntry ::= SEQUENCE {   
    wwpLeosSSHServerClientIndex         Integer32,
    wwpLeosSSHServerClientIpAddr        IpAddress, 
    wwpLeosSSHServerClientStatus        RowStatus,
    wwpLeosSSHServerClientInetAddrType  InetAddressType, 
    wwpLeosSSHServerClientInetAddr      InetAddress
 }

 wwpLeosSSHServerClientIndex          OBJECT-TYPE
     SYNTAX          Integer32 (1..100)
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
    	     "The object indicates the unique index in the table."               
     ::= { wwpLeosSSHServerClientEntry 1 }
 
 wwpLeosSSHServerClientIpAddr   OBJECT-TYPE
     SYNTAX          IpAddress
     MAX-ACCESS      read-create
     STATUS          current
     DESCRIPTION
    	     "The object indicates the IP address of the client that is allowed to connect using SSH.
    	      This object cannot be modified once entry is created with some IP.
    	      Returns 0.0.0.0 when not representing IPv4 address."               
     ::= { wwpLeosSSHServerClientEntry 2 }
  
 wwpLeosSSHServerClientStatus  OBJECT-TYPE
     SYNTAX       RowStatus		
     MAX-ACCESS   read-create
     STATUS       current
     DESCRIPTION
	     "Used to manage the creation and deletion of the 
	     conceptual rows in this table.
	     
	     To create a row in this table, a manager must
         set this object to 'createAndGo'. 
         To delete the entry set this to 'destroy'." 
     ::= { wwpLeosSSHServerClientEntry 3 }
 
 wwpLeosSSHServerClientInetAddrType   OBJECT-TYPE
     SYNTAX          InetAddressType
     MAX-ACCESS      read-create
     STATUS          current
     DESCRIPTION
    	     "The object indicates the IP address of the client that is allowed to connect 
              using SSH.  This object cannot be modified once entry is created with some IP.
              Used in conjunction with wwpLeosSSHServerClientInetAddr.
              When value is :
              ipv4 : wwpLeosSSHServerClientInetAddr should be compliant with InetAddressIPv4 
              ipv6 : wwpLeosSSHServerClientInetAddr should be compliant with InetAddressIPv6."
     ::= { wwpLeosSSHServerClientEntry 4 }
  
 wwpLeosSSHServerClientInetAddr   OBJECT-TYPE
     SYNTAX          InetAddress
     MAX-ACCESS      read-create
     STATUS          current
     DESCRIPTION
    	     "The object indicates the IP address of the client that is allowed to connect 
              using SSH.  This object cannot be modified once entry is created with some IP.
              This OID should be used in conunction with wwpLeosSSHServerClientInetAddrType."
     ::= { wwpLeosSSHServerClientEntry 5 }

 --
 -- SSH Server Listener Port Settings
 --                                                     
 wwpLeosSSHServerListenerPortId   OBJECT-TYPE
     SYNTAX          Unsigned32 (22..65535)
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
    	     "The object indicates the port number on which SSH server is allowed to listen for clients."               
     ::= { wwpLeosSSHServerListenerPort 1 }
 
 --
 -- module compliance  
 --
 wwpLeosSSHServerClientCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
           "The compliance statement of WWP-LEOS-SSH-MIB MIB."
       MODULE

       GROUP    wwpLeosSSHServerClientIPv6Group
       DESCRIPTION
           "This group is mandatory when IPv6 addresses are supported."

       OBJECT  wwpLeosSSHServerClientInetAddrType
       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
       DESCRIPTION
           "An implementation is only required to support IPv4
            and IPv6 addresses without zone indices."
       ::= { wwpLeosSSHMIBCompliances 1 }

 wwpLeosSSHServerClientIPv6Group OBJECT-GROUP
       OBJECTS { wwpLeosSSHServerClientInetAddrType, wwpLeosSSHServerClientInetAddr }
       STATUS  current
       DESCRIPTION "SSH server client objects for IPv6 address." 
       ::= { wwpLeosSSHMIBGroups 1 }
END	
 
