idnits 2.17.1 draft-ietf-trunkmib-ds0-mib-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-03-28) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** The abstract seems to contain references ([6], [7], [8]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 231 has weird spacing: '...ifIndex dsx1D...' == Line 250 has weird spacing: '...ifIndex dsx0...' == Line 272 has weird spacing: '...leIndex dsx...' == Line 281 has weird spacing: '...ifIndex dsx0D...' == Line 674 has weird spacing: '... can be used...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (February 1998) is 9538 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 1902 (ref. '1') (Obsoleted by RFC 2578) ** Downref: Normative reference to an Historic RFC: RFC 1157 (ref. '3') ** Obsolete normative reference: RFC 1905 (ref. '4') (Obsoleted by RFC 3416) ** Obsolete normative reference: RFC 2233 (ref. '5') (Obsoleted by RFC 2863) == Outdated reference: A later version (-09) exists of draft-ietf-trunkmib-ds1-mib-07 == Outdated reference: A later version (-08) exists of draft-ietf-trunkmib-ds3-mib-06 == Outdated reference: A later version (-05) exists of draft-ietf-atommib-sonetng-02 -- Possible downref: Non-RFC (?) normative reference: ref. '9' Summary: 14 errors (**), 0 flaws (~~), 9 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET-DRAFT DS0 MIB February 1998 3 Definitions of Managed Objects 4 for the DS0 and DS0 Bundle Interface Type 6 Sun Feb 15 13:37:25 EST 1998 8 draft-ietf-trunkmib-ds0-mib-05.txt 10 David Fowler (editor) 11 Newbridge Networks 12 davef@newbridge.com 14 Status of this Memo 16 This document is an Internet-Draft. Internet-Drafts are working 17 documents of the Internet Engineering Task Force (IETF), its areas, 18 and its working groups. Note that other groups may also distribute 19 working documents as Internet-Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as ``work in progress.'' 26 To learn the current status of any Internet-Draft, please check the 27 ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow 28 Directories on ds.internic.net (US East Coast), nic.nordu.net 29 (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific 30 Rim). 32 Abstract 34 This memo defines an experimental portion of the Management 35 Information Base (MIB) for use with network management protocols in 36 the Internet community. In particular, it describes objects used for 37 managing DS0 and DS0 Bundle interfaces. This document is a companion 38 document with Definitions of Managed Objects for the DS1/E1/DS2/E2, 39 DS3/E3 and SONET/SDH Interface Types, rfcTBD [6], rfcTBD [7] and 40 rfc1595 [8]. 42 This memo specifies a MIB module in a manner that is both compliant 43 to the SNMPv2 SMI, and semantically identical to the peer SNMPv1 44 definitions. 46 This memo does not specify a standard for the Internet community. 48 1. The SNMPv2 Network Management Framework 50 The SNMPv2 Network Management Framework consists of four major 51 components. They are: 53 o the SMI, described in RFC 1902 [1] - the mechanisms used for 54 describing and naming objects for the purpose of management. 56 o the MIB-II, STD 17, RFC 1213 [2] - the core set of managed 57 objects for the Internet suite of protocols. 59 o the protocol, STD 15, RFC 1157 [3] and/or RFC 1905 [4], - the 60 protocol for accessing managed objects. 62 The Framework permits new objects to be defined for the 63 purpose of experimentation and evaluation. 65 2. Objects 67 Managed objects are accessed via a virtual information store, termed 68 the Management Information Base or MIB. Objects in the MIB are 69 defined using the subset of Abstract Syntax Notation One (ASN.1) 70 defined in the SMI. In particular, each object type is named by an 71 OBJECT IDENTIFIER, an administratively assigned name. The object 72 type together with an object instance serves to uniquely identify a 73 specific instantiation of the object. For human convenience, we 74 often use a textual string, termed the descriptor, to also refer to 75 the object type. 77 3. Overview 79 These objects are used when the particular media being used to 80 realize an interface is a DS0 interface. At present, this applies to 81 these values of the ifType variable in the Internet-standard MIB: 83 ds0 (81) 84 ds0Bundle (82) 86 3.1. BONDing Terminology Please reference The BONDing Spec [9] for 87 definitions of terms used to describe bonding modes. 89 3.2. Use of ifTable for DS0 Layer 91 The following items are defined in rfc1573 [5]. 93 Only the ifGeneralGroup needs to be supported. 95 ifTable Object Use for DS0 Layer 96 ====================================================================== 97 ifIndex Interface index. 99 ifDescr See interfaces MIB [5] 101 ifType ds0(81) or ds0Bundle (82) 103 ifSpeed 64000 for ds0 regardless of the setting 104 of robbed bit signalling 105 n * 64000 for ds0Bundle 107 ifPhysAddress Not used. This object should have an 108 octet string with zero length. 110 ifAdminStatus See interfaces MIB [5] 112 ifOperStatus See interfaces MIB [5] 114 ifLastChange See interfaces MIB [5] 116 ifName See interfaces MIB [5] 118 ifLinkUpDownTrapEnable Set to disabled(2). 119 Supports read-only access. 121 ifHighSpeed 0 123 ifConnectorPresent Set to false(2). 125 3.3. Using ifStackTable 127 This section describes by example how to use ifStackTable to 128 represent the relationship of ds0 and ds0Bundles with ds1 interfaces. 129 Implementors of the stack table for ds0 and ds0Bundle interfaces 130 should look at the appropriate RFC for the service being stacked on 131 ds0s and ds0Bundles. Examples given below are for illustration 132 purposes only. 134 Example: A Frame Relay Service is being carried on 4 ds0s of a ds1. 136 +---------------------+ 137 | Frame Relay Service | 138 +---------------------+ 139 | 140 +---------------------+ 141 | ds0Bundle | 142 +---------------------+ 143 | | | | 144 +---+ +---+ +---+ +---+ 145 |ds0| |ds0| |ds0| |ds0| 146 +---+ +---+ +---+ +---+ 147 | | | | 148 +---------------------+ 149 | ds1 | 150 +---------------------+ 152 The assignment of the index values could for example be: 154 ifIndex Description 155 1 FrameRelayService (type 44) 156 2 ds0Bundle (type 82) 157 3 ds0 #1 (type 81) 158 4 ds0 #2 (type 81) 159 5 ds0 #3 (type 81) 160 6 ds0 #4 (type 81) 161 7 ds1 (type 18) 163 The ifStackTable is then used to show the relationships between the 164 various interfaces. 166 ifStackTable Entries 168 HigherLayer LowerLayer 169 0 1 170 1 2 171 2 3 172 2 4 173 2 5 174 2 6 175 3 7 176 4 7 177 5 7 178 6 7 179 7 0 181 In the case where the frameRelayService is using a single ds0, then 182 the ds0Bundle is not required. 184 +---------------------+ 185 | Frame Relay Service | 186 +---------------------+ 187 | 188 +---+ 189 |ds0| 190 +---+ 191 | 192 +---------------------+ 193 | ds1 | 194 +---------------------+ 196 The assignment of the index values could for example be: 198 ifIndex Description 199 1 FrameRelayService (type 44) 200 2 ds0 (type 81) 201 3 ds1 (type 18) 203 The ifStackTable is then used to show the relationships between the 204 various interfaces. 206 ifStackTable Entries 208 HigherLayer LowerLayer 209 0 1 210 1 2 211 2 3 212 3 0 214 3.3.1. Usage of Channelization for DS3, DS1, DS0 216 An example is given here to explain the channelization objects in the 217 DS3, DS1, and DS0 MIBs to help the implementor use the objects 218 correctly. Treatment of E3 and E1 would be similar, with the number of 219 DS0s being different depending on the framing of the E1. Timeslot 16 is 220 not created for framing types that do not pass data over it. 222 Assume that a DS3 (with ifIndex 1) is Channelized into DS1s (without 223 DS2s). The object dsx3Channelization is set to enabledDs1. There will 224 be 28 DS1s in the ifTable. Assume the entries in the ifTable for the 225 DS1s are created in channel order and the ifIndex values are 2 through 226 29. In the DS1 MIB, there will be an entry in the dsx1ChanMappingTable 227 for each ds1. The entries will be as follows: 229 dsx1ChanMappingTable Entries 231 ifIndex dsx1Ds1ChannelNumber dsx1ChanMappedIfIndex 232 1 1 2 233 1 2 3 234 ...... 235 1 28 29 237 In addition, the DS1s are channelized into DS0s. The object 238 dsx1Channelization is set to enabledDS0 for each DS1. When this object 239 is set to this value, 24 DS0s are created by the agent. There will be 24 240 DS0s in the ifTable for each DS1. If the dsx1Channelization is set to 241 disabled, the 24 DS0s are destroyed. 243 Assume the entries in the ifTable are created in channel order and the 244 ifIndex values for the DS0s in the first DS1 are 30 through 53. In the 245 DS0 MIB, there will be an entry in the dsx0ChanMappingTable for each 246 DS0. The entries will be as follows: 248 dsx0ChanMappingTable Entries 250 ifIndex dsx0Ds0ChannelNumber dsx0ChanMappedIfIndex 251 2 1 30 252 2 2 31 253 ...... 254 2 24 53 256 3.3.2. Usage of ifIndex Mapping for DS0Bundle 258 An example is given here to explain the ifIndex Mapping objects in the 259 DS0Bundle MIB to help the implementor use the objects correctly. 261 Assume that a DS1 (with ifIndex 1) is Channelized into DS0s. There will 262 be 24 DS0s in the ifTable. Assume the entries in the ifTable for the 263 DS0s are created in channel order and the ifIndex values are 2 through 264 25. Now, assume that there are two bundles on the DS1. The first one 265 uses channels 1,4,5,6,7,8,9, and 10. The second uses channels 3 and 4. 266 There will be two ifTable entries for these bundles, with values of 26 267 and 27 for ifIndex. There will be an entry in the dsx0BundleTable for 268 each bundle. The entries will be as follows: 270 dsx0BundleTable Entries 272 dsx0BundleIndex dsx0BundleIfIndex 273 1 26 274 2 27 276 There will be an entry in the dsx0BundleMappingTable 277 for each bundle. The entries will be as follows: 279 dsx0BundleMappingTable Entries 281 ifIndex dsx0Ds0ChannelNumber dsx0ChanMappedIfIndex 282 1 1 26 283 1 3 27 285 4. Overview of the MIB 287 This document contains 2 MIB modules, the DS0 MIB and the DS0Bundle 288 MIB. 290 4.1. DS0 MIB The DS0 MIB is used to represent individual DS0s in a 291 DS1 or E1. Variables in this MIB would be created for each DS0 in the 292 ifTable. This MIB contains the following group: 294 The DS0 Config Group - This group contains configuration information 295 about a particular DS0. 297 4.2. DS0Bundle MIB The DS0Bundle MIB is used to represent collections 298 of DS0s that are used together to carry data within a DS1 at speeds 299 greater than that of a single DS0. DS0Bundles are created on top of 300 DS0s and are represented that way in the ifStackTable. This MIB 301 contains the following group: 303 The DS0 Bundle Group - This group contains objects used for creating new 304 ds0Bundles. This group is mandatory. 306 The DS0 Bonding Group - This group contains information about bonding 307 for a ds0Bundle, if bonding is enabled. This group is optional. 309 5. Object Definitions for Ds0 311 DS0-MIB DEFINITIONS ::= BEGIN 313 IMPORTS 314 MODULE-IDENTITY, OBJECT-TYPE, 315 transmission FROM SNMPv2-SMI 316 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF 317 DisplayString, TruthValue FROM SNMPv2-TC 318 ifIndex, InterfaceIndex FROM IF-MIB; 320 -- This is the MIB module for the DS0 Interface objects. 322 ds0 MODULE-IDENTITY 323 LAST-UPDATED "9802151830Z" 324 ORGANIZATION "IETF Trunk MIB Working Group" 325 CONTACT-INFO 326 " David Fowler 328 Postal: Newbridge Networks Corporation 329 600 March Road 330 Kanata, Ontario, Canada K2K 2E6 332 Tel: +1 613 591 3600 333 Fax: +1 613 599 3667 335 E-mail: davef@newbridge.com" 336 DESCRIPTION 337 "The MIB module to describe 338 DS0 interfaces objects." 340 ::= { transmission 81 } 342 -- The DS0 Config Group 344 -- Implementation of this group is mandatory for all 345 -- systems that use a DS0 Interface. 347 -- The DS0 Config Group consists of two table: 348 -- DS0 Configuration Table 349 -- DS0 Channel Mapping Table 351 -- the DS0 Configuration Table 353 dsx0ConfigTable OBJECT-TYPE 354 SYNTAX SEQUENCE OF Dsx0ConfigEntry 355 MAX-ACCESS not-accessible 356 STATUS current 357 DESCRIPTION 358 "The DS0 Configuration table." 359 ::= { ds0 1 } 361 dsx0ConfigEntry OBJECT-TYPE 362 SYNTAX Dsx0ConfigEntry 363 MAX-ACCESS not-accessible 364 STATUS current 365 DESCRIPTION 366 "An entry in the DS0 Configuration table. There 367 is an entry in this table for each DS0 interface" 368 INDEX { ifIndex } 369 ::= { dsx0ConfigTable 1 } 371 Dsx0ConfigEntry ::= 372 SEQUENCE { 373 dsx0Ds0ChannelNumber INTEGER, 374 dsx0RobbedBitSignalling TruthValue, 375 dsx0CircuitIdentifier DisplayString, 376 dsx0IdleCode INTEGER, 377 dsx0SeizedCode INTEGER, 378 dsx0ReceivedCode INTEGER, 379 dsx0TransmitCodesEnable TruthValue 380 } 382 dsx0Ds0ChannelNumber OBJECT-TYPE 383 SYNTAX INTEGER(0..31) 384 MAX-ACCESS read-only 385 STATUS current 386 DESCRIPTION 387 "This object indicates the channel number of the 388 ds0 on its ds1/e1." 389 ::= { dsx0ConfigEntry 1 } 391 dsx0RobbedBitSignalling OBJECT-TYPE 392 SYNTAX TruthValue 393 MAX-ACCESS read-write 394 STATUS current 395 DESCRIPTION 396 "This object indicates if Robbed Bit Signalling is 397 turned on or off for a given ds0. This only 398 applies to DS0s on a T1 link. For E1 links the 399 value is always off (false)." 400 ::= { dsx0ConfigEntry 2 } 402 dsx0CircuitIdentifier OBJECT-TYPE 403 SYNTAX DisplayString (SIZE (0..255)) 404 MAX-ACCESS read-write 405 STATUS current 406 DESCRIPTION 407 "This variable contains the transmission vendor's 408 circuit identifier, for the purpose of 409 facilitating troubleshooting." 410 ::= { dsx0ConfigEntry 3 } 412 dsx0IdleCode OBJECT-TYPE 413 SYNTAX INTEGER(0..15) 414 MAX-ACCESS read-write 415 STATUS current 416 DESCRIPTION 417 "This variable contains the code transmitted in 418 the ABCD bits when the ds0 is not connected and 419 dsx0TransmitCodesEnable is enabled. The object is 420 a bitmap and the various bit positions are: 421 1 D bit 422 2 C bit 423 4 B bit 424 8 A bit" 425 ::= { dsx0ConfigEntry 4 } 427 dsx0SeizedCode OBJECT-TYPE 428 SYNTAX INTEGER(0..15) 429 MAX-ACCESS read-write 430 STATUS current 431 DESCRIPTION 432 "This variable contains the code transmitted in 433 the ABCD bits when the ds0 is connected and 434 dsx0TransmitCodesEnable in enabled. The object is 435 a bitmap and the various bit positions are: 436 1 D bit 437 2 C bit 438 4 B bit 439 8 A bit" 440 ::= { dsx0ConfigEntry 5 } 442 dsx0ReceivedCode OBJECT-TYPE 443 SYNTAX INTEGER(0..15) 444 MAX-ACCESS read-only 445 STATUS current 446 DESCRIPTION 447 "This variable contains the code being recieved in 448 the ABCD bits. The object is a bitmap and the 449 various bit positions are: 450 1 D bit 451 2 C bit 452 4 B bit 453 8 A bit" 454 ::= { dsx0ConfigEntry 6 } 456 dsx0TransmitCodesEnable OBJECT-TYPE 457 SYNTAX TruthValue 458 MAX-ACCESS read-write 459 STATUS current 460 DESCRIPTION 461 "This variable determines if the idle and siezed 462 codes are transmitted. If the value of this object 463 is true then the codes are transmitted." 464 ::= { dsx0ConfigEntry 7 } 466 -- The DS0 Channel Table 468 dsx0ChanMappingTable OBJECT-TYPE 469 SYNTAX SEQUENCE OF Dsx0ChanMappingEntry 470 MAX-ACCESS not-accessible 471 STATUS current 472 DESCRIPTION 473 "The DS0 Channel Mapping table. This table maps a 474 DS0 channel number on a particular DS1 into an 475 ifIndex. " 476 ::= { ds0 3 } 478 dsx0ChanMappingEntry OBJECT-TYPE 479 SYNTAX Dsx0ChanMappingEntry 480 MAX-ACCESS not-accessible 481 STATUS current 482 DESCRIPTION 483 "An entry in the DS0 Channel Mapping table. There 484 is an entry in this table corresponding to each 485 ds0 ifEntry within any interface that is 486 channelized to the individual ds0 ifEntry level. 488 This table is intended to facilitate mapping from 489 channelized interface / channel number to DS0 490 ifEntry. (e.g. mapping (DS1 ifIndex, DS0 Channel 491 Number) -> ifIndex) 493 While this table provides information that can 494 also be found in the ifStackTable and 495 dsx0ConfigTable, it provides this same information 496 with a single table lookup, rather than by walking 497 the ifStackTable to find the various constituent 498 ds0 ifTable entries, and testing various 499 dsx0ConfigTable entries to check for the entry 500 with the applicable DS0 channel number." 501 INDEX { ifIndex, dsx0Ds0ChannelNumber } 502 ::= { dsx0ChanMappingTable 1 } 504 Dsx0ChanMappingEntry ::= 505 SEQUENCE { 506 dsx0ChanMappedIfIndex InterfaceIndex 507 } 509 dsx0ChanMappedIfIndex OBJECT-TYPE 510 SYNTAX InterfaceIndex 511 MAX-ACCESS read-only 512 STATUS current 513 DESCRIPTION 514 "This object indicates the ifIndex value assigned 515 by the agent for the individual ds0 ifEntry that 516 corresponds to the given DS0 channel number 517 (specified by the INDEX element 518 dsx0Ds0ChannelNumber) of the given channelized 519 interface (specified by INDEX element ifIndex)." 520 ::= { dsx0ChanMappingEntry 1 } 522 -- conformance information 524 ds0Conformance OBJECT IDENTIFIER ::= { ds0 2 } 526 ds0Groups OBJECT IDENTIFIER ::= { ds0Conformance 1 } 527 ds0Compliances OBJECT IDENTIFIER ::= { ds0Conformance 2 } 529 -- compliance statements 531 ds0Compliance MODULE-COMPLIANCE 532 STATUS current 533 DESCRIPTION 534 "The compliance statement for DS0 interfaces." 535 MODULE -- this module 536 MANDATORY-GROUPS { ds0ConfigGroup } 538 OBJECT dsx0RobbedBitSignalling 539 MIN-ACCESS read-only 540 DESCRIPTION 541 "The ability to set RBS is not required." 543 OBJECT dsx0CircuitIdentifier 544 MIN-ACCESS read-only 545 DESCRIPTION 546 "The ability to set the circuit identifier is not 547 required." 549 OBJECT dsx0IdleCode 550 MIN-ACCESS read-only 551 DESCRIPTION 552 "The ability to set the idle code is not 553 required." 555 OBJECT dsx0SeizedCode 556 MIN-ACCESS read-only 557 DESCRIPTION 558 "The ability to set the seized code is not 559 required." 561 OBJECT dsx0TransmitCodesEnable 562 MIN-ACCESS read-only 563 DESCRIPTION 564 "The ability to enable and disable the 565 transmitting of idle and seized codes is not 566 required." 568 ::= { ds0Compliances 1 } 570 -- units of conformance 572 ds0ConfigGroup OBJECT-GROUP 573 OBJECTS { dsx0Ds0ChannelNumber, 574 dsx0RobbedBitSignalling, 575 dsx0CircuitIdentifier, 576 dsx0IdleCode, 577 dsx0SeizedCode, 578 dsx0ReceivedCode, 579 dsx0TransmitCodesEnable, 580 dsx0ChanMappedIfIndex } 581 STATUS current 582 DESCRIPTION 583 "A collection of objects providing configuration 584 information applicable to all DS0 interfaces." 585 ::= { ds0Groups 1 } 587 END 589 6. Object Definitions for Ds0 Bundle 591 DS0BUNDLE-MIB DEFINITIONS ::= BEGIN 593 IMPORTS 594 MODULE-IDENTITY, OBJECT-TYPE, 595 transmission FROM SNMPv2-SMI 596 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF 597 RowStatus, TestAndIncr FROM SNMPv2-TC 598 ifIndex, InterfaceIndex FROM IF-MIB 599 dsx0Ds0ChannelNumber FROM DS0-MIB; 601 -- This is the MIB module for the DS0Bundle Interface 602 -- objects. 604 ds0Bundle MODULE-IDENTITY 605 LAST-UPDATED "9802112330Z" 606 ORGANIZATION "IETF Trunk MIB Working Group" 607 CONTACT-INFO 608 " David Fowler 610 Postal: Newbridge Networks Corporation 611 600 March Road 612 Kanata, Ontario, Canada K2K 2E6 614 Tel: +1 613 591 3600 615 Fax: +1 613 599 3667 617 E-mail: davef@newbridge.com" 618 DESCRIPTION 619 "The MIB module to describe 620 DS0 Bundle interfaces objects." 622 ::= { transmission 82 } 624 -- 625 -- The DS0 Bundle Config Group 626 -- 627 -- Implementation of this group is mandatory for all 628 -- systems that use a DS0Bundle Interface. 629 -- 630 -- The DS0 Bundle Config Group consists of two tables: 631 -- DS0 Bundle Table 632 -- DS0 Bundle Mapping Table 634 -- The Ds0 Bundle Table 636 dsx0BundleNextIndex OBJECT-TYPE 637 SYNTAX TestAndIncr 638 MAX-ACCESS read-write 639 STATUS current 640 DESCRIPTION 641 "This object is used to assist the manager in 642 selecting a value for dsx0BundleIndex. Because 643 this object is of syntax TestAndIncr (see the 644 SNMPv2-TC document, RFC1903) it can also be used 645 to avoid race conditions with multiple managers 646 trying to create rows in the table. 648 If the result of the SET for dsx0BundleNextIndex 649 is not success, this means the value has been 650 changed from index (i.e. another manager used the 651 value), so a new value is required. 653 The alorithm is: 654 while done == false 655 index = GET (dsx0BundleNextIndex.0) 656 SET (dsx0BundleNextIndex.0=index) 657 if (set failed) 658 done = false 659 else 660 SET(dsx0BundleRowStatus.index=createAndGo) 661 if (set failed) 662 done = false 663 else 664 done = true 665 other error handling" 666 ::= { ds0Bundle 2 } 668 dsx0BundleTable OBJECT-TYPE 669 SYNTAX SEQUENCE OF Dsx0BundleEntry 670 MAX-ACCESS not-accessible 671 STATUS current 672 DESCRIPTION 673 " There is an row in this table for each 674 ds0Bundle in the system. This table can be used 675 to (indirectly) create rows in the ifTable with 676 ifType = 'ds0Bundle(82)'." 677 ::= { ds0Bundle 3 } 679 dsx0BundleEntry OBJECT-TYPE 680 SYNTAX Dsx0BundleEntry 681 MAX-ACCESS not-accessible 682 STATUS current 683 DESCRIPTION 684 "There is a row in entry in this table for each 685 ds0Bundle interface." 686 INDEX { dsx0BundleIndex } 687 ::= { dsx0BundleTable 1 } 689 Dsx0BundleEntry ::= 690 SEQUENCE { 691 dsx0BundleIndex INTEGER, 692 dsx0BundleIfIndex InterfaceIndex, 693 dsx0BundleRowStatus RowStatus 694 } 696 dsx0BundleIndex OBJECT-TYPE 697 SYNTAX INTEGER (0..2147483647) 698 MAX-ACCESS read-create 699 STATUS current 700 DESCRIPTION 701 "A unique identifier for a ds0Bundle. This is not 702 the same value as ifIndex. This table is not 703 indexed by ifIndex because the manager has to 704 choose the index in a createable row and the agent 705 must be allowed to select ifIndex values." 706 ::= { dsx0BundleEntry 1 } 708 dsx0BundleIfIndex OBJECT-TYPE 709 SYNTAX InterfaceIndex 710 MAX-ACCESS read-only 711 STATUS current 712 DESCRIPTION 713 "The ifIndex value the agent selected for the 714 (new) ds0Bundle interface." 715 ::= { dsx0BundleEntry 2 } 717 dsx0BundleRowStatus OBJECT-TYPE 718 SYNTAX RowStatus 719 MAX-ACCESS read-create 720 STATUS current 721 DESCRIPTION 722 "This object is used to create and delete rows in 723 this table." 724 ::= { dsx0BundleEntry 3 } 726 -- The DS0 Bundle Mapping Table 728 dsx0BundleMappingTable OBJECT-TYPE 729 SYNTAX SEQUENCE OF Dsx0BundleMappingEntry 730 MAX-ACCESS not-accessible 731 STATUS current 732 DESCRIPTION 733 "The DS0 Bundle Mapping table. This table maps 734 the first DS0 channel number in a DS0 Bundle on a 735 particular DS1 into an ifIndex. " 736 ::= { ds0Bundle 5 } 738 dsx0BundleMappingEntry OBJECT-TYPE 739 SYNTAX Dsx0BundleMappingEntry 740 MAX-ACCESS not-accessible 741 STATUS current 742 DESCRIPTION 743 "An entry in the DS0 Bundle Mapping table. There 744 is an entry in this table corresponding to each 745 ds0Bundle ifEntry within any interface that 746 contains ds0Bundles. 748 This table is intended to facilitate mapping from 749 channelized interface / channel number to 750 DS0Bundle ifEntry. (e.g. mapping (DS1 ifIndex, 751 DS0 Channel Number) -> ifIndex) where channel 752 number is the lowest channel number in a 753 ds0Bundle. 755 While this table provides information that can 756 also be found in the ifStackTable and 757 dsx0ConfigTable, it provides this same information 758 with a single table lookup, rather than by walking 759 the ifStackTable to find the various constituent 760 ds0Bundle ifTable entries, and testing various 761 dsx0ConfigTable entries to check for the entry 762 with the applicable DS0 channel number." 763 INDEX { ifIndex, dsx0Ds0ChannelNumber } 764 ::= { dsx0BundleMappingTable 1 } 766 Dsx0BundleMappingEntry ::= 767 SEQUENCE { 768 dsx0BundleMappedIfIndex InterfaceIndex 769 } 771 dsx0BundleMappedIfIndex OBJECT-TYPE 772 SYNTAX InterfaceIndex 773 MAX-ACCESS read-only 774 STATUS current 775 DESCRIPTION 776 "This object indicates the ifIndex value assigned 777 by the agent for the individual ds0Bundle ifEntry 778 that begins with the given DS0 channel number 779 (specified by the INDEX element 780 dsx0Ds0ChannelNumber) of the given channelized 781 interface (specified by INDEX element ifIndex)." 782 ::= { dsx0BundleMappingEntry 1 } 784 -- The DS0 Bonding Group 786 -- Implementation of this group is optional for all 787 -- systems that use a DS0Bundle Interface. 789 -- The DS0 Bonding Group consists of one table: 790 -- DS0 Bonding 792 -- the DS0 Bonding Table 794 dsx0BondingTable OBJECT-TYPE 795 SYNTAX SEQUENCE OF Dsx0BondingEntry 796 MAX-ACCESS not-accessible 797 STATUS current 798 DESCRIPTION 799 "The DS0 Bonding table." 800 ::= { ds0Bundle 1 } 802 dsx0BondingEntry OBJECT-TYPE 803 SYNTAX Dsx0BondingEntry 804 MAX-ACCESS not-accessible 805 STATUS current 806 DESCRIPTION 807 "An entry in the DS0 Bonding table. There is a 808 row in this table for each DS0Bundle interface." 809 INDEX { ifIndex } 810 ::= { dsx0BondingTable 1 } 812 Dsx0BondingEntry ::= 813 SEQUENCE { 814 dsx0BondMode INTEGER, 815 dsx0BondStatus INTEGER, 816 dsx0BondRowStatus RowStatus 817 } 819 dsx0BondMode OBJECT-TYPE 820 SYNTAX INTEGER { 821 none(1), 822 other(2), 823 mode0(3), 824 mode1(4), 825 mode2(5), 826 mode3(6) 827 } 828 MAX-ACCESS read-create 829 STATUS current 830 DESCRIPTION 831 "This object indicates which BONDing mode is used, 832 if any, for a ds0Bundle. Mode0 provides parameter 833 and number exchange with no synchronization. Mode 834 1 provides parameter and number exchange. Mode 1 835 also provides synchronization during 836 initialization but does not include inband 837 monitoring. Mode 2 provides all of the above plus 838 inband monitoring. Mode 2 also steals 1/64th of 839 the bandwidth of each channel (thus not supporting 840 n x 56/64 kbit/s data channels for most values of 841 n). Mode 3 provides all of the above, but also 842 provides n x 56/64 kbit/s data channels. Most 843 common implementations of Mode 3 add an extra 844 channel to support the inband monitoring overhead. 845 ModeNone should be used when the interface is not 846 performing bandwidth-on-demand." 847 ::= { dsx0BondingEntry 1 } 849 dsx0BondStatus OBJECT-TYPE 850 SYNTAX INTEGER { 851 idle(1), 852 callSetup(2), 853 dataTransfer(3) 854 } 855 MAX-ACCESS read-create 856 STATUS current 857 DESCRIPTION 858 "This object indicates the current status of the 859 bonding call using this ds0Bundle. idle(1) should 860 be used when the bonding mode is set to none(1)." 861 ::= { dsx0BondingEntry 2 } 863 dsx0BondRowStatus OBJECT-TYPE 864 SYNTAX RowStatus 865 MAX-ACCESS read-create 866 STATUS current 867 DESCRIPTION 868 "This object is used to create new rows in this 869 table, modify existing rows, and to delete 870 existing rows." 871 ::= { dsx0BondingEntry 3 } 873 -- conformance information 875 ds0BundleConformance OBJECT IDENTIFIER ::= { ds0Bundle 4 } 877 ds0BundleGroups OBJECT IDENTIFIER 878 ::= { ds0BundleConformance 1 } 880 ds0BundleCompliances OBJECT IDENTIFIER 881 ::= { ds0BundleConformance 2 } 883 -- compliance statements 885 ds0BundleCompliance MODULE-COMPLIANCE 886 STATUS current 887 DESCRIPTION 888 "The compliance statement for DS0Bundle 889 interfaces." 890 MODULE -- this module 891 MANDATORY-GROUPS {ds0BundleConfigGroup } 892 GROUP ds0BondingGroup 893 DESCRIPTION 894 "Implementation of this group is optional for all 895 systems that attach to a DS0Bundle Interface." 896 ::= { ds0BundleCompliances 1 } 898 -- units of conformance 900 ds0BondingGroup OBJECT-GROUP 901 OBJECTS { dsx0BondMode, 902 dsx0BondStatus, 903 dsx0BondRowStatus } 904 STATUS current 905 DESCRIPTION 906 "A collection of objects providing configuration 907 information applicable to all DS0 interfaces." 908 ::= { ds0BundleGroups 1 } 910 ds0BundleConfigGroup OBJECT-GROUP 911 OBJECTS { dsx0BundleNextIndex, 912 dsx0BundleIndex, 913 dsx0BundleIfIndex, 914 dsx0BundleRowStatus, 915 dsx0BundleMappedIfIndex } 916 STATUS current 917 DESCRIPTION 918 "A collection of objects providing the ability to 919 create a new ds0Bundle in the ifTable." 920 ::= { ds0BundleGroups 2 } 921 END 923 7. Acknowledgments 925 This document was produced by the Trunk MIB Working Group: 927 8. References 929 [1] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and 930 S. Waldbusser, "Structure of Management Information for Version 931 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, 932 January 1996. 934 [2] McCloghrie, K., and M. Rose, Editors, "Management 935 Information Base for Network Management of TCP/IP-based 936 internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems, 937 Performance Systems International, March 1991. 939 [3] Case, J., Fedor, M., Schoffstall, M., and J. Davin. " A Simple 940 Network Management Protocol (SNMP)", STD 15, RFC 1157, SNMP 941 Research, Performance Systems International, MIT Lab for 942 Computer Science, May 1990. 944 [4] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and 945 S. Waldbusser, "Protocol Operations for Version 2 of the Simple 946 Network Management Protocol (SNMPv2)", RFC 1905, January 1996. 948 [5] McCloghrie, K. and F. Kastenholz, "Evolution of the 949 Interfaces Group of MIB-II", RFC2233, Cisco, 950 FTP Software, November 1997. 952 [6] Fowler, D., "Definitions of Managed Objects for the 953 DS1/E1/DS2/E2 Interface Types", 954 draft-ietf-trunkmib-ds1-mib-07.txt, Newbridge Networks, 955 November 1997. 957 [7] Fowler, D., "Definitions of Managed Objects 958 for the DS3/E3 Interface Types", 959 draft-ietf-trunkmib-ds3-mib-06.txt, Newbridge Networks, 960 November 1997. 962 [8] Brown, T., and Tesink, K., "Definitions of Managed Objects 963 for the SONET/SDH Interface Type", 964 draft-ietf-atommib-sonetng-02.txt, Bell Communications 965 Research, August 1997. 967 [9] Sharp, H. (Editor), "Interoperability Requirements for Nx56/64 968 kbit/s Calls", BONDING Spec Version 1.0, BONDING Consortium, 969 Sept 1992. 971 9. Security Considerations 973 This MIB adds no security issues that are not raised by SNMP itself. 974 As a Network Management Protocol, SNMP is capable of changing the 975 configuration of a system, of denial of service attacks through 976 requiring the agent to respond to its messages, and displaying values 977 of system counters and configuration settings in the clear where an 978 adversary might read them. This, however, is not in itself a threat: 979 this is the function of the protocol, but could be misused. Such 980 misuse can be avoided or minimized through SNMP Security. 982 Setting the following object to an inappropriate value can cause loss 983 of traffic. The setting of dsx0RobberBitSignalling describes the 984 nature of the traffic transmitting on the DS0. 985 dsx0RobbedBitSignalling 987 Setting the following objects is mischevious, but not harmful to 988 traffic 989 dsx0CircuitIdentifier 990 dsx0IdleCode 991 dsx0SeizedCode 992 dsx0TransmitCodesEnable 993 dsx0BundleNextIndex 995 10. Authors' Addresses 997 David Fowler 998 Newbridge Networks 999 600 March Road 1000 Kanata, Ontario, Canada K2K 2E6 1002 Phone: (613) 599-3600, ext 6559 1004 EMail: davef@newbridge.com 1006 Table of Contents 1008 1 The SNMPv2 Network Management Framework ...................... 2 1009 2 Objects ...................................................... 3 1010 3 Overview ..................................................... 4 1011 3.1 BONDing Terminology ........................................ 4 1012 3.2 Use of ifTable for DS0 Layer ............................... 4 1013 3.3 Using ifStackTable ......................................... 5 1014 3.3.1 Usage of Channelization for DS3, DS1, DS0 ................ 7 1015 3.3.2 Usage of ifIndex Mapping for DS0Bundle ................... 8 1016 4 Overview of the MIB .......................................... 9 1017 4.1 DS0 MIB .................................................... 9 1018 4.2 DS0Bundle MIB .............................................. 9 1019 5 Object Definitions for Ds0 ................................... 10 1020 5.1 The DS0 Config Group ....................................... 11 1021 5.1.1 The DS0 Configuration Table .............................. 11 1022 5.1.2 The DS0 Channel Table .................................... 13 1023 6 Object Definitions for Ds0 Bundle ............................ 17 1024 6.1 The DS0 Bundle Config Group ................................ 18 1025 6.1.1 The Ds0 Bundle Table ..................................... 18 1026 6.1.2 The DS0 Bundle Mapping Table ............................. 20 1027 6.2 The DS0 Bonding Group ...................................... 21 1028 6.2.1 The DS0 Bonding Table .................................... 21 1029 7 Acknowledgments .............................................. 24 1030 8 References ................................................... 25 1031 9 Security Considerations ...................................... 26 1032 10 Authors' Addresses .......................................... 26