1--
2-- CDDL HEADER START
3--
4-- The contents of this file are subject to the terms of the
5-- Common Development and Distribution License, Version 1.0 only
6-- (the "License").  You may not use this file except in compliance
7-- with the License.
8--
9-- You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10-- or http://www.opensolaris.org/os/licensing.
11-- See the License for the specific language governing permissions
12-- and limitations under the License.
13--
14-- When distributing Covered Code, include this CDDL HEADER in each
15-- file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16-- If applicable, add the following below this CDDL HEADER, with the 
17-- fields enclosed by brackets "[]" replaced with your own identifying
18-- information: Portions Copyright [yyyy] [name of copyright owner]
19--
20-- CDDL HEADER END
21--
22-- Copyright 1997 Sun Microsystems, Inc.  All Rights Reserved.
23-- Use is subject to license terms.
24--
25-- #ident	"%Z%%M%	%I%	%E% SMI"
26--
27
28--
29-- --------------------------------------------------------------------------
30-- snmpdx.mib
31--      MIB for the SNMP Master Agent included with Solstice Enterprise Agents
32--
33-- Release version = 1.0
34-- Patch level     = 0
35-- --------------------------------------------------------------------------
36--
37
38SUN-MASTER-AGENT-MIB DEFINITIONS ::= BEGIN
39
40  IMPORTS
41	enterprises
42		FROM RFC1155-SMI
43	OBJECT-TYPE, DisplayString
44		FROM RFC1212;
45  sun 	OBJECT IDENTIFIER ::= { enterprises 42 }
46  products OBJECT IDENTIFIER ::= { sun 2 }
47  sunMasterAgent 	OBJECT IDENTIFIER ::= { products 15 }
48
49
50--
51-- ********** Global Master agent Information ******
52--
53
54  sunMasterAgentStatusFile	OBJECT-TYPE
55	SYNTAX	DisplayString
56	ACCESS	read-only
57	STATUS	mandatory
58	DESCRIPTION
59		"This file stores the process id's of all the sub agents
60		 that are invoked by the master agent.
61		 The purpose of this file is for Master Agent recovery in
62		 case the Master Agent dies or is killed. When the Master
63		 Agent restarts, the entries in this file will indicate
64		 which subagents are spawned by it previously and what
65		 were their port numbers." 
66	::= { sunMasterAgent 1 }
67
68  sunMasterAgentResourceConfigFile	OBJECT-TYPE
69	SYNTAX	DisplayString
70	ACCESS	read-only
71	STATUS	mandatory
72	DESCRIPTION
73		"This file is exclusively used by the Master Agent.
74		 When the Master Agent comes up, it reads this file.
75		 This files stores information for all those agents
76		 that can be managed by the Master Agent. Each entry
77		 in the configuration file also includes the methods
78		 for invoking these subagents. It is also possible for
79		 a subagent not to have an entry in this configuration
80		 file. Such a subagent can dynamically come up and
81		 register with the Master Agent when it comes up."
82	::= { sunMasterAgent 2 }
83
84  sunMasterAgentConfigurationDir	OBJECT-TYPE
85	SYNTAX	DisplayString
86	ACCESS	read-only
87	STATUS	mandatory
88	DESCRIPTION
89		"This is the directory that contains the configuration
90		 files for the Master Agent."
91	::= { sunMasterAgent 3 }
92
93  sunMasterAgentTrapPort	OBJECT-TYPE
94	SYNTAX	INTEGER 
95	ACCESS	read-only
96	STATUS	mandatory
97	DESCRIPTION
98		"This is the port that master agent opens to receive SNMP trap
99		 notifications from various subagents. The master agent 
100		 forwards these traps to the managers appropriately."
101	::= { sunMasterAgent 4 }
102
103  sunCheckSubAgentName OBJECT-TYPE
104	SYNTAX	DisplayString
105	ACCESS	read-write
106	STATUS	mandatory
107	DESCRIPTION
108		"This variable is of use to the sub agents only. It is
109		 used by the sub agents to check with the master agent
110		 to  check for duplicate sub agent names."
111	::= { sunMasterAgent 5 }
112
113  sunMasterAgentPollInterval OBJECT-TYPE
114	SYNTAX	INTEGER
115	ACCESS	read-only
116	STATUS	mandatory
117	DESCRIPTION
118		"This variable speicifies the time interval after which
119		 the Master Agent will perform activities other than
120		 receiving/sending of SNMP messages. The other activities
121		 include trying to find out if there is a change in the
122		 resource file, discover if all the agents are responding,
123		 and other such routine house keeping activities.
124 		 This field contains values in seconds."
125	::= { sunMasterAgent 6 }
126
127  sunMasterAgentMaxAgentTimeOut OBJECT-TYPE
128	SYNTAX	INTEGER
129	ACCESS	read-only
130	STATUS	mandatory
131	DESCRIPTION
132		"The value of this field can be specified in microseconds.
133		 This field signifies the max allowed time-out a subagent
134		 can request during registration; e.g., when the Master
135		 Agent sends a request to a subagent. It waits for some
136		 time-out to receive the response. This time-out can be
137		 specified in the registration file or can also be set
138		 using dynamic registration. If an agent sets this time-out
139		 outrageously high, it can create problems for the
140		 Master Agent and other agents. To avoid such a problem,
141		 the Master Agent can have a policy of specifying a
142		 maximum value for which the Master Agent will wait for
143		 a response from the subagent. This maximum value of
144		 time-out is specified with this variable."
145	::= { sunMasterAgent 7 }
146
147--
148-- *********** agentTable **************
149--
150  sunSubAgentTable	OBJECT-TYPE
151	SYNTAX	SEQUENCE OF SunSubAgentEntry
152	ACCESS	not-accessible
153	STATUS	mandatory
154	DESCRIPTION
155		"This table lists all the sub-agents that are registered
156		 with the master agent. The list contains the names of all
157		 the sub agents that are currently running on the system.
158		 Some of these sub agents could be invoked by the master
159		 agent and other's could have benn invoked by other means."
160	::= { sunMasterAgent 8 }
161
162  sunSubAgentTableIndex	OBJECT-TYPE
163	SYNTAX	INTEGER (0..65535)
164	ACCESS	read-write
165	STATUS	mandatory
166	DESCRIPTION
167		"The next available index in sunSubAgentTable."
168	::= { sunMasterAgent 9 }
169
170--
171-- ************** agentEntry(Table Entry) ************
172--
173  sunSubAgentEntry 	OBJECT-TYPE
174	SYNTAX	SunSubAgentEntry
175	ACCESS	not-accessible
176	STATUS	mandatory
177	DESCRIPTION	
178		"An entry in the sub-agent table."
179	INDEX { sunSubAgentID }
180	::= { sunSubAgentTable 1}
181
182  SunSubAgentEntry ::=
183	SEQUENCE {
184		sunSubAgentID
185			INTEGER,
186		sunSubAgentStatus
187			INTEGER,
188		sunSubAgentTimeout
189			INTEGER,
190		sunSubAgentPortNumber
191			INTEGER,
192		sunSubAgentRegistrationFile
193			DisplayString,
194		sunSubAgentAccessControlFile
195			DisplayString,
196		sunSubAgentExecutable
197			DisplayString,
198		sunSubAgentVersionNum
199			DisplayString,
200		sunSubAgentProcessID
201			INTEGER,
202		sunSubAgentName
203			DisplayString,
204  		sunSubAgentSystemUpTime
205			TimeTicks,
206		sunSubAgentWatchDogTime
207			INTEGER
208	}
209
210
211  sunSubAgentID 	OBJECT-TYPE
212	SYNTAX	INTEGER
213	ACCESS	read-only
214	STATUS	mandatory
215	DESCRIPTION
216		"This is the id for each sub agent that is running and
217		 registered with the master agent."
218	::= { sunSubAgentEntry 1 }
219
220  sunSubAgentStatus 	OBJECT-TYPE
221	SYNTAX	INTEGER { init(1), load(2), active(3), inactive(4), destroy(5) }
222	ACCESS	read-write
223	STATUS	mandatory
224	DESCRIPTION
225		"This variable provides the state of the sub-agent. When the
226		 sub-agent is started the state is 'init'. Once the sub-agent
227		 has read it's configuration files, but has not registered
228		 with the master , the state is 'load'. After the 'load'
229		 state the  sub-agent goes into 'active' state. In this state
230		 the sub-agent has registered with the master agent and
231		 would respond to any requests from the master agent and can
232		 also generate traps."
233	::= { sunSubAgentEntry 2 }
234
235  sunSubAgentTimeout 	OBJECT-TYPE
236	SYNTAX	INTEGER 
237	ACCESS	read-write
238	STATUS	mandatory
239	DESCRIPTION
240		"The max. time for which the master agent would wait
241		 for a  sub-agent to complete the request. The value is
242		 specified in usec. "
243	::= { sunSubAgentEntry 3 }
244
245  sunSubAgentPortNumber 	OBJECT-TYPE
246	SYNTAX	INTEGER (0..65535)
247	ACCESS	read-write
248	STATUS	mandatory
249	DESCRIPTION
250		"The port number of the sub-agent on which it listens for
251		 requests from the master agent."
252	::= { sunSubAgentEntry 4 }
253
254  sunSubAgentRegistrationFile 	OBJECT-TYPE
255	SYNTAX	DisplayString
256	ACCESS	read-write
257	STATUS	mandatory
258	DESCRIPTION
259		"This is the registration file of a sub-agent. Each sub-agent
260		 has its own registration file. This file contains information
261		 pertinent to each agent. The information includes the name
262		 of the agent, the subtree OIDs managed by the respective
263		 agent, request time out, the preferred port number, etc."
264	::= { sunSubAgentEntry 5 }
265
266  sunSubAgentAccessControlFile 	OBJECT-TYPE
267	SYNTAX	DisplayString
268	ACCESS	read-write
269	STATUS	mandatory
270	DESCRIPTION
271		"This is a file that has the access control information
272		 for each sub agent. It stores SNMP-related community
273		 information. Every subagent and a Master Agent can have
274		 its own access control file."
275	::= { sunSubAgentEntry 6 }
276
277  sunSubAgentExecutable 	OBJECT-TYPE
278	SYNTAX	DisplayString
279	ACCESS	read-write
280	STATUS	mandatory
281	DESCRIPTION
282		"The executable file of the sub-agent."
283	::= { sunSubAgentEntry 7 }
284  
285  sunSubAgentVersionNum 	OBJECT-TYPE
286	SYNTAX	DisplayString
287	ACCESS	read-write
288	STATUS	mandatory
289	DESCRIPTION
290		"The version number  of the sub-agent."
291	::= { sunSubAgentEntry 8 }
292
293  sunSubAgentProcessID 	OBJECT-TYPE
294	SYNTAX	INTEGER
295	ACCESS	read-write
296	STATUS	mandatory
297	DESCRIPTION
298		"The process id of the sub-agent."
299	::= { sunSubAgentEntry 9 }
300
301  sunSubAgentName 	OBJECT-TYPE
302	SYNTAX	DisplayString
303	ACCESS	read-write
304	STATUS	mandatory
305	DESCRIPTION
306		"The name of the sub-agent. This is assigned by the user."
307	::= { sunSubAgentEntry 10 }
308
309  sunSubAgentSystemUpTime 	OBJECT-TYPE
310	SYNTAX	TimeTicks
311	ACCESS	read-write
312	STATUS	mandatory
313	DESCRIPTION
314		"The system up time of the sub-agent."
315	::= { sunSubAgentEntry 11 }
316
317  sunSubAgentWatchDogTime 	OBJECT-TYPE
318	SYNTAX	INTEGER
319	ACCESS	read-write
320	STATUS	mandatory
321	DESCRIPTION
322		"This timeout is used by the Master Agent to determine
323		 if the subagent is up or not. The Master Agent will poll
324		 the subagent only if there has been no activity between
325		 the Master Agent and the subagent for this specified
326		 interval. This interval is specified in seconds."
327	::= { sunSubAgentEntry 12 }
328
329
330
331--
332-- ********** SubTreeConfigurationTable ****************
333--
334  sunSubTreeConfigurationTable        OBJECT-TYPE
335        SYNTAX SEQUENCE OF SunSubTreeConfigurationEntry
336        ACCESS not-accessible
337        STATUS mandatory
338        DESCRIPTION
339                "This is the table of subtree registration requests made
340		 by the sub agents. The enteries in this table also include
341		 the sub tree OID's of those agents that are invkoed by
342		 the master agent. This table thus consists of enteries
343		 as configured in the sub agent registration files. These
344		 sub tree OID's are flattened into a OID sub tree dispatch
345		 table in the master agent which is also defined in this MIB."
346        ::= { sunMasterAgent 10 }
347
348  sunSubTreeConfigurationTableIndex	OBJECT-TYPE
349	SYNTAX	INTEGER (0..65535)
350	ACCESS	read-only
351	STATUS	mandatory
352	DESCRIPTION
353		"The next available index in sunSubTreeConfigurationTable."
354	::= { sunMasterAgent 11 }
355
356--
357-- ************** RegTreeEntry(Table Entry) ************
358--
359  sunSubTreeConfigurationEntry        OBJECT-TYPE
360        SYNTAX SunSubTreeConfigurationEntry
361        ACCESS  not-accessible
362        STATUS  mandatory
363        DESCRIPTION
364                "An entry for table registration."
365        INDEX { sunSubTreeAgentID, sunSubTreeIndex }
366        ::= { sunSubTreeConfigurationTable 1 }
367
368  SunSubTreeConfigurationEntry ::=
369        SEQUENCE {
370		sunSubTreeIndex
371			INTEGER,
372		sunSubTreeAgentID
373			INTEGER,
374		sunSubTreeOID
375			OBJECT IDENTIFIER,
376		sunSubTreeStartColumn
377			INTEGER,
378		sunSubTreeEndColumn
379			INTEGER,
380		sunSubTreeStartRow
381			INTEGER,
382		sunSubTreeEndRow
383			INTEGER,
384--		sunSubTreeView
385--			DisplayString,
386		sunSubTreeStatus
387			INTEGER
388	}
389
390  sunSubTreeIndex 	OBJECT-TYPE
391	SYNTAX	INTEGER
392	ACCESS	read-only
393	STATUS	mandatory
394	DESCRIPTION
395		"The index of the table registration."
396	::= { sunSubTreeConfigurationEntry 1 }
397
398  sunSubTreeAgentID 	OBJECT-TYPE
399	SYNTAX	INTEGER
400	ACCESS	read-only
401	STATUS	mandatory
402	DESCRIPTION
403		"ID of the sub-agent."
404	::= { sunSubTreeConfigurationEntry  2 }
405
406  sunSubTreeOID 	OBJECT-TYPE
407	SYNTAX	OBJECT IDENTIFIER
408	ACCESS	read-write
409	STATUS	mandatory
410	DESCRIPTION
411		"The oid of the subtree table that is being registered. A
412		 sub agent can have multiple sub tree oid's registered
413		 as seperate enteries."
414	::= { sunSubTreeConfigurationEntry 3 }
415
416  sunSubTreeStartColumn 	OBJECT-TYPE
417	SYNTAX	INTEGER
418	ACCESS	read-write
419	STATUS	mandatory
420	DESCRIPTION
421		"Starting column of the sub table."
422	::= { sunSubTreeConfigurationEntry  4 }
423
424  sunSubTreeEndColumn 	OBJECT-TYPE
425	SYNTAX	INTEGER
426	ACCESS	read-write
427	STATUS	mandatory
428	DESCRIPTION
429		"Ending column of the sub table."
430	::= { sunSubTreeConfigurationEntry  5 }
431
432  sunSubTreeStartRow 	OBJECT-TYPE
433	SYNTAX	INTEGER
434	ACCESS	read-write
435	STATUS	mandatory
436	DESCRIPTION
437		"Starting row of the sub table."
438	::= { sunSubTreeConfigurationEntry  6 }
439
440  sunSubTreeEndRow 	OBJECT-TYPE
441	SYNTAX	INTEGER
442	ACCESS	read-write
443	STATUS	mandatory
444	DESCRIPTION
445		"Ending row of the sub table."
446	::= { sunSubTreeConfigurationEntry  7 }
447
448
449  sunSubTreeStatus 	OBJECT-TYPE
450	SYNTAX	INTEGER { active(1), inactive(2) }
451	ACCESS	read-write
452	STATUS	mandatory
453	DESCRIPTION
454		"The variable allows to activate or delete the enteries
455		 in this table."
456	::= { sunSubTreeConfigurationEntry 8 }
457
458--
459-- ********** RegTreeTable ****************
460--
461  sunSubTreeDispatchTable        OBJECT-TYPE
462        SYNTAX SEQUENCE OF SunSubTreeDispatchEntry
463        ACCESS not-accessible
464        STATUS mandatory
465        DESCRIPTION
466                "This table lists all the OID enteries that are
467		 used by the master agent to dispatch the requests to the
468		 sub agents. This table is based on the sub-tree
469		 registration configured in the sub agents registration
470		 files."
471        ::= { sunMasterAgent 12 }
472
473  sunSubTreeDispatchTableIndex	OBJECT-TYPE
474	SYNTAX	INTEGER (0..65535)
475	ACCESS	read-only
476	STATUS	mandatory
477	DESCRIPTION
478		"The next available index in sunSubTreeDispatchTable."
479	::= { sunMasterAgent 13 }
480
481
482--
483-- ************** Dispatch Table ************
484--
485  sunSubTreeDispatchEntry        OBJECT-TYPE
486        SYNTAX SunSubTreeDispatchEntry
487        ACCESS  not-accessible
488        STATUS  mandatory
489        DESCRIPTION
490                "An entry for tree registration."
491        INDEX { sunSubTreeDispatchAgentID, sunSubTreeDispatchIndex }
492        ::= { sunSubTreeDispatchTable 1 }
493
494  SunSubTreeDispatchEntry ::=
495        SEQUENCE {
496		sunSubTreeDispatchIndex
497			INTEGER,
498		sunSubTreeDispatchAgentID
499			INTEGER,
500		sunSubTreeDispatchOID
501			OBJECT IDENTIFIER,
502		sunSubTreeDispatchStatus
503			INTEGER
504	}
505
506
507  sunSubTreeDispatchIndex 	OBJECT-TYPE
508	SYNTAX	INTEGER
509	ACCESS	read-only
510	STATUS	mandatory
511	DESCRIPTION
512		"The index of the dispatch table entry."
513	::= { sunSubTreeDispatchEntry 1 }
514
515  sunSubTreeDispatchAgentID 	OBJECT-TYPE
516	SYNTAX	INTEGER
517	ACCESS	read-only
518	STATUS	mandatory
519	DESCRIPTION
520		""
521	::= { sunSubTreeDispatchEntry  2 }
522
523  sunSubTreeDispatchOID 	OBJECT-TYPE
524	SYNTAX	OBJECT IDENTIFIER
525	ACCESS	read-write
526	STATUS	mandatory
527	DESCRIPTION
528		"The oid of the subtree."
529	::= { sunSubTreeDispatchEntry 3 }
530
531
532  sunSubTreeDispatchStatus 	OBJECT-TYPE
533	SYNTAX	INTEGER { active(1), inactive(2) }
534	ACCESS	read-write
535	STATUS	mandatory
536	DESCRIPTION
537		"The variable allows to activate or delete the enteries
538		 in this table."
539	::= { sunSubTreeDispatchEntry 4 }
540
541
542END
543