next up previous contents
Next: Abbildungsverzeichnis Up: Technische Universität München Institut Previous: Resümee

DHCP-MIB

-- This is a MIB for DHCP in a scenario as mentioned in the 
-- preceding chapters of this diploma thesis
DHCP-MIB DEFINITIONS ::=
BEGIN

IMPORTS
        Counter, Gauge, NetworkAdress, IpAdress, TimeTicks FROM RFC1155-SMI
        DisplayString FROM RFC1158-MIB
        OBJECT-TYPE FROM RFC-1212;

internet                OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } 
experimental            OBJECT IDENTIFIER ::= { internet 3 }
lrz                     OBJECT IDENTIFIER ::= { experimental 100 }
lrz-unix                OBJECT IDENTIFIER ::= { lrz 2 } 
dhcpConfiguration       OBJECT IDENTIFIER ::= { lrz-unix 11 } 
dhcpcurrentSituation    OBJECT IDENTIFIER ::= { lrz-unix 12 } 
dhcpNetworkStatistics   OBJECT IDENTIFIER ::= { lrz-unix 13 }
dhcpOptionType          OBJECT IDENTIFIER ::= { dhcpConfiguration 1 }
currentSituationType    OBJECT IDENTIFIER ::= { dhcpcurrentSituation 1 }
networkStatisticsType   OBJECT IDENTIFIER ::= { dhcpNetworkStatistics 1 }

-- DHCP Options and region specific parameters for Configuration
-- IP adress parameters:
dhcpOptionSubnetAdress          OBJECT IDENTIFIER ::= { dhcpOptionType 1 }
dhcpOptionSubnetMask            OBJECT IDENTIFIER ::= { dhcpOptionType 2 }
dhcpOptionRouter                OBJECT IDENTIFIER ::= { dhcpOptionType 3 }
dhcpOptionTimeServer            OBJECT IDENTIFIER ::= { dhcpOptionType 4 }
dhcpOptionNameServer            OBJECT IDENTIFIER ::= { dhcpOptionType 5 }
dhcpOptionDomainNameServer      OBJECT IDENTIFIER ::= { dhcpOptionType 6 }
dhcpOptionLogServer             OBJECT IDENTIFIER ::= { dhcpOptionType 7 }     
dhcpOptionCookieServer          OBJECT IDENTIFIER ::= { dhcpOptionType 8 }   
dhcpOptionLprServer             OBJECT IDENTIFIER ::= { dhcpOptionType 9 }   
dhcpOptionImpressServer         OBJECT IDENTIFIER ::= { dhcpOptionType 10 } 
dhcpOptionResLocServer          OBJECT IDENTIFIER ::= { dhcpOptionType 11 }
dhcpOptionSwapServer            OBJECT IDENTIFIER ::= { dhcpOptionType 12 }
dhcpOptionPolicyFilterAdress    OBJECT IDENTIFIER ::= { dhcpOptionType 13 }
dhcpOptionPolicyFilterMask      OBJECT IDENTIFIER ::= { dhcpOptionType 14 }
dhcpOptionBroadcastAddress      OBJECT IDENTIFIER ::= { dhcpOptionType 15 } 
dhcpOptionRouterSolAddress      OBJECT IDENTIFIER ::= { dhcpOptionType 16 } 
dhcpOptionStatRouteDestAdress   OBJECT IDENTIFIER ::= { dhcpOptionType 17 }
dhcpOptionStaticRouteRouter     OBJECT IDENTIFIER ::= { dhcpOptionType 18 } 
dhcpOptionNISServer             OBJECT IDENTIFIER ::= { dhcpOptionType 19 } 
dhcpOptionNTPServer             OBJECT IDENTIFIER ::= { dhcpOptionType 20 }
dhcpOptionNetBiosOverTcpIpNameServer OBJECT IDENTIFIER ::= {dhcpOptionType 21} 
dhcpOptionNetBiosOverTcpIpDatagramDistributionServer OBJECT IDENTIFIER ::= 
{ dhcpOptionType 22 }   
dhcpOptionXWindowSystemFontServer  OBJECT IDENTIFIER ::= { dhcpOptionType 23 }
dhcpOptionXWindowSystemDisplayManager OBJECT IDENTIFIER ::= 
{ dhcpOptionType 24 }
dhcpOptionNisPlusDomainServer   OBJECT IDENTIFIER ::= { dhcpOptionType 25 } 
dhcpOptionMobileIpHomeAgent     OBJECT IDENTIFIER ::= { dhcpOptionType 26 } 
dhcpOptionSmtpServer            OBJECT IDENTIFIER ::= { dhcpOptionType 27 }
dhcpOptionPostOfficeProtocolServer OBJECT IDENTIFIER ::= { dhcpOptionType 28 }
dhcpOptionNntpServer            OBJECT IDENTIFIER ::= { dhcpOptionType 29 } 
dhcpOptionDefaultWWWServer      OBJECT IDENTIFIER ::= { dhcpOptionType 30 }
dhcpOptionDefaultFingerServer   OBJECT IDENTIFIER ::= { dhcpOptionType 31 }
dhcpOptionDefaultIRCServer      OBJECT IDENTIFIER ::= { dhcpOptionType 32 }
dhcpOptionStreetTalkServer      OBJECT IDENTIFIER ::= { dhcpOptionType 33 }
dhcpOptionSTDAServer            OBJECT IDENTIFIER ::= { dhcpOptionType 34 } 
specialAdress                   OBJECT IDENTIFIER ::= { dhcpOptionType 35 } 
-- name parameters:
dhcpOptionDomainName            OBJECT IDENTIFIER ::= { dhcpOptionType 36 }
dhcpOptionSubnetName            OBJECT IDENTIFIER ::= { dhcpOptionType 37 }
dhcpOptionHostName              OBJECT IDENTIFIER ::= { dhcpOptionType 38 }
dhcpOptionNISDomain             OBJECT IDENTIFIER ::= { dhcpOptionType 39 } 
dhcpOptionRequIpAddress         OBJECT IDENTIFIER ::= { dhcpOptionType 40 }
dhcpOptionTftpServerName        OBJECT IDENTIFIER ::= { dhcpOptionType 41 } 
dhcpOptionClientId              OBJECT IDENTIFIER ::= { dhcpOptionType 42 }
dhcpOptionUserClassInfo         OBJECT IDENTIFIER ::= { dhcpOptionType 43 }
-- authentification of dhcp messages
encodingFunction                OBJECT IDENTIFIER ::= { dhcpOptionType 44 }
-- octet parameters:
dhcpOptionMeritDumpFile         OBJECT IDENTIFIER ::= { dhcpOptionType 45 }
dhcpOptionRootPath              OBJECT IDENTIFIER ::= { dhcpOptionType 46 }
dhcpOptionExtensionsPath        OBJECT IDENTIFIER ::= { dhcpOptionType 47 }
dhcpOptionIpForwardingEnableDisable OBJECT IDENTIFIER ::= { dhcpOptionType 48 }
dhcpOptionNonLocalSrcRtgEnDisable  OBJECT IDENTIFIER ::= { dhcpOptionType 49 }
dhcpOptionDefaultIpTtl          OBJECT IDENTIFIER ::= { dhcpOptionType 50 }
dhcpOptionAllSubnetsLocal       OBJECT IDENTIFIER ::= { dhcpOptionType 51 }
dhcpOptionPerformMaskDiscovery  OBJECT IDENTIFIER ::= { dhcpOptionType 52 } 
dhcpOptionMaskSupplier          OBJECT IDENTIFIER ::= { dhcpOptionType 53 }
dhcpOptionPerformRouterDiscovery OBJECT IDENTIFIER ::={ dhcpOptionType 54 } 
dhcpOptionTrailerEncapsulation  OBJECT IDENTIFIER ::= { dhcpOptionType 55 } 
dhcpOptionEthernetEncapsulation OBJECT IDENTIFIER ::= { dhcpOptionType 56 } 
dhcpOptionTcpKeepaliveGarbage   OBJECT IDENTIFIER ::= { dhcpOptionType 57 } 
dhcpOptionVendorSpecInfo        OBJECT IDENTIFIER ::= { dhcpOptionType 58 }
dhcpOptionNetBiosOverTcpIpNodeType OBJECT IDENTIFIER ::= { dhcpOptionType 59 }
dhcpOptionNetBiosOverTcpIpScope OBJECT IDENTIFIER ::= { dhcpOptionType 60 }
dhcpOptionOptionOverload        OBJECT IDENTIFIER ::= { dhcpOptionType 61 }
dhcpOptionBootfileName          OBJECT IDENTIFIER ::= { dhcpOptionType 62 }
dhcpOptionVendorClassIdentifier OBJECT IDENTIFIER ::= { dhcpOptionType 63 }
-- integer parameters:
dhcpOptionTimeOffset    OBJECT IDENTIFIER ::= { dhcpOptionType 64 }
dhcpOptionBootfileSize  OBJECT IDENTIFIER ::= { dhcpOptionType 65 }
dhcpOptionMaxDatagramReassemblySize OBJECT IDENTIFIER ::= 
{ dhcpOptionType 66 }
dhcpOptionPathMtuAgingTimeout OBJECT IDENTIFIER ::= { dhcpOptionType 67 }
dhcpOptionInterfaceMTU  OBJECT IDENTIFIER ::= { dhcpOptionType 68 }   
dhcpOptionArpCacheTimeout OBJECT IDENTIFIER ::= { dhcpOptionType 69 } 
dhcpOptionTcpDefaultTTL  OBJECT IDENTIFIER ::= { dhcpOptionType 70 } 
dhcpOptionTcpKeepaliveInterval OBJECT IDENTIFIER ::= { dhcpOptionType 71 } 
dhcpOptionIpAddressLeaseTime    OBJECT IDENTIFIER ::= { dhcpOptionType 72 }
dhcpOptionRenewalTimeValueT1    OBJECT IDENTIFIER ::= { dhcpOptionType 73 }
dhcpOptionRebindingTimeValueT2  OBJECT IDENTIFIER ::= { dhcpOptionType 74 }
-- the entries for Path Mtu Plateau table (one for each entry; if more entries
-- are needed, OIDs must be added accordingly
-- see dhcp option path mtu table in rfc 1533
dhcpOptionPathMtuPlateauEntryOne OBJECT IDENTIFIER ::= { dhcpOptionType 75 } 
dhcpOptionPathMtuPlateauEntryTwo OBJECT IDENTIFIER ::= { dhcpOptionType 76 } 

-- current situation parameters:
-- IP adresses:
allocatedIpAdress       OBJECT IDENTIFIER ::= { currentSituationType 1 }
usedRelayAgent          OBJECT IDENTIFIER ::= { currentSituationType 2 }
configuringServer       OBJECT IDENTIFIER ::= { currentSituationType 3 }
postRenumberAdress      OBJECT IDENTIFIER ::= { currentSituationType 4 }
-- Names:
clientId                OBJECT IDENTIFIER ::= { currentSituationType 5 }
clientName              OBJECT IDENTIFIER ::= { currentSituationType 6 }
class                   OBJECT IDENTIFIER ::= { currentSituationType 7 }
annotation              OBJECT IDENTIFIER ::= { currentSituationType 8 }
renumberMagicCookie     OBJECT IDENTIFIER ::= { currentSituationType 9 }
-- integers
bindexpires             OBJECT IDENTIFIER ::= { currentSituationType 10 }
-- octets:
hwAdress                OBJECT IDENTIFIER ::= { currentSituationType 11 }
vendorId                OBJECT IDENTIFIER ::= { currentSituationType 12 }
bootpclient             OBJECT IDENTIFIER ::= { currentSituationType 13 }
illegalUseDetected      OBJECT IDENTIFIER ::= { currentSituationType 14 }
doesRenumbering         OBJECT IDENTIFIER ::= { currentSituationType 15 }


-- This table describes the inheritance relationships between
-- regions of configuration

regionInheritanceTable OBJECT-TYPE
SYNTAX SEQUENCE OF RegionInheritanceEntry 
ACCESS not-accessible
STATUS mandatory 
DESCRIPTION 
"This table marks the inheritance relationships between regions."
::= { dhcpConfiguration 2 }

regionInheritanceEntry OBJECT-TYPE
SYNTAX RegionInheritanceEntry 
ACCESS not-accessible
STATUS mandatory 
INDEX {name}
::= { regionInheritanceTable 1 }

RegionInheritanceEntry ::= SEQUENCE {
name                    DisplayString,
parent                  DisplayString
}
name OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Region Identifier"
::= { dhcpRegionConfigInheritanceEntry 1 }

parent OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Region Identifier of the region's parent region"
::= { dhcpRegionConfigInheritanceEntry 2 }


-- The following table is the fundament for region-specific configuring 
-- with DHCP

dhcpRegionConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF DHCPRegionConfigEntry 
ACCESS not-accessible
STATUS mandatory 
::= { dhcpConfiguration 3 }

dhcpRegionConfigEntry OBJECT-TYPE
SYNTAX DHCPRegionConfigEntry
ACCESS not-accessible
STATUS mandatory 
INDEX {regionName,configIdent}
::= {dhcpRegionConfigTable 1}

DHCPRegionConfigEntry ::= SEQUENCE{
regionName                      DisplayString,
configIdent                     INTEGER,
dhcpOptionType                  OBJECT IDENTIFIER,
dhcpOptionValue                 OCTET STRING
}

-- For certain subnets that differ in some parameters, there has to be
-- a means to identify the specific region of configuration according to
-- our object-oriented philosophy;
-- the configuration region is to be a administrator-defined area for 
-- which certain configuration values are valid; this is according to 
-- the object-oriented approach of data storage
regionName OBJECT-TYPE 
SYNTAX DisplayString
ACCESS read-write 
STATUS mandatory 
DESCRIPTION 
"Region Identifier. the configuration region is to be a 
administrator-defined area for which certain configuration values are valid
 according to the object-oriented approach of data storage"
::= { dhcpRegionConfigEntry 1 }  

configIdent OBJECT-TYPE 
SYNTAX INTEGER
ACCESS read-write 
STATUS mandatory 
DESCRIPTION 
"Index of the configuration of the region. Via this index multiple different 
configuration entries for the same DHCP options are enabled."
::= { dhcpRegionConfigEntry 2 }

dhcpOptionType OBJECT-TYPE 
SYNTAX OBJECT IDENTIFIER
ACCESS read-write 
STATUS mandatory 
::= { dhcpRegionConfigEntry 3 }

dhcpOptionValue OBJECT-TYPE 
SYNTAX OCTET STRING
ACCESS read-write 
STATUS mandatory 
::= { dhcpRegionConfigEntry 4}


-- For Renumbering: A table for pre- and post-renumbering IP adresses
-- These adresses are unspecific and may identify servers, relay agents and
-- clients

dhcpRenumberTable OBJECT-TYPE
SYNTAX SEQUENCE OF RenumberEntry
ACCESS not-accessible
STATUS mandatory 
::= { dhcpConfiguration 4 }

renumberEntry OBJECT-TYPE
SYNTAX RenumberEntry 
ACCESS not-accessible
STATUS mandatory 
INDEX {regionID,preRenumberAdress}
::= { dhcpRenumberTable 1 }

RenumberEntry ::= SEQUENCE {
regionID                        DisplayString,
indexNo                         INTEGER,
preRenumberAdress               IpAdress,
postRenumberAdress              IpAdress
}

regionID OBJECT-TYPE 
SYNTAX DisplayString
ACCESS read-write 
STATUS mandatory 
DESCRIPTION 
"Region ID"
::= { renumberEntry 1 } 

indexNo OBJECT-TYPE 
SYNTAX INTEGER
ACCESS read-write 
STATUS mandatory 
DESCRIPTION 
"Enables several entries under one region"
::= { renumberEntry 2 } 

preRenumberAdress OBJECT-TYPE 
SYNTAX IpAdress   
ACCESS read-write 
STATUS mandatory 
::= { renumberEntry 3 }  

postRenumberAdress OBJECT-TYPE 
SYNTAX IpAdress   
ACCESS read-write 
STATUS mandatory 
::= { renumberEntry 4 }


-- now the available IP adresses for each region

availableIpAdressTable  OBJECT-TYPE
SYNTAX SEQUENCE OF AvailableIpAdressEntry 
ACCESS not-accessible
STATUS mandatory 
::= { dhcpConfiguration 5 }

availableIpAdressEntry OBJECT-TYPE
SYNTAX AvailableIpAdressEntry
ACCESS not-accessible
STATUS mandatory 
INDEX {region,indexNo}
::= { availableIpAdressTable 1 }

AvailableIpAdressEntry ::= SEQUENCE {
region                  DisplayString,
indexNo                 INTEGER,
startAdress             IpAdress,
endAdress               IpAdress
}

region OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
DESCRIPTION
"Region Id."
::= { availableIpAdressEntry 1 }

indexNo  OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory 
DESCRIPTION
"Indicates different adress ranges"
::= { availableIpAdressEntry 2 }

startAdress OBJECT-TYPE
SYNTAX IpAdress
ACCESS read-write
STATUS mandatory 
DESCRIPTION
"Start adress for an adress range."
::= { availableIpAdressEntry 3 }

endAdress OBJECT-TYPE
SYNTAX IpAdress
ACCESS read-write
STATUS mandatory 
DESCRIPTION
"End adress of an adress range."
::= { availableIpAdressEntry 4 }


-- Current Situation parameters: Lease Information

currentLeaseTable OBJECT-TYPE
SYNTAX SEQUENCE OF CurrentLeaseEntry
ACCESS not-accessible
STATUS mandatory 
::= { dhcpcurrentSituation 2 }

currentLeaseEntry OBJECT-TYPE
SYNTAX CurrentLeaseEntry
ACCESS not-accessible
STATUS mandatory 
INDEX {regionId,indexNo}
::= { currentLeaseTable 1 }

CurrentLeaseEntry::= SEQUENCE {
regionId                        DisplayString,
indexNo                         INTEGER,
currentSituationType            OBJECT IDENTIFIER,
currentSituationValue           OCTET STRING
}

regionId OBJECT-TYPE 
SYNTAX DisplayString
ACCESS read-write 
STATUS mandatory 
DESCRIPTION 
"Identifying number for specific regions of configuration."
::= { currentLeaseEntry 1 }  

indexNo OBJECT-TYPE 
SYNTAX INTEGER
ACCESS read-write 
STATUS mandatory 
DESCRIPTION 
"Identifying number for specific leases."
::= { currentLeaseEntry 2 }  


currentSituationType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Current Situation column."
::= { currentLeaseEntry 3 }  

currentSituationValue OBJECT-TYPE
SYNTAX IpAdress
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Current Situation parameters."
::= { currentLeaseEntry 4 }  


-- now information about active servers in a region

activeServerTable OBJECT-TYPE
SYNTAX SEQUENCE OF ActiveServerEntry
ACCESS not-accessible
STATUS mandatory 
::= { dhcpcurrentSituation 3 }

activeServerEntry OBJECT-TYPE
SYNTAX ActiveServerEntry
ACCESS not-accessible
STATUS mandatory 
INDEX {region,serverIndex}
::= { activeServerTable 1}

ActiveServerEntry ::= SEQUENCE {
region                          DisplayString,
serverIndex                     INTEGER,
activeServerIpAdress            IpAdress,
-- serserverStatus denotes the status of the server
-- e.g. running, down
activeServerStatus              DisplayString
}

region OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
DESCRIPTION
"Region Identifier"
::= { activeServerEntry 1 }

serverIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory 
DESCRIPTION
"Number of Server"
::= { activeServerEntry 2 }

activeServerIpAdress OBJECT-TYPE
SYNTAX IpAdress
ACCESS read-write
STATUS mandatory 
::= { activeServerEntry 3 }

activeServerStatus OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
::= { activeServerEntry 4 }


-- Current information about active Relay Agents in the region
activeRelayAgentTable OBJECT-TYPE
SYNTAX SEQUENCE OF ActiveRelayAgentEntry
ACCESS not-accessible
STATUS mandatory 
DESCRIPTION 
"Table of active (or inactive) Relay Agents"
::= { dhcpcurrentSituation 4 }

activeRelayAgentEntry OBJECT-TYPE
SYNTAX ActiveRelayAgentEntry
ACCESS not-accessible
STATUS mandatory 
DESCRIPTION 
"activeRelayAgentEntry"
INDEX {region, indexNo}
::= { dhcpCurrentLeaseTable 1 }

ActiveRelayAgentEntry ::= SEQUENCE {
region                          DisplayString,
indexNo                         INTEGER,
relayAgentAdress                IpAdress,       
relayAgentStatus                DisplayString
}

region OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Region Id"
::= { activeRelayAgentEntry 1 }

indexNo OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Number of Relay Agent"
::= { activeRelayAgentEntry 2 }

relayAgentAdress OBJECT-TYPE
SYNTAX IpAdress
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"relay agent adress value"
::= { activeRelayAgentEntry 3 }

relayAgentStatus OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Relay agent status value"
::= { activeRelayAgentEntry 4 }


-- Current information about unknown clients in the region
unknownClientTable OBJECT-TYPE
SYNTAX SEQUENCE OF UnknownClientEntry
ACCESS not-accessible
STATUS mandatory 
DESCRIPTION 
""
::= { dhcpcurrentSituation 5 }

unknownClientEntry OBJECT-TYPE
SYNTAX UnknownClientEntry
ACCESS not-accessible
STATUS mandatory
INDEX {regionNumber,unknownHwAdress}
::= { unknownClientTable 1 }

UnknownClientEntry ::= SEQUENCE {
regionNumber                    DisplayString,
indexNo                         INTEGER,
unknownHwAdress                 OCTET STRING,
htype                           INTEGER,
hlen                            INTEGER,
lastseen                        INTEGER,
viaRelayAgent                   IpAdress
}

regionNumber OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Region ID"
::= { unknownClientEntry 1 }

indexNo OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory 
DESCRIPTION 
"Enumeration of unknown client"
::= { unknownClientEntry 2 }

unknownHwAdress OBJECT-TYPE
SYNTAX  OCTET STRING
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"HW adress of unknown system"
::= { unknownClientEntry 3 }

htype OBJECT-TYPE
SYNTAX INTEGER
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"hwType of system"
::= { unknownClientEntry 4 }

hlen OBJECT-TYPE
SYNTAX  INTEGER
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"HwLength of system"
::= { unknownClientEntry 5 }
        
lastseen OBJECT-TYPE
SYNTAX  INTEGER
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Last time the system tried to be configured"
::= { unknownClientEntry 6 }

-- the relay agents that served the unknown client
viaRelayAgent OBJECT-TYPE
SYNTAX  IpAdress
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Relay Agent that was used by the unknown system"
::= { unknownClientEntry 7 }

-- Current information about external clients in the region
-- external clients use DHCPINFORM to be configured

externalClientTable OBJECT-TYPE
SYNTAX SEQUENCE OF ExternalClientEntry
ACCESS not-accessible
STATUS mandatory 
DESCRIPTION 
"Table of external clients. External clients are systems that use
DHCPINFORM to be configured"
::= { dhcpcurrentSituation 6 }

externalClientEntry OBJECT-TYPE
SYNTAX ExternalClientEntry
ACCESS not-accessible
STATUS mandatory 
INDEX {regionNumber,exHwAddress}
::= { dhcpCurrentLeaseTable 1 }

ExternalClientEntry ::= SEQUENCE {
regionNumber                    DisplayString,
indexNo                         INTEGER,
exClientId                      DisplayString,
exClientAdress                  IpAdress,
exHwAddress                     OCTET STRING,
exHwtype                        INTEGER,
exHlen                          INTEGER,
exLastseen                      INTEGER,
exRelayagent                    IpAdress
}
regionNumber OBJECT-TYPE
SYNTAX DisplayString
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Region ID"
::= { externalClientEntry 1 }

indexNo OBJECT-TYPE
SYNTAX INTEGER
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Enumeration index"
::= { externalClientEntry 2 }

exClientId OBJECT-TYPE
SYNTAX DisplayString
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Client Identifier for external system."
::= { externalClientEntry 3 }

exClientAdress OBJECT-TYPE
SYNTAX IpAdress
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"IP Adress of the external system"
::= { externalClientEntry 3 }

exHwAddress OBJECT-TYPE
SYNTAX OCTET STRING
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Hardware adress of external system"
::= { externalClientEntry 4 }

exHwtype OBJECT-TYPE
SYNTAX  INTEGER
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Hardware type of external system"
::= { externalClientEntry 5 }

exHlen OBJECT-TYPE
SYNTAX  INTEGER
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Hardware length"
::= { externalClientEntry 6 }
        
exLastseen OBJECT-TYPE
SYNTAX INTEGER
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Last time the external client entered the region"
::= { externalClientEntry 7 }

-- the relay agents that were used by external clients
exRelayagent OBJECT-TYPE
SYNTAX  IpAdress
ACCESS  read-write
STATUS  mandatory
DESCRIPTION 
"Relay Agent that was used by external system"
::= { externalClientEntry 8 }


-- Network statistics:
statisticsTable OBJECT-TYPE
SYNTAX SEQUENCE OF StatEntry
ACCESS not-accessible 
STATUS mandatory 
DESCRIPTION 
"Data structure for description of server-specific statistics in a region"
::= { dhcpNetworkStatistics 2 } 

statEntry OBJECT-TYPE
SYNTAX StatEntry
ACCESS not-accessible
STATUS mandatory 
INDEX{regionId,indexNo}
::= { statisticsTable 1 } 

StatEntry ::= SEQUENCE {
regionId                DisplayString,
indexNo                 INTEGER,
serverAdress            IpAdress,
serveruptime            INTEGER,
lastdbaccess            INTEGER,
discovers               INTEGER,
offers                  INTEGER,
requests                INTEGER,
declines                INTEGER,
acks                    INTEGER,
nacks                   INTEGER,
releases                INTEGER,
informs                 INTEGER,
bootprequests           INTEGER,
bootpreplys             INTEGER,
noOfLeases              INTEGER,
badPdus                 INTEGER
}

regionId OBJECT-TYPE                
SYNTAX DisplayString
ACCESS  read-write 
STATUS  mandatory
DESCRIPTION
"Identifier of the region" 
::= { statEntry 1 }

indexNo OBJECT-TYPE                
SYNTAX INTEGER
ACCESS  read-write 
STATUS  mandatory
DESCRIPTION
"Enumeration Index" 
::= { statEntry 2 }

serverAdress OBJECT-TYPE             
SYNTAX IpAdress
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION
"Identifier of special server" 
::= { statEntry 3 }

serveruptime OBJECT-TYPE                
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"The Uptime of the server since the last server restart"
::= { statEntry 4 }
 
-- Last time the server databasis was accessed 
lastdbaccess OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"Last access to server database"
::= { statEntry 5 } 

-- The following are messages sent and received by the DHCP server 
discovers OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"number of dhcpdiscovers that reached the server"
::= { statEntry 6 } 
 
offers OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"number of dhcpoffers that were sent by the server"  
::= { statEntry 7 } 
 
requests OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"number of dhcprequests that reached the server"
::= { statEntry 8 } 
 
declines OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory
DESCRIPTION 
"number of dhcpdeclines that reached the server" 
::= { statEntry 9 } 
 
acks OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory
DESCRIPTION 
"number of dhcpacks that were sent by the server" 
::= { statEntry 10 } 
 
nacks OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory
DESCRIPTION 
"number of dhcpnaks that were sent by the server" 
::= { statEntry 11 } 
 
releases OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"number of dhcpdeclines that reached the server" 
::= { statEntry 12 } 
 
informs OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"number of dhcpinforms that reached the server" 
::= { statEntry 13 }  
 
bootprequests OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory
DESCRIPTION 
"number of bootprequests that reached the server" 
::= { statEntry 14 } 
 
bootpreplys OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory
DESCRIPTION 
"number of bootpreplys that were sent by the server" 
::= { statEntry 15 } 

noOfLeases OBJECT-TYPE 
SYNTAX  INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"number of leases (active and expired) in the region"
::= { statEntry 16 } 

-- Error statistics 
badPdus OBJECT-TYPE 
SYNTAX INTEGER
ACCESS  read-write 
STATUS  mandatory 
DESCRIPTION 
"The number of incorrectly received pdus"
::= { statEntry 17 } 

END



Copyright Munich Network Management Team