--  ======================================================================= 
--  File        : oaDhcp.mib 
--  Description : Private MIB for DHCP. 
--  By          : Tali Ruzin & Chen Chagashi & Alex Rozin 
--  Version     : $Revision: 1.11 $ 
--  Date        : $Date: 2001/03/29 09:24:17 $ 
--  $Log: oaDhcp.mib,v $
--  Revision 1.11  2001/03/29 09:24:17  chench
--  add dhcp relay to the mib
--
--  Revision 1.10  2001/03/22 14:47:39  chench
--  the mib has changed to fit the snmp v1.
--  object status has changed his enum.
--  subnet mask has changed its syntax to object status.
-- 
--  Revision 1.9  2001/02/27 08:01:50  alex 
--  File header (Version, Data, Log, Copyright, etc.) 
-- 
--  Revision 1.8  2001/02/27 07:40:51  alex 
--  Comment for oaDhcpInterfaceName (about cases when there is 
--  no named interface) 
--  ======================================================================= 
-- 
-- 
-- Copyright (c) 2000 Optical Access.  All Rights Reserved. 
-- 
-- Reproduction of this document is authorized on condition that this 
-- copyright notice is included.  This NBase SNMP MIB Specification 
-- embodies Optical Access's proprietary intellectual property.  NBase 
-- retains all title and ownership in the specification, including any 
-- revisions. 
-- 
-- It is Optical Access's intent to encourage the widespread use of this 
-- specification in connection with the management of Optical Access's 
-- products. Optical Access grants vendor, end-users, and other interested 
-- parties a non-exclusive license to use this specification in 
-- connection with the management of Optical Access's products. 
-- 
-- This specification is supplied "AS IS," and Optical Access makes no 
-- warranty, either express or implied, as to the use, operation, 
-- condition, or performance of the specification. 
-- 
-- Optical Access retains the right to change this MIB without notification. 
 
  
OADHCP-SERVER-MIB DEFINITIONS ::= BEGIN 
 
IMPORTS 
	enterprises, 
	IpAddress                       FROM RFC1155-SMI 
	DisplayString                   FROM RFC1213-MIB 
	OBJECT-TYPE                     FROM RFC-1212 
	TRAP-TYPE                       FROM RFC-1215; 
 
 
	HostName	::=  DisplayString (SIZE (0..32)) 
 
	EntryStatus     ::=  INTEGER 
                             {valid	(1),  
                              invalid 	(2),  
                              insert 	(3)  
                             } 
--      The status of an entry in a table: 'valid' indicates that 
--      the entry is valid (exists), while 'invalid' indicates that it  
--      was deleted. 'insert' indicates that the entry is new. 
 
	ObjectStatus    ::=  INTEGER 
			     { 
                              enable	(1), 
                              disable	(2), 
                              other	(3) 
			     } 
--      The status of an object 
 
-- ************************************************************ 
-- Objects Identifiers Definition 
-- ************************************************************ 
 
oaccess		OBJECT IDENTIFIER ::= { enterprises 6926 } 
oaManagement    OBJECT IDENTIFIER ::= { oaccess 1 } 
oaDhcp          OBJECT IDENTIFIER ::= { oaManagement 11 } 
 
-- DHCP Server  ------------------------------------ 
-- T.B.D : 	DHCP Client  
--		DHCP Agent 
----------------------------------------------------		 
 
-- DHCP Server  
oaDhcpServer    OBJECT IDENTIFIER ::= { oaDhcp 1 } 
 
---------------------------------------------------- 
-- Dhcp Server General Information Group 
---------------------------------------------------- 
oaDhcpServerGeneral       OBJECT IDENTIFIER ::= {oaDhcpServer  1 } 
 
oaDhcpServerStatus	OBJECT-TYPE 
		SYNTAX  ObjectStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"Setting enable(2) enables generation of 
		 DHCP Configuration." 
		::= {oaDhcpServerGeneral  1 } 
 
oaDhcpNetbiosNodeType	OBJECT-TYPE 
		SYNTAX  INTEGER 
		{ 
		 other		(1), 
		 B-node		(2), 
                 P-node		(3), 
                 M-node		(4), 
                 H-node		(5)             
		} 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"the type of the NetBios Server is general for the whole 
		 configuration" 
		::= { oaDhcpServerGeneral 2 } 
 
oaDhcpDomainName        OBJECT-TYPE 
                SYNTAX HostName  
                ACCESS  read-write 
                STATUS  mandatory 
                DESCRIPTION 
                "." 
                ::= {  oaDhcpServerGeneral 3 } 
oaDhcpDefaultLeaseTime        OBJECT-TYPE 
                SYNTAX INTEGER 
                ACCESS  read-write 
                STATUS  mandatory 
                DESCRIPTION 
                "." 
                ::= {oaDhcpServerGeneral 4 } 
 
oaDhcpMaxLeaseTime        OBJECT-TYPE 
                SYNTAX INTEGER 
                ACCESS  read-write 
                STATUS  mandatory 
                DESCRIPTION 
                "." 
                ::= {oaDhcpServerGeneral 5 } 
 
-- ************************************************************ 
-- oaDhcpDNSTable :  Domain Name Servers (DNS) list 
-- ************************************************************ 
 
oaDhcpDNSTable	OBJECT-TYPE 
                SYNTAX  SEQUENCE OF OaDhcpDNSEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
		"The DHCP configuration can have more then one  
		DNS  servers"  
                ::= { oaDhcpServer 2 } 
 
oaDhcpDNSEntry OBJECT-TYPE 
                SYNTAX  OaDhcpDNSEntry
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
                "The entries (records)." 
                INDEX { oaDhcpDNSNum } 
                ::= { oaDhcpDNSTable 1 } 
 
OaDhcpDNSEntry ::= SEQUENCE { 
		oaDhcpDNSNum	INTEGER, 
                oaDhcpDNSIp   	IpAddress, 
                oaDhcpDNSStatus EntryStatus 
               } 
oaDhcpDNSNum    OBJECT-TYPE 
		SYNTAX  INTEGER 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"Index of the DNS (priority) " 
		::= { oaDhcpDNSEntry 1 } 
 
oaDhcpDNSIp	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"IP of the DNS " 
		::= { oaDhcpDNSEntry 2 } 
 
oaDhcpDNSStatus	OBJECT-TYPE 
		SYNTAX  EntryStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpDNSEntry 3 } 
         
-- ************************************************************ 
-- oaDhcpNetbiosServersTable :  Netbios Servers List 
-- ************************************************************ 
 
oaDhcpNetbiosServersTable	OBJECT-TYPE 
                SYNTAX  SEQUENCE OF OaDhcpNetbiosServersEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
		"The DHCP configuration can have more then one  
		NetBios  servers" 
                ::= { oaDhcpServer 3 } 
 
oaDhcpNetbiosServersEntry OBJECT-TYPE 
                SYNTAX OaDhcpNetbiosServersEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
                "The entries (records)." 
                INDEX {  oaDhcpNetbiosServerNum } 
                ::= {oaDhcpNetbiosServersTable 1 } 
 
OaDhcpNetbiosServersEntry ::= SEQUENCE { 
		oaDhcpNetbiosServerNum 		INTEGER, 
                oaDhcpNetbiosServerIp   	IpAddress, 
                oaDhcpNetbiosServerStatus  	EntryStatus 
              } 
 
oaDhcpNetbiosServerNum	OBJECT-TYPE 
		SYNTAX  INTEGER 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpNetbiosServersEntry 1 } 
              
oaDhcpNetbiosServerIp	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpNetbiosServersEntry 2 } 
              
 
oaDhcpNetbiosServerStatus	OBJECT-TYPE 
		SYNTAX  EntryStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpNetbiosServersEntry 3 } 
 
-- ************************************************************ 
-- oaDhcpSubnetConfigTable : 
-- The table indexes are the Ip and mask of the subnet , 
-- it intended for the remote subnets (without an interface) or  
-- for interfaces that their name isn't known. 
-- ************************************************************ 
 
oaDhcpSubnetConfigTable  OBJECT-TYPE 
		SYNTAX  SEQUENCE OF OaDhcpSubnetConfigEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
		"." 
                ::= { oaDhcpServer 4 } 
 
oaDhcpSubnetConfigEntry   OBJECT-TYPE 
 
                SYNTAX  OaDhcpSubnetConfigEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
                "The entries (records)." 
                INDEX {oaDhcpInterfaceName, 
			oaDhcpSubnetIp, 
  			oaDhcpSubnetMask} 
                ::= { oaDhcpSubnetConfigTable 1 } 
 
OaDhcpSubnetConfigEntry ::= SEQUENCE { 
		oaDhcpInterfaceName		DisplayString, 
                oaDhcpSubnetIp			IpAddress, 
                oaDhcpSubnetMask		IpAddress, 
       		oaDhcpOptionSubnetMask		IpAddress, 
		oaDhcpIsOptionMask		ObjectStatus, 
		oaDhcpSubnetConfigStatus	EntryStatus 
           	} 
 
oaDhcpInterfaceName	OBJECT-TYPE 
		SYNTAX  DisplayString 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"The Interface is not always 
		configured; in these case agent support special  
                dummy value '-'. " 
		::= { oaDhcpSubnetConfigEntry 1 } 
 
oaDhcpSubnetIp         OBJECT-TYPE 
                SYNTAX  IpAddress 
                ACCESS  read-only 
                STATUS  mandatory 
                DESCRIPTION 
                "IP address of a curtain subnet ." 
                ::= { oaDhcpSubnetConfigEntry 2 } 
 
oaDhcpSubnetMask	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"The Mask of that subnet" 
		::= {oaDhcpSubnetConfigEntry  3 } 
 
oaDhcpOptionSubnetMask	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"This is an optional field. This is part of the  
		configuration that the client can get from the DHCP server."  
		::= { oaDhcpSubnetConfigEntry 4 } 
 
oaDhcpIsOptionMask	OBJECT-TYPE 
		SYNTAX  ObjectStatus
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpSubnetConfigEntry 5 }	 
 
oaDhcpSubnetConfigStatus	OBJECT-TYPE 
		SYNTAX  EntryStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpSubnetConfigEntry 6 } 
 
---------------------------------------------------- 
-- IP Range Table 
---------------------------------------------------- 
oaDhcpIpRangeTable	OBJECT-TYPE 
                SYNTAX  SEQUENCE OF OaDhcpIpRangeEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
		"This table keeps all the IP addresses ranges of each  
		subnet address." 
                ::= { oaDhcpServer 5 } 
 
oaDhcpIpRangeEntry OBJECT-TYPE 
                SYNTAX OaDhcpIpRangeEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
                "The entries (records)." 
                INDEX {oaDhcpIpRangeSubnetIp, 
                       oaDhcpIpRangeSubnetMask, 
                       oaDhcpIpRangeStart} 
                ::= {oaDhcpIpRangeTable 1 } 
 
OaDhcpIpRangeEntry ::= SEQUENCE { 
		oaDhcpIpRangeSubnetIp     	IpAddress, 
  		oaDhcpIpRangeSubnetMask 	IpAddress, 
                oaDhcpIpRangeStart		IpAddress, 
                oaDhcpIpRangeEnd		IpAddress, 
		oaDhcpIpRangeStatus		EntryStatus 
		} 
 
oaDhcpIpRangeSubnetIp	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpIpRangeEntry 1 } 
 
oaDhcpIpRangeSubnetMask	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpIpRangeEntry 2 }    
 
oaDhcpIpRangeStart	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"The first IP address in a range of addresses" 
		::= { oaDhcpIpRangeEntry 3 } 
 
oaDhcpIpRangeEnd	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"The last IP address in a range of addresses" 
		::= { oaDhcpIpRangeEntry 4 } 
 
oaDhcpIpRangeStatus	OBJECT-TYPE 
		SYNTAX  EntryStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"status of the entry. A range can be added or deleted" 
		::= { oaDhcpIpRangeEntry 5 } 
 
-- ------------------------------------------------------ 
-- Default Gateway Table 
-- ------------------------------------------------------ 
oaDhcpDefaultGWTable	OBJECT-TYPE 
               	SYNTAX  SEQUENCE OF OaDhcpDefaultGWEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
		"This table keeps all the default gateways each subnet has. 
		Each subnet can hold more then one default GW." 
                ::= { oaDhcpServer 6 } 
 
oaDhcpDefaultGWEntry OBJECT-TYPE 
                SYNTAX OaDhcpDefaultGWEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
                "The entries (records)." 
                INDEX {oaDhcpDefaultGWSubnetIp, 
		       oaDhcpDefaultGWSubnetMask, 
		       oaDhcpDefaultGWIp} 
                ::= {oaDhcpDefaultGWTable 1 } 
 
OaDhcpDefaultGWEntry ::= SEQUENCE { 
		oaDhcpDefaultGWSubnetIp     	IpAddress, 
  		oaDhcpDefaultGWSubnetMask	IpAddress, 
                oaDhcpDefaultGWIp		IpAddress , 
		oaDhcpDefaultGWStatus		EntryStatus 
		} 
 
oaDhcpDefaultGWSubnetIp	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpDefaultGWEntry 1 } 
 
oaDhcpDefaultGWSubnetMask	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpDefaultGWEntry 2 }    
 
oaDhcpDefaultGWIp	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"." 
		::= { oaDhcpDefaultGWEntry 3 } 
 
oaDhcpDefaultGWStatus	OBJECT-TYPE 
		SYNTAX  EntryStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"A  default GW can be added or deleted" 
		::= { oaDhcpDefaultGWEntry 4 } 

--------------------------------------------------------
-- DHCP Relay  
--------------------------------------------------------

 oaDhcpRelay    OBJECT IDENTIFIER ::= { oaDhcp 2 } 

---------------------------------------------------- 
-- Dhcp Relay General Information Group 
---------------------------------------------------- 
oaDhcpRelayGeneral       OBJECT IDENTIFIER ::= {oaDhcpRelay  1 } 
 
oaDhcpRelayStatus	OBJECT-TYPE 
		SYNTAX  ObjectStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"Setting enable(2) enables the demon of 
		 DHCP relay ." 
		::= {oaDhcpRelayGeneral  1 } 
 
oaDhcpRelayClearConfig	OBJECT-TYPE 
		SYNTAX  INTEGER 
		{ 
		 None		(1), 
		 ResetConfig    (2)
		} 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"If this field is set to reset conig it causes to
		remove all the data in the tables" 
		::= { oaDhcpRelayGeneral 2 } 

-- table of servers
 
 oaDhcpRelayServerTable	OBJECT-TYPE 
               	SYNTAX  SEQUENCE OF OaDhcpRelayServerEntry
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
		"This table keeps the servers that the dhcp relay
		is going to forward to the dhcp packets." 
                ::= { oaDhcpRelay 2 } 
 
oaDhcpRelayServerEntry OBJECT-TYPE 
                SYNTAX OaDhcpRelayServerEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
                "The entries (records)." 
                INDEX {oaDhcpRelayServerIp} 
                ::= {oaDhcpRelayServerTable 1 } 
 
OaDhcpRelayServerEntry ::= SEQUENCE { 
		oaDhcpRelayServerIp     	IpAddress, 
		oaDhcpRelayServerStatus		EntryStatus 
		} 
 
oaDhcpRelayServerIp	OBJECT-TYPE 
		SYNTAX  IpAddress 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"Server's IP. There should be at least one." 
		::= { oaDhcpRelayServerEntry 1 } 
 
oaDhcpRelayServerStatus	OBJECT-TYPE 
		SYNTAX  EntryStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"A  server can be added or deleted" 
		::= { oaDhcpRelayServerEntry 2 } 

-- table of Interface name

oaDhcpRelayInterfaceTable	OBJECT-TYPE 
               	SYNTAX  SEQUENCE OF OaDhcpRelayInterfaceEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
		"This table keeps the interfaces name that the dhcp relay
		listens to. If the table is empty it listens to all the 
		interfaces." 
                ::= { oaDhcpRelay 3 } 
 
oaDhcpRelayInterfaceEntry OBJECT-TYPE 
                SYNTAX OaDhcpRelayInterfaceEntry 
                ACCESS  not-accessible 
                STATUS  mandatory 
                DESCRIPTION 
                "The entries (records)." 
                INDEX {oaDhcpRelayIfName} 
                ::= {oaDhcpRelayInterfaceTable 1 } 
 
OaDhcpRelayInterfaceEntry ::= SEQUENCE { 
		oaDhcpRelayIfName     		DisplayString, 
		oaDhcpRelayIfStatus		EntryStatus 
		} 
 
oaDhcpRelayIfName	OBJECT-TYPE 
		SYNTAX  DisplayString 
		ACCESS  read-only 
		STATUS  mandatory 
		DESCRIPTION 
		"The names of the interfaces of the router that are
		being  listened . The names shoult be of an existing 
		interface." 
		::= { oaDhcpRelayInterfaceEntry 1 } 
 
oaDhcpRelayIfStatus	OBJECT-TYPE 
		SYNTAX  EntryStatus 
		ACCESS  read-write 
		STATUS  mandatory 
		DESCRIPTION 
		"An interface name can be added or deleted" 
		::= { oaDhcpRelayInterfaceEntry 2 } 


END 
