Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / DS0BUNDLE-MIB
1 DS0BUNDLE-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4      MODULE-IDENTITY, OBJECT-TYPE,
5      transmission                      FROM SNMPv2-SMI
6      MODULE-COMPLIANCE, OBJECT-GROUP   FROM SNMPv2-CONF
7      DisplayString, RowStatus,
8      TestAndIncr                       FROM SNMPv2-TC
9      ifIndex, InterfaceIndex           FROM IF-MIB;
10
11 --  This is the MIB module for the DS0Bundle Interface
12 --  objects.
13
14 ds0Bundle MODULE-IDENTITY
15     LAST-UPDATED "9807161630Z"
16     ORGANIZATION "IETF Trunk MIB Working Group"
17     CONTACT-INFO
18       "        David Fowler
19
20        Postal: Newbridge Networks Corporation
21                600 March Road
22                Kanata, Ontario, Canada K2K 2E6
23
24                Tel: +1 613 591 3600
25                Fax: +1 613 599 3619
26
27        E-mail: davef@newbridge.com"
28     DESCRIPTION
29          "The MIB module to describe
30           DS0 Bundle interfaces objects."
31     REVISION "9805242010Z"
32     DESCRIPTION
33          "Initial version of the DS0BUNDLE-MIB."
34
35     ::= { transmission 82 }
36
37 --
38 -- The DS0 Bundle Config Group
39 --
40 -- Implementation of this group is mandatory for all
41 -- systems that use a DS0Bundle Interface.
42 --
43 -- The DS0 Bundle Config Group consists of one table:
44 --    DS0 Bundle Table
45
46 --  The DS0 Bundle Table
47
48 dsx0BundleNextIndex OBJECT-TYPE
49     SYNTAX  TestAndIncr
50     MAX-ACCESS  read-write
51     STATUS  current
52     DESCRIPTION
53             "This object is used to assist the manager in
54             selecting a value for dsx0BundleIndex.  Because
55             this object is of syntax TestAndIncr (see the
56             SNMPv2-TC document, RFC 1903) it can also be used
57             to avoid race conditions with multiple managers
58             trying to create rows in the table.
59
60             If the result of the SET for dsx0BundleNextIndex
61             is not success, this means the value has been
62             changed from index (i.e. another manager used the
63             value), so a new value is required.
64
65             The algorithm is:
66             done = false
67             while done == false
68                 index = GET (dsx0BundleNextIndex.0)
69                 SET (dsx0BundleNextIndex.0=index)
70                 if (set failed)
71                   done = false
72                 else
73                   SET(dsx0BundleRowStatus.index=createAndGo)
74                   if (set failed)
75                     done = false
76                   else
77                     done = true
78                     other error handling"
79     ::= { ds0Bundle 2 }
80
81 dsx0BundleTable OBJECT-TYPE
82     SYNTAX  SEQUENCE OF Dsx0BundleEntry
83     MAX-ACCESS  not-accessible
84     STATUS  current
85     DESCRIPTION
86             "There is an row in this table for each ds0Bundle
87             in the system.  This table can be used to
88             (indirectly) create rows in the ifTable with
89             ifType = 'ds0Bundle(82)'."
90     ::= { ds0Bundle 3 }
91
92 dsx0BundleEntry OBJECT-TYPE
93     SYNTAX  Dsx0BundleEntry
94     MAX-ACCESS  not-accessible
95     STATUS  current
96     DESCRIPTION
97             "There is a row in entry in this table for each
98             ds0Bundle interface."
99     INDEX   { dsx0BundleIndex }
100     ::= { dsx0BundleTable 1 }
101
102 Dsx0BundleEntry ::=
103     SEQUENCE {
104         dsx0BundleIndex              INTEGER,
105         dsx0BundleIfIndex            InterfaceIndex,
106         dsx0BundleCircuitIdentifier  DisplayString,
107         dsx0BundleRowStatus          RowStatus
108 }
109
110 dsx0BundleIndex OBJECT-TYPE
111     SYNTAX  INTEGER (0..2147483647)
112     MAX-ACCESS  not-accessible
113     STATUS  current
114     DESCRIPTION
115             "A unique identifier for a ds0Bundle.  This is not
116             the same value as ifIndex.  This table is not
117             indexed by ifIndex because the manager has to
118             choose the index in a createable row and the agent
119             must be allowed to select ifIndex values."
120     ::= { dsx0BundleEntry 1 }
121
122 dsx0BundleIfIndex OBJECT-TYPE
123     SYNTAX  InterfaceIndex
124     MAX-ACCESS  read-only
125     STATUS  current
126     DESCRIPTION
127             "The ifIndex value the agent selected for the
128             (new) ds0Bundle interface."
129     ::= { dsx0BundleEntry 2 }
130
131 dsx0BundleCircuitIdentifier OBJECT-TYPE
132      SYNTAX  DisplayString (SIZE (0..255))
133      MAX-ACCESS  read-create
134      STATUS  current
135      DESCRIPTION
136             "This variable contains the transmission vendor's
137             circuit identifier, for the purpose of
138             facilitating troubleshooting."
139      ::= { dsx0BundleEntry 3 }
140
141 dsx0BundleRowStatus OBJECT-TYPE
142     SYNTAX  RowStatus
143     MAX-ACCESS  read-create
144     STATUS  current
145     DESCRIPTION
146             "This object is used to create and delete rows in
147             this table."
148     ::= { dsx0BundleEntry 4 }
149
150 -- The DS0 Bonding Group
151
152 -- Implementation of this group is optional for all
153 -- systems that use a DS0Bundle Interface.
154
155 -- The DS0 Bonding Group consists of one table:
156 --    DS0 Bonding Table
157
158 -- The DS0 Bonding Table
159
160 dsx0BondingTable OBJECT-TYPE
161     SYNTAX  SEQUENCE OF Dsx0BondingEntry
162     MAX-ACCESS  not-accessible
163     STATUS  current
164     DESCRIPTION
165             "The DS0 Bonding table."
166     ::= { ds0Bundle 1 }
167
168 dsx0BondingEntry OBJECT-TYPE
169     SYNTAX  Dsx0BondingEntry
170     MAX-ACCESS  not-accessible
171     STATUS  current
172     DESCRIPTION
173             "An entry in the DS0 Bonding table.  There is a
174             row in this table for each DS0Bundle interface."
175     INDEX   { ifIndex }
176     ::= { dsx0BondingTable 1 }
177
178 Dsx0BondingEntry ::=
179     SEQUENCE {
180         dsx0BondMode            INTEGER,
181         dsx0BondStatus          INTEGER,
182         dsx0BondRowStatus       RowStatus
183 }
184
185 dsx0BondMode OBJECT-TYPE
186     SYNTAX  INTEGER {
187                 none(1),
188                 other(2),
189                 mode0(3),
190                 mode1(4),
191                 mode2(5),
192                 mode3(6)
193     }
194     MAX-ACCESS  read-create
195     STATUS  current
196     DESCRIPTION
197             "This object indicates which BONDing mode is used,
198             if any, for a ds0Bundle.  Mode0 provides parameter
199             and number exchange with no synchronization.  Mode
200             1 provides parameter and number exchange.  Mode 1
201             also provides synchronization during
202             initialization but does not include inband
203             monitoring.  Mode 2 provides all of the above plus
204             inband monitoring.  Mode 2 also steals 1/64th of
205             the bandwidth of each channel (thus not supporting
206             n x 56/64 kbit/s data channels for most values of
207             n). Mode 3 provides all of the above, but also
208             provides n x 56/64 kbit/s data channels.  Most
209             common implementations of Mode 3 add an extra
210             channel to support the inband monitoring overhead.
211             ModeNone should be used when the interface is not
212             performing bandwidth-on-demand."
213     ::= { dsx0BondingEntry 1 }
214
215 dsx0BondStatus OBJECT-TYPE
216     SYNTAX  INTEGER {
217                 idle(1),
218                 callSetup(2),
219                 dataTransfer(3)
220     }
221     MAX-ACCESS  read-only
222     STATUS  current
223     DESCRIPTION
224             "This object indicates the current status of the
225             bonding call using this ds0Bundle. idle(1) should
226             be used when the bonding mode is set to none(1)."
227     ::= { dsx0BondingEntry 2 }
228
229 dsx0BondRowStatus OBJECT-TYPE
230     SYNTAX  RowStatus
231     MAX-ACCESS  read-create
232     STATUS  current
233     DESCRIPTION
234             "This object is used to create new rows in this
235             table, modify existing rows, and to delete
236             existing rows."
237     ::= { dsx0BondingEntry 3 }
238
239 -- conformance information
240
241 ds0BundleConformance OBJECT IDENTIFIER ::= { ds0Bundle 4 }
242
243 ds0BundleGroups      OBJECT IDENTIFIER
244     ::= { ds0BundleConformance 1 }
245
246 ds0BundleCompliances OBJECT IDENTIFIER
247     ::= { ds0BundleConformance 2 }
248
249
250
251 -- compliance statements
252
253 ds0BundleCompliance MODULE-COMPLIANCE
254     STATUS  current
255     DESCRIPTION
256             "The compliance statement for DS0Bundle
257             interfaces."
258     MODULE  -- this module
259         MANDATORY-GROUPS {ds0BundleConfigGroup }
260
261         GROUP       ds0BondingGroup
262         DESCRIPTION
263             "Implementation of this group is optional for all
264             systems that attach to a DS0Bundle Interface."
265
266         OBJECT      dsx0BundleRowStatus
267         SYNTAX      INTEGER {
268                         active(1),
269                         createAndGo(4),
270                         destroy(6)
271                     }
272         MIN-ACCESS  read-only
273         DESCRIPTION
274             "The agent is not required to support a SET
275             operation to this object, and only three of the
276             six enumerated values for the RowStatus textual
277             convention need be supported.  Only supporting
278             createAndGo for a creation process prevents the
279             manager from creating an inactive row in the
280             ds0BundleTable.  Inactive rows in the
281             ds0BundleTable do not make sense."
282
283         OBJECT      dsx0BundleCircuitIdentifier
284         MIN-ACCESS  read-only
285         DESCRIPTION
286             "The agent is not required to support a SET
287             operation to this object."
288
289                 ::= { ds0BundleCompliances 1 }
290
291             -- units of conformance
292
293             ds0BondingGroup  OBJECT-GROUP
294                 OBJECTS { dsx0BondMode,
295                           dsx0BondStatus,
296                           dsx0BondRowStatus }
297                 STATUS  current
298                 DESCRIPTION
299                         "A collection of objects providing
300                         configuration information applicable
301                         to all DS0 interfaces."
302     ::= { ds0BundleGroups 1 }
303 ds0BundleConfigGroup  OBJECT-GROUP
304     OBJECTS { dsx0BundleNextIndex,
305               dsx0BundleIfIndex,
306               dsx0BundleCircuitIdentifier,
307               dsx0BundleRowStatus }
308     STATUS  current
309     DESCRIPTION
310             "A collection of objects providing the ability to
311             create a new ds0Bundle in the ifTable as well as
312             configuration information about the ds0Bundle."
313     ::= { ds0BundleGroups 2 }
314 END