1-- ********************************************************************* 2-- CISCO-PORT-CHANNEL-MIB.my: Port Channel mib 3-- 4-- September 2002, Srini Kode 5-- February 2004, Vinay Gaonkar 6-- 7-- Copyright (c) 2002,2003,2004 by cisco Systems, Inc. 8-- All rights reserved. 9-- 10-- ********************************************************************* 11CISCO-PORT-CHANNEL-MIB DEFINITIONS ::= BEGIN 12 13IMPORTS 14 MODULE-IDENTITY, OBJECT-TYPE, 15 Unsigned32 FROM SNMPv2-SMI 16 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF 17 TEXTUAL-CONVENTION, RowStatus, 18 TimeStamp, TruthValue FROM SNMPv2-TC 19 SnmpAdminString FROM SNMP-FRAMEWORK-MIB 20 InterfaceIndex, ifIndex FROM IF-MIB 21 ciscoMgmt FROM CISCO-SMI 22 PortMemberList FROM CISCO-ST-TC; 23 24 25ciscoPortChannelMIB MODULE-IDENTITY 26 LAST-UPDATED "200409130000Z" 27 ORGANIZATION "Cisco Systems Inc." 28 CONTACT-INFO 29 " Cisco Systems 30 Customer Service 31 Postal: 170 W Tasman Drive 32 San Jose, CA 95134 33 USA 34 Tel: +1 800 553 -NETS 35 E-mail: cs-san@cisco.com" 36 DESCRIPTION 37 "The MIB module for management of Port Channel ports. 38 In addition to this MIB, CISCO-FC-FE-MIB and interface 39 mib (rfc2863) will also contain entries for Port Channel 40 ports." 41 REVISION "200409130000Z" 42 DESCRIPTION 43 "Added new object portChannelExtOperChannelGrpMode to 44 portChannelExtTable. Changed the SYNTAX of 45 portChannelExtPersistent to INTEGER from TruthValue." 46 REVISION "200406080000Z" 47 DESCRIPTION 48 "Added new tables portChannelGrpIfExtTable and 49 portChannelExtTable. Also, added new object 50 portChannelProtocolEnable." 51 REVISION "200403110000Z" 52 DESCRIPTION 53 "Added portChannelMemberOperStatus to portChannelTable. " 54 REVISION "200305280000Z" 55 DESCRIPTION 56 "Superceeded portChannelMIBCompliances with 57 portChannelMIBCompliances1. Added 58 portChannelAdminChannelMode object to 59 portChannelMIBCompliances1. " 60 REVISION "200210020000Z" 61 DESCRIPTION 62 "Initial version of this MIB module." 63 ::= { ciscoMgmt 285 } 64 65ciscoPortChannelObjects OBJECT IDENTIFIER 66 ::= { ciscoPortChannelMIB 1 } 67portChannelMIBConformance OBJECT IDENTIFIER 68 ::= { ciscoPortChannelMIB 2 } 69portChannelConfig OBJECT IDENTIFIER 70 ::= { ciscoPortChannelObjects 1 } 71portChannelStatistics OBJECT IDENTIFIER 72 ::= { ciscoPortChannelObjects 2 } 73portChannelNotification OBJECT IDENTIFIER 74 ::= { ciscoPortChannelObjects 3 } 75portChannelNotifications OBJECT IDENTIFIER 76 ::= { portChannelNotification 0 } 77 78-- Textual Conventions 79 80PortChannelMode ::= TEXTUAL-CONVENTION 81 STATUS current 82 DESCRIPTION 83 "Defines how a Port Channel does channeling. 84 auto(1) - place the port into passive 85 negotiation state, in which the 86 port waits for its peer to 87 initiate negotiation. 88 on(2) - force the port to enable 89 channeling. 90 off(3) - channeling is disabled. 91 desirable(4) - place the port into active 92 negotiating state, in which the 93 port initiates negotiations with 94 its peer and if the peer end 95 agrees, channeling is enabled 96 between them. " 97 SYNTAX INTEGER { 98 auto(1), 99 on(2), 100 off(3), 101 desirable(4) 102 } 103 104PortChannelGroupMode ::= TEXTUAL-CONVENTION 105 STATUS current 106 DESCRIPTION 107 "Defines how a Port Channel does channeling. 108 on(1) - the port shall operate as part of a 109 port channel or remain inactive. The port 110 channel protocol is turned off and peer 111 port is assumed to be configured in 'on' 112 mode. 113 active(2)- indicates that port shall initiate port 114 channel negotiation with peer port 115 according to the port channel protocol 116 regardless of the channel mode of the 117 peer port." 118 SYNTAX INTEGER { 119 on(1), 120 active(2) 121 } 122 123-- 124-- Port Channel Table 125-- 126 127portChannelTable OBJECT-TYPE 128 SYNTAX SEQUENCE OF PortChannelEntry 129 MAX-ACCESS not-accessible 130 STATUS current 131 DESCRIPTION 132 "This table facilitates the creation and deletion of a 133 Port Channel interface to achieve higher bandwidths 134 than just one E_port. More than one E_port can be a 135 member of an Port Channel port. 136 NOTE:Only E_ports can be members of an Port Channel 137 port. 138 139 A port is added to a Port Channel port by setting 140 portChannelMemberList,and the 'manner' in which the 141 agent performs the type of addition is determined 142 by the value of portChannelAddType. 143 144 During the period when port(s) is being added to the 145 Port Channel, the agent will not allow to change any 146 parameters of the port(s) being added. Also if the 147 operation is successful (i.e. port(s) is added to the 148 Port Channel) then also the agent will not allow to 149 change any parameters of the individual port(s) that is 150 added. But any change done to the Port Channel port 151 will also be applied to the port(s) which are member(s) 152 of this Port channel port. Once a port(s) is removed 153 from a Port Channel Port it will retain the values that 154 it had when it was a member of the Port Channel port. 155 It will not have the old values it had before joining 156 the Port Channel port. 157 158 The port(s) that are added/removed to/from a 159 Port Channel port will be put into administratively 160 down (ifAdminStatus='down') which results into 161 operationally down(ifOperStatus='down'). To bring the 162 port up again, the user has to set the port to be 163 administratively up(ifAdminStatus='up'). Then the port 164 goes through its initialization cycle to become 165 active(ifOperStatus='up'). " 166 ::= { portChannelConfig 1 } 167 168portChannelEntry OBJECT-TYPE 169 SYNTAX PortChannelEntry 170 MAX-ACCESS not-accessible 171 STATUS current 172 DESCRIPTION 173 "There is one entry in this table for each created 174 Port Channel port. " 175 INDEX { portChannelIndex } 176 ::= { portChannelTable 1 } 177 178PortChannelEntry ::= SEQUENCE { 179 portChannelIndex Unsigned32, 180 portChannelIfIndex InterfaceIndex, 181 portChannelAdminChannelMode PortChannelMode, 182 portChannelOperChannelMode PortChannelMode, 183 portChannelAddType INTEGER, 184 portChannelLastActionStatus INTEGER, 185 portChannelLastActionStatusCause SnmpAdminString, 186 portChannelLastActionTime TimeStamp, 187 portChannelMemberList PortMemberList, 188 portChannelCreationTime TimeStamp, 189 portChannelRowStatus RowStatus, 190 portChannelMemberOperStatus PortMemberList 191} 192 193portChannelIndex OBJECT-TYPE 194 SYNTAX Unsigned32 (1..2048) 195 MAX-ACCESS not-accessible 196 STATUS current 197 DESCRIPTION 198 "An index that uniquely identifies an entry in the 199 portChannelTable table. " 200 ::= { portChannelEntry 1 } 201 202portChannelIfIndex OBJECT-TYPE 203 SYNTAX InterfaceIndex 204 MAX-ACCESS read-only 205 STATUS current 206 DESCRIPTION 207 "The ifIndex of this interface. " 208 ::= { portChannelEntry 2 } 209 210portChannelAdminChannelMode OBJECT-TYPE 211 SYNTAX PortChannelMode 212 MAX-ACCESS read-create 213 STATUS current 214 DESCRIPTION 215 "The channel mode desired by the network manager. 216 If this object is configured to be auto(1), then the 217 'portChannelOperChannelMode' will show the current 218 operating channel mode of port. " 219 DEFVAL {on} 220 ::= { portChannelEntry 3 } 221 222portChannelOperChannelMode OBJECT-TYPE 223 SYNTAX PortChannelMode 224 MAX-ACCESS read-only 225 STATUS current 226 DESCRIPTION 227 "The current operating channel mode of the port. " 228 ::= { portChannelEntry 4 } 229 230portChannelAddType OBJECT-TYPE 231 SYNTAX INTEGER { 232 normal(1), 233 force(2) 234 } 235 MAX-ACCESS read-create 236 STATUS current 237 DESCRIPTION 238 "The method to be adopted by the agent to add 239 port(s) to a Port Channel port. 240 If normal(1), then a compatibility check is done on the 241 parameters of the port(s) being added to this Port 242 Channel. The port(s) being added must have the same 243 physical and configured parameters as the Port 244 Channel port. 245 If force(2), a compatibility check is done on only 246 physical parameters. The port(s) being added to this 247 Port Channel port must have same physical parameters. 248 The operation will fail only if the physical parameters 249 are not same. The configured parameters of the 250 port(s) being added are overwritten by 251 configured parameters of this Port Channel port. " 252 DEFVAL {normal} 253 ::= { portChannelEntry 5 } 254 255portChannelLastActionStatus OBJECT-TYPE 256 SYNTAX INTEGER { 257 successful(1), 258 failed(2) 259 } 260 MAX-ACCESS read-only 261 STATUS current 262 DESCRIPTION 263 "The status of the last operation (add or remove a 264 member) done to change the member list of a Port 265 Channel Port. 266 When no ports are added or the last operation is 267 successful then this object will be successful(1). 268 If this value is failed(2) then the user can look 269 at portChannelLastAddStatusCause to find the reason 270 of failure. " 271 ::= { portChannelEntry 6 } 272 273portChannelLastActionStatusCause OBJECT-TYPE 274 SYNTAX SnmpAdminString 275 MAX-ACCESS read-only 276 STATUS current 277 DESCRIPTION 278 "The cause of failure to last operation (add or remove 279 a member) done to change the member list of a Port 280 Channel port. This object will be zero length string 281 if 'portChannelLastActionStatus' is successful(1). " 282 ::= { portChannelEntry 7 } 283 284portChannelLastActionTime OBJECT-TYPE 285 SYNTAX TimeStamp 286 MAX-ACCESS read-only 287 STATUS current 288 DESCRIPTION 289 "The timestamp indicating the time of last action 290 performed on this entry. " 291 ::= { portChannelEntry 8 } 292 293portChannelMemberList OBJECT-TYPE 294 SYNTAX PortMemberList 295 MAX-ACCESS read-create 296 STATUS current 297 DESCRIPTION 298 "The list of ifIndex's of the E_ports that are members 299 of this Port Channel port. " 300 DEFVAL {''H} 301 ::= { portChannelEntry 9 } 302 303portChannelCreationTime OBJECT-TYPE 304 SYNTAX TimeStamp 305 MAX-ACCESS read-only 306 STATUS current 307 DESCRIPTION 308 "The timestamp of this entry's creation time. 309 Note that at this creation time, a discontinuity occurs 310 in the statistic/error counters which are defined in 311 CISCO-FC-FE-MIB, and which are associated with this 312 Port Channel. " 313 ::= { portChannelEntry 10 } 314 315portChannelRowStatus OBJECT-TYPE 316 SYNTAX RowStatus 317 MAX-ACCESS read-create 318 STATUS current 319 DESCRIPTION 320 "The status of this conceptual row. " 321 ::= { portChannelEntry 11 } 322 323portChannelMemberOperStatus OBJECT-TYPE 324 SYNTAX PortMemberList 325 MAX-ACCESS read-only 326 STATUS current 327 DESCRIPTION 328 "The list of port channel forwarding status of the 329 E_ports that are members of this Port Channel port. 330 Every four-byte is a status of the corresponding 331 member port represented by ifIndex in 332 portChannelMemberList. 333 The portChannelMemberOperStatus may not be the same as 334 ifOperStatus. 335 A value of '00 00 00 01' means the corresponding member 336 port is participating in the load balancing of the 337 port channel. 338 A value of '00 00 00 02' means the corresponding member 339 port is not participating in the load balancing of the 340 port channel. " 341 DEFVAL {''H} 342 ::= { portChannelEntry 12 } 343 344 345-- 346-- Port Channel Protocol related objects 347-- 348 349portChannelProtocolEnable OBJECT-TYPE 350 SYNTAX TruthValue 351 MAX-ACCESS read-write 352 STATUS current 353 DESCRIPTION 354 "Enables/disables Port Channel Protocol. If enabled, Port 355 Channel Protocol provides following features: 356 - detection and correction of mis-configurations of 357 interfaces involved with a Port Channel. 358 - automatic creation of Channel Groups (and therefore 359 Port Channels) if both ends of the links are compatible 360 with each other." 361 ::= { portChannelConfig 2 } 362 363portChannelGrpIfExtTable OBJECT-TYPE 364 SYNTAX SEQUENCE OF PortChannelGrpIfExtEntry 365 MAX-ACCESS not-accessible 366 STATUS current 367 DESCRIPTION 368 "This table facilitates Channel Group specific 369 interface configurations." 370 ::= {portChannelConfig 3 } 371 372portChannelGrpIfExtEntry OBJECT-TYPE 373 SYNTAX PortChannelGrpIfExtEntry 374 MAX-ACCESS not-accessible 375 STATUS current 376 DESCRIPTION 377 "There is one entry in this table for each created 378 Port Channel port." 379 INDEX { ifIndex } 380 ::= { portChannelGrpIfExtTable 1 } 381 382PortChannelGrpIfExtEntry ::= SEQUENCE { 383 portChannelGrpIfAutoCreation TruthValue 384} 385 386portChannelGrpIfAutoCreation OBJECT-TYPE 387 SYNTAX TruthValue 388 MAX-ACCESS read-write 389 STATUS current 390 DESCRIPTION 391 "This object indicates if this interface may be part of 392 automatically created Channel Groups (and therefore 393 Port Channels)." 394 ::= { portChannelGrpIfExtEntry 1 } 395 396-- 397-- Port Channel extension Table 398-- 399 400portChannelExtTable OBJECT-TYPE 401 SYNTAX SEQUENCE OF PortChannelExtEntry 402 MAX-ACCESS not-accessible 403 STATUS current 404 DESCRIPTION 405 "This table extends the portChannelTable to support Port 406 Channel Protocol." 407 ::= { portChannelConfig 4 } 408 409portChannelExtEntry OBJECT-TYPE 410 SYNTAX PortChannelExtEntry 411 MAX-ACCESS not-accessible 412 STATUS current 413 DESCRIPTION 414 "There is one entry in this table for each created 415 Port Channel port. It contains an entry for every 416 Port Channel that is either automatically created or 417 manually configured." 418 AUGMENTS { portChannelEntry } 419 ::= { portChannelExtTable 1 } 420 421PortChannelExtEntry ::= SEQUENCE { 422 portChannelExtChannelGrpMode PortChannelGroupMode, 423 portChannelExtAutoCreated TruthValue, 424 portChannelExtPersistent INTEGER, 425 portChannelExtOperChannelGrpMode PortChannelGroupMode 426} 427 428portChannelExtChannelGrpMode OBJECT-TYPE 429 SYNTAX PortChannelGroupMode 430 MAX-ACCESS read-write 431 STATUS current 432 DESCRIPTION 433 "The admin channel group mode of this port channel." 434 ::= { portChannelExtEntry 1 } 435 436portChannelExtAutoCreated OBJECT-TYPE 437 SYNTAX TruthValue 438 MAX-ACCESS read-only 439 STATUS current 440 DESCRIPTION 441 "Indicates of this port channel was automatically 442 created. 443 Note that this object is valid only for Fibre Channel 444 port channels." 445 ::= { portChannelExtEntry 2 } 446 447portChannelExtPersistent OBJECT-TYPE 448 SYNTAX INTEGER { 449 noOp (1), 450 enable (2) 451 } 452 MAX-ACCESS read-write 453 STATUS current 454 DESCRIPTION 455 "This object converts an auto-created port channel 456 to a persistent port channel when it is set to 'enable'. 457 458 No action is taken if this object is set to 'noOp'. 459 The value of the object when read is always 'noOp'." 460 ::= { portChannelExtEntry 3 } 461 462portChannelExtOperChannelGrpMode OBJECT-TYPE 463 SYNTAX PortChannelGroupMode 464 MAX-ACCESS read-only 465 STATUS current 466 DESCRIPTION 467 "The operational channel group mode of this port channel." 468 ::= { portChannelExtEntry 4 } 469 470 471-- Conformance 472 473 474portChannelMIBCompliances OBJECT IDENTIFIER 475 ::= { portChannelMIBConformance 1 } 476portChannelMIBGroups OBJECT IDENTIFIER 477 ::= { portChannelMIBConformance 2 } 478portChannelMIBCompliance MODULE-COMPLIANCE 479 STATUS deprecated -- superceeded by 480 -- portChannelMIBCompliance1 481 DESCRIPTION 482 "The compliance statement for entities which 483 implement the CISCO-PORT-CHANNEL-MIB mib." 484 MODULE MANDATORY-GROUPS { portChannelGroup } 485 486-- OBJECT portChannelIndex 487-- SYNTAX Unsigned32 (1..128) 488-- DESCRIPTION 489-- "It is compliant to support a maximum value for 490-- this object which is smaller than the defined 491-- maximum value." 492 493 OBJECT portChannelRowStatus 494 SYNTAX INTEGER { 495 active(1), 496 createAndGo(4), 497 destroy(6)} 498 DESCRIPTION 499 "Only three values 'createAndGo', 'destroy' and 500 'active' out of the six enumerated values need to 501 be supported." 502 503 ::= { portChannelMIBCompliances 1 } 504 505portChannelMIBCompliance1 MODULE-COMPLIANCE 506 STATUS deprecated -- superceeded by 507 -- portChannelMIBCompliance2 508 DESCRIPTION 509 "The compliance statement for entities which 510 implement the CISCO-PORT-CHANNEL-MIB mib." 511 MODULE MANDATORY-GROUPS { portChannelGroup } 512 513-- OBJECT portChannelIndex 514-- SYNTAX Unsigned32 (1..128) 515-- DESCRIPTION 516-- "It is compliant to support a maximum value for 517-- this object which is smaller than the defined 518-- maximum value." 519 520 OBJECT portChannelRowStatus 521 SYNTAX INTEGER { 522 active(1), 523 createAndGo(4), 524 destroy(6)} 525 DESCRIPTION 526 "Only three values 'createAndGo', 'destroy' and 527 'active' out of the six enumerated values need to 528 be supported." 529 530 OBJECT portChannelAdminChannelMode 531 DESCRIPTION 532 "It is compliant to support only a subset of 533 all the values defined. " 534 535 ::= { portChannelMIBCompliances 2 } 536 537portChannelMIBCompliance2 MODULE-COMPLIANCE 538 STATUS deprecated -- superceded by portChannelMIBCompliance3 539 DESCRIPTION 540 "The compliance statement for entities which 541 implement the CISCO-PORT-CHANNEL-MIB mib." 542 MODULE MANDATORY-GROUPS { portChannelGroup, 543 portChannelGroupRev1 } 544 545-- OBJECT portChannelIndex 546-- SYNTAX Unsigned32 (1..128) 547-- DESCRIPTION 548-- "It is compliant to support a maximum value for 549-- this object which is smaller than the defined 550-- maximum value." 551 552 OBJECT portChannelRowStatus 553 SYNTAX INTEGER { 554 active(1), 555 createAndGo(4), 556 destroy(6)} 557 DESCRIPTION 558 "Only three values 'createAndGo', 'destroy' and 559 'active' out of the six enumerated values need to 560 be supported." 561 562 OBJECT portChannelAdminChannelMode 563 DESCRIPTION 564 "It is compliant to support only a subset of 565 all the values defined. " 566 567 ::= { portChannelMIBCompliances 3 } 568 569portChannelMIBCompliance3 MODULE-COMPLIANCE 570 STATUS current 571 DESCRIPTION 572 "The compliance statement for entities which 573 implement the CISCO-PORT-CHANNEL-MIB mib." 574 MODULE MANDATORY-GROUPS { portChannelGroup, 575 portChannelGroupRev1 } 576 577 GROUP portChannelProtocolGroup 578 DESCRIPTION 579 "Implementation of this group is mandatory for all 580 systems that support Port Channel Protocol." 581 582-- OBJECT portChannelIndex 583-- SYNTAX Unsigned32 (1..128) 584-- DESCRIPTION 585-- "It is compliant to support a maximum value for 586-- this object which is smaller than the defined 587-- maximum value." 588 589 OBJECT portChannelRowStatus 590 SYNTAX INTEGER { 591 active(1), 592 createAndGo(4), 593 destroy(6)} 594 DESCRIPTION 595 "Only three values 'createAndGo', 'destroy' and 596 'active' out of the six enumerated values need to 597 be supported." 598 599 OBJECT portChannelAdminChannelMode 600 DESCRIPTION 601 "It is compliant to support only a subset of 602 all the values defined. " 603 604 OBJECT portChannelProtocolEnable 605 MIN-ACCESS read-only 606 DESCRIPTION 607 "Only read-only need to supported." 608 609 ::= { portChannelMIBCompliances 4 } 610 611-- Units of Conformance 612 613portChannelGroup OBJECT-GROUP 614 OBJECTS { portChannelIfIndex, portChannelAdminChannelMode, 615 portChannelOperChannelMode, portChannelAddType, 616 portChannelLastActionStatus, 617 portChannelLastActionStatusCause, 618 portChannelLastActionTime, 619 portChannelMemberList,portChannelCreationTime, 620 portChannelRowStatus } 621 STATUS current 622 DESCRIPTION 623 "A collection of objects related to Port Channel Interface 624 parameters." 625 ::= { portChannelMIBGroups 1 } 626 627portChannelGroupRev1 OBJECT-GROUP 628 OBJECTS { portChannelMemberOperStatus } 629 STATUS current 630 DESCRIPTION 631 "A collection of objects related to Port Channel Interface 632 parameters." 633 ::= { portChannelMIBGroups 2 } 634 635portChannelProtocolGroup OBJECT-GROUP 636 OBJECTS { portChannelProtocolEnable, 637 portChannelGrpIfAutoCreation, 638 portChannelExtChannelGrpMode, 639 portChannelExtAutoCreated, 640 portChannelExtPersistent, 641 portChannelExtOperChannelGrpMode 642 } 643 STATUS current 644 DESCRIPTION 645 "A collection of objects related to Port Channel Protocol 646 mamagement." 647 ::= { portChannelMIBGroups 3 } 648 649END 650