1-- ***************************************************************** 2-- CISCO-IETF-VPLS-GENERIC-MIB.my 3-- 4-- November 2006, Mark Tooker 5-- 6-- Copyright (c) 2006-2009 by cisco Systems, Inc. 7-- All rights reserved. 8-- ***************************************************************** 9 10CISCO-IETF-VPLS-GENERIC-MIB DEFINITIONS ::= BEGIN 11 12IMPORTS 13 NOTIFICATION-TYPE, 14 MODULE-IDENTITY, 15 OBJECT-TYPE, 16 Unsigned32, 17 Counter32 18 FROM SNMPv2-SMI 19 MODULE-COMPLIANCE, 20 OBJECT-GROUP, 21 NOTIFICATION-GROUP 22 FROM SNMPv2-CONF 23 TruthValue, 24 RowStatus, 25 StorageType 26 FROM SNMPv2-TC 27 SnmpAdminString 28 FROM SNMP-FRAMEWORK-MIB 29 VPNIdOrZero 30 FROM VPN-TC-STD-MIB 31 CpwVcIndexType 32 FROM CISCO-IETF-PW-TC-MIB 33 ciscoExperiment 34 FROM CISCO-SMI; 35 36 37cvplsGenericMIB MODULE-IDENTITY 38 LAST-UPDATED "200710221200Z" 39 ORGANIZATION "Cisco Systems, Inc." 40 CONTACT-INFO 41 "Cisco Systems 42 Customer Service 43 44 Postal: 45 170 W Tasman Drive 46 San Jose, CA 95134 47 USA 48 49 Tel: +1 800 553-NETS 50 51 E-mail: cs-l2vpn@cisco.com" 52 DESCRIPTION 53 "This MIB module contains generic managed object definitions 54 for Virtual Private LAN Services as in [L2VPN-VPLS-LDP] and 55 [L2VPN-VPLS-BGP] 56 57 This MIB module enables the use of any underlying Pseudo Wire 58 network. 59 60 This MIB is based on the following IETF document. 61 62 http://www.ietf.org/internet-drafts/draft-ietf-l2vpn-vpls-mib-00.txt" 63 REVISION "200710221200Z" 64 DESCRIPTION 65 "Initial version of this MIB" 66 ::= { ciscoExperiment 138 } 67 68 69-- Top-level components of this MIB. 70-- 71-- Notifications 72 73cvplsNotifications OBJECT IDENTIFIER 74 ::= { cvplsGenericMIB 0 } 75 76-- Tables, Scalars 77 78cvplsObjects OBJECT IDENTIFIER 79 ::= { cvplsGenericMIB 1 } 80 81-- Conformance 82 83cvplsConformance OBJECT IDENTIFIER 84 ::= { cvplsGenericMIB 2 } 85 86 87-- PW Virtual Connection Table 88 89cvplsConfigIndexNext OBJECT-TYPE 90 SYNTAX Unsigned32 91 MAX-ACCESS read-only 92 STATUS current 93 DESCRIPTION 94 "This object contains an appropriate value to be used 95 for cvplsConfigIndex when creating entries in the 96 cvplsConfigTable. The value 0 indicates that no 97 unassigned entries are available. To obtain the 98 value of cvplsConfigIndex for a new entry in the 99 cvplsConfigTable, the manager issues a management 100 protocol retrieval operation to obtain the current 101 value of cvplsConfigIndex. After each retrieval 102 operation, the agent should modify the value to 103 reflect the next unassigned index. After a manager 104 retrieves a value the agent will determine through 105 its local policy when this index value will be made 106 available for reuse." 107 ::= { cvplsObjects 1 } 108 109cvplsConfigTable OBJECT-TYPE 110 SYNTAX SEQUENCE OF CvplsConfigEntry 111 MAX-ACCESS not-accessible 112 STATUS current 113 DESCRIPTION 114 "This table specifies information for configuring 115 and monitoring Virtual Private Lan Services(VPLS)." 116 ::= { cvplsObjects 2 } 117 118cvplsConfigEntry OBJECT-TYPE 119 SYNTAX CvplsConfigEntry 120 MAX-ACCESS not-accessible 121 STATUS current 122 DESCRIPTION 123 "A row in this table represents a Virtual Private Lan 124 Service(VPLS) in a packet network. It is indexed by 125 cvplsConfigIndex, which uniquely identifies a single VPLS. 126 127 A row is created by the operator or by the agent if a 128 VPLS service is created by non-SNMP application or 129 due to autodiscovery process. 130 131 None of the read-create objects values can be 132 changed when cvplsConfigRowStatus is in the active(1) 133 state. Changes are allowed when the cvplsConfigRowStatus 134 is in notInService(2) or notReady(3) states only. 135 If the operator needs to change one of the values 136 for an active row the cvplsConfigRowStatus should be 137 first changed to notInService(2), the objects may 138 be changed now, and later to active(1) in order to 139 re-initiate the signaling process with the new 140 values in effect." 141 INDEX { cvplsConfigIndex } 142 ::= { cvplsConfigTable 1 } 143 144CvplsConfigEntry ::= SEQUENCE { 145 cvplsConfigIndex Unsigned32, 146 cvplsConfigName SnmpAdminString, 147 cvplsConfigDescr SnmpAdminString, 148 cvplsConfigAdminStatus INTEGER, 149 cvplsConfigMacLearning TruthValue, 150 cvplsConfigDiscardUnknownDest TruthValue, 151 cvplsConfigMacAging TruthValue, 152 cvplsConfigFwdFullHighWatermark Unsigned32, 153 cvplsConfigFwdFullLowWatermark Unsigned32, 154 cvplsConfigRowStatus RowStatus, 155 cvplsConfigMtu Unsigned32, 156 cvplsConfigVpnId VPNIdOrZero, 157 cvplsConfigServiceType INTEGER, 158 cvplsConfigStorageType StorageType 159} 160 161cvplsConfigIndex OBJECT-TYPE 162 SYNTAX Unsigned32 (1..2147483647) 163 MAX-ACCESS not-accessible 164 STATUS current 165 DESCRIPTION 166 "Unique index for the conceptual row identifying 167 a VPLS service." 168 ::= { cvplsConfigEntry 1 } 169 170cvplsConfigName OBJECT-TYPE 171 SYNTAX SnmpAdminString 172 MAX-ACCESS read-create 173 STATUS current 174 DESCRIPTION 175 "A textual name of the VPLS. 176 If there is no local name, or this object is 177 otherwise not applicable, then this object MUST 178 contain a zero-length octet string." 179 DEFVAL { "" } 180 ::= { cvplsConfigEntry 2 } 181 182cvplsConfigDescr OBJECT-TYPE 183 SYNTAX SnmpAdminString 184 MAX-ACCESS read-create 185 STATUS current 186 DESCRIPTION 187 "A textual string containing information about the 188 VPLS service. If there is no information for this VPLS 189 service, then this object MUST contain a zero-length 190 octet string." 191 DEFVAL { "" } 192 ::= { cvplsConfigEntry 3 } 193 194cvplsConfigAdminStatus OBJECT-TYPE 195 SYNTAX INTEGER { 196 up(1), 197 down(2), 198 testing(3) -- in some test mode 199 } 200 MAX-ACCESS read-create 201 STATUS current 202 DESCRIPTION 203 "The desired administrative state of the VPLS 204 service. If the administrative status of the 205 Vpls service is changed to enable then this 206 service is able to utilize the pseudo wire to 207 perform the tasks of a VPLS service. 208 The testing(3) state indicates that no operational 209 packets can be passed." 210 DEFVAL { down } 211 ::= { cvplsConfigEntry 4 } 212 213cvplsConfigMacLearning OBJECT-TYPE 214 SYNTAX TruthValue 215 MAX-ACCESS read-create 216 STATUS current 217 DESCRIPTION 218 "This object specifies if MAC Learning is enabled 219 in this service. If this object is true then Mac 220 Learning is enabled. If false, then Mac Learning is 221 disabled." 222 DEFVAL { true } 223 ::= { cvplsConfigEntry 6 } 224 225cvplsConfigDiscardUnknownDest OBJECT-TYPE 226 SYNTAX TruthValue 227 MAX-ACCESS read-create 228 STATUS current 229 DESCRIPTION 230 "If the value of this object is 'true', then frames 231 received with an unknown destination MAC are discarded 232 in this VPLS. If 'false', then the packets are 233 processed." 234 DEFVAL { false } 235 ::= { cvplsConfigEntry 7 } 236 237cvplsConfigMacAging OBJECT-TYPE 238 SYNTAX TruthValue 239 MAX-ACCESS read-create 240 STATUS current 241 DESCRIPTION 242 "If the value of this object is 'true' 243 then the MAC aging process is enabled in 244 this VPLS. If 'false', then the MAC aging process 245 is disabled" 246 DEFVAL { true } 247 ::= { cvplsConfigEntry 8 } 248 249cvplsConfigFwdFullHighWatermark OBJECT-TYPE 250 SYNTAX Unsigned32 (0..100) 251 UNITS "percentage" 252 MAX-ACCESS read-create 253 STATUS current 254 DESCRIPTION 255 "This object specifies the utilization of the 256 forwarding database for this VPLS instance at 257 which the cvplsFwdFullAlarmRaised notification 258 will be sent." 259 DEFVAL { 95 } 260 ::= { cvplsConfigEntry 10 } 261 262cvplsConfigFwdFullLowWatermark OBJECT-TYPE 263 SYNTAX Unsigned32 (0..100) 264 UNITS "percentage" 265 MAX-ACCESS read-create 266 STATUS current 267 DESCRIPTION 268 "This object specifies the utilization of the 269 forwarding database for this VPLS instance 270 at which the cvplsFwdFullAlarmCleared 271 notification will be sent." 272 DEFVAL { 90 } 273 ::= { cvplsConfigEntry 11 } 274 275cvplsConfigRowStatus OBJECT-TYPE 276 SYNTAX RowStatus 277 MAX-ACCESS read-create 278 STATUS current 279 DESCRIPTION 280 "For creating, modifying, and deleting this row. 281 None of the read-create objects in the 282 conceptual rows may be changed when this 283 object is in the active(1) state." 284 ::= { cvplsConfigEntry 12 } 285 286cvplsConfigMtu OBJECT-TYPE 287 SYNTAX Unsigned32 (64..1518) 288 MAX-ACCESS read-create 289 STATUS current 290 DESCRIPTION 291 "The value of this object specifies the MTU of this 292 vpls instance." 293 DEFVAL { 1518 } 294 ::= { cvplsConfigEntry 13 } 295 296cvplsConfigVpnId OBJECT-TYPE 297 SYNTAX VPNIdOrZero 298 MAX-ACCESS read-only 299 STATUS current 300 DESCRIPTION 301 "This object indicates the IEEE 802-1990 302 VPN ID of the associated VPLS service." 303 ::= { cvplsConfigEntry 14 } 304 305cvplsConfigServiceType OBJECT-TYPE 306 SYNTAX INTEGER { 307 vlan(1), 308 ethernet(2) 309 } 310 MAX-ACCESS read-create 311 STATUS current 312 DESCRIPTION 313 "The value of this object specifies the type of 314 service emulated by this vpls instance." 315 DEFVAL { vlan } 316 ::= { cvplsConfigEntry 15 } 317 318cvplsConfigStorageType OBJECT-TYPE 319 SYNTAX StorageType 320 MAX-ACCESS read-create 321 STATUS current 322 DESCRIPTION 323 "This variable indicates the storage type for this row." 324 DEFVAL { volatile } 325 ::= { cvplsConfigEntry 16 } 326 327 328-- VPLS Status table 329 330cvplsStatusTable OBJECT-TYPE 331 SYNTAX SEQUENCE OF CvplsStatusEntry 332 MAX-ACCESS not-accessible 333 STATUS current 334 DESCRIPTION 335 "This table provides information for monitoring 336 Virtual Private Lan Services(VPLS)." 337 ::= { cvplsObjects 3 } 338 339cvplsStatusEntry OBJECT-TYPE 340 SYNTAX CvplsStatusEntry 341 MAX-ACCESS not-accessible 342 STATUS current 343 DESCRIPTION 344 "A row in this table represents a Virtual Private Lan 345 Service(VPLS) in a packet network. It is indexed by 346 cvplsConfigIndex, which uniquely identifies a single VPLS. 347 A row in this table is automatically created by the agent 348 when a VPLS service is configured." 349 INDEX { cvplsConfigIndex } 350 ::= { cvplsStatusTable 1 } 351 352CvplsStatusEntry ::= SEQUENCE { 353 cvplsStatusOperStatus INTEGER, 354 cvplsStatusPeerCount Counter32 355} 356 357cvplsStatusOperStatus OBJECT-TYPE 358 SYNTAX INTEGER { 359 other(0), 360 up(1), 361 down(2) 362 } 363 MAX-ACCESS read-only 364 STATUS current 365 DESCRIPTION 366 "The current operational state of this VPLS Service." 367 ::= { cvplsStatusEntry 1 } 368 369cvplsStatusPeerCount OBJECT-TYPE 370 SYNTAX Counter32 371 MAX-ACCESS read-only 372 STATUS current 373 DESCRIPTION 374 "This object specifies the number of peers 375 present in this vpls instance." 376 ::= { cvplsStatusEntry 2 } 377 378 379-- VPLS PW Binding Table 380 381cvplsPwBindTable OBJECT-TYPE 382 SYNTAX SEQUENCE OF CvplsPwBindEntry 383 MAX-ACCESS not-accessible 384 STATUS current 385 DESCRIPTION 386 "This table provides an association between a 387 VPLS service and the corresponding Pseudo 388 Wires. A service can have more than one Pseudo 389 Wire association. Pseudo Wires are defined in 390 the pwTable" 391 ::= { cvplsObjects 4 } 392 393cvplsPwBindEntry OBJECT-TYPE 394 SYNTAX CvplsPwBindEntry 395 MAX-ACCESS not-accessible 396 STATUS current 397 DESCRIPTION 398 "Each row represents an association between a 399 VPLS instance and one or more Pseudo Wires 400 defined in the pwTable. Each index is unique 401 in describing an entry in this table. However 402 both indexes are required to define the one 403 to many association of service to 404 pseudowire." 405 INDEX { 406 cvplsConfigIndex, 407 cvplsPwBindIndex 408 } 409 ::= { cvplsPwBindTable 1 } 410 411CvplsPwBindEntry ::= SEQUENCE { 412 cvplsPwBindIndex CpwVcIndexType, 413 cvplsPwBindConfigType INTEGER, 414 cvplsPwBindType INTEGER, 415 cvplsPwBindRowStatus RowStatus, 416 cvplsPwBindStorageType StorageType 417} 418 419cvplsPwBindIndex OBJECT-TYPE 420 SYNTAX CpwVcIndexType 421 MAX-ACCESS not-accessible 422 STATUS current 423 DESCRIPTION 424 "Secondary Index for the conceptual row identifying 425 a pseudowire within the PwEntry which MUST 426 match an entry from the PW-STD-MIB's PwTable 427 which represents an already-provisioned 428 pseudowire that is then associated with this 429 VPLS instance." 430 ::= { cvplsPwBindEntry 1 } 431 432cvplsPwBindConfigType OBJECT-TYPE 433 SYNTAX INTEGER { 434 manual(1), 435 autodiscovery(2) 436 } 437 MAX-ACCESS read-create 438 STATUS current 439 DESCRIPTION 440 "The value of this object indicates 441 whether the Pseudo Wire binding was created 442 manually or via autodiscovery. 443 444 The value of this object must be 445 specified when the row is created and cannot 446 be changed while the row status is active(1)" 447 ::= { cvplsPwBindEntry 2 } 448 449cvplsPwBindType OBJECT-TYPE 450 SYNTAX INTEGER { 451 mesh(1), 452 spoke(2) 453 } 454 MAX-ACCESS read-create 455 STATUS current 456 DESCRIPTION 457 "The value of this object indicates 458 whether the Pseudo Wire binding is of 459 type mesh or spoke. 460 461 The value of this object must be 462 specified when the row is created and cannot 463 be changed while the row status is active(1)" 464 ::= { cvplsPwBindEntry 3 } 465 466cvplsPwBindRowStatus OBJECT-TYPE 467 SYNTAX RowStatus 468 MAX-ACCESS read-create 469 STATUS current 470 DESCRIPTION 471 "For creating, modifying, and deleting this row. 472 None of the read-create objects in the 473 conceptual rows may be changed when this 474 object is in the active(1) state" 475 ::= { cvplsPwBindEntry 4 } 476 477cvplsPwBindStorageType OBJECT-TYPE 478 SYNTAX StorageType 479 MAX-ACCESS read-create 480 STATUS current 481 DESCRIPTION 482 "This variable indicates the storage type for this row." 483 DEFVAL { volatile } 484 ::= { cvplsPwBindEntry 5 } 485 486 487 488cvplsStatusNotifEnable OBJECT-TYPE 489 SYNTAX TruthValue 490 MAX-ACCESS read-write 491 STATUS current 492 DESCRIPTION 493 "If this object is set to true(1), then it enables 494 the emission of cvplsStatusChanged 495 notification; otherwise this notification is not 496 emitted." 497 REFERENCE 498 "See also [RFC3413] for explanation that 499 notifications are under the ultimate control of the 500 MIB module in this document." 501 DEFVAL { false } 502 ::= { cvplsObjects 5 } 503 504cvplsNotificationMaxRate OBJECT-TYPE 505 SYNTAX Unsigned32 506 MAX-ACCESS read-write 507 STATUS current 508 DESCRIPTION 509 "This object indicates the maximum number of 510 notifications issued per second. If events occur 511 more rapidly, the implementation may simply fail to 512 emit these notifications during that period, or may 513 queue them until an appropriate time. A value of 0 514 means no throttling is applied and events may be 515 notified at the rate at which they occur." 516 DEFVAL { 0 } 517 ::= { cvplsObjects 6 } 518 519-- VPLS Service Notifications 520 521cvplsStatusChanged NOTIFICATION-TYPE 522 OBJECTS { 523 cvplsConfigVpnId, 524 cvplsConfigAdminStatus, 525 cvplsStatusOperStatus 526 } 527 STATUS current 528 DESCRIPTION 529 "The cvplsStatusChanged notification is generated 530 when there is a change in the administrative or 531 operating status of a VPLS service." 532 ::= { cvplsNotifications 1 } 533 534cvplsFwdFullAlarmRaised NOTIFICATION-TYPE 535 OBJECTS { 536 cvplsConfigVpnId, 537 cvplsConfigFwdFullHighWatermark, 538 cvplsConfigFwdFullLowWatermark 539 } 540 STATUS current 541 DESCRIPTION 542 "The cvplsFwdFullAlarmRaised notification is 543 generated when the utilization of the Forwarding 544 database is above the value specified by 545 cvplsConfigFwdFullHighWatermark." 546 ::= { cvplsNotifications 2 } 547 548cvplsFwdFullAlarmCleared NOTIFICATION-TYPE 549 OBJECTS { 550 cvplsConfigVpnId, 551 cvplsConfigFwdFullHighWatermark, 552 cvplsConfigFwdFullLowWatermark 553 } 554 STATUS current 555 DESCRIPTION 556 "The cvplsFwdFullAlarmCleared notification is 557 generated when the utilization of the Forwarding 558 database is below the value specified by 559 cvplsConfigFwdFullLowWatermark." 560 ::= { cvplsNotifications 3 } 561-- Compliance requirement for read-only implementations. 562 563cvplsCompliances OBJECT IDENTIFIER 564 ::= { cvplsConformance 1 } 565 566 567cvplsModuleFullCompliance MODULE-COMPLIANCE 568 STATUS current 569 DESCRIPTION 570 "Compliance requirement for implementations that 571 provide full support for CISCO-IETF-VPLS-GENERIC-MIB. 572 Such devices can then be monitored and configured using 573 this MIB module." 574 MODULE -- this module 575 MANDATORY-GROUPS { 576 cvplsGroup, 577 cvplsPwBindGroup, 578 cvplsNotificationGroup 579 } 580 ::= { cvplsCompliances 1 } 581 582cvplsModuleReadOnlyCompliance MODULE-COMPLIANCE 583 STATUS current 584 DESCRIPTION 585 "Compliance requirement for implementations that only 586 provide read-only support for CISCO-IETF-VPLS-GENERIC-MIB. 587 Such devices can then be monitored but cannot be 588 configured using this MIB modules." 589 MODULE -- this module 590 MANDATORY-GROUPS { 591 cvplsGroup, 592 cvplsPwBindGroup, 593 cvplsNotificationGroup 594 } 595 596 OBJECT cvplsConfigName 597 MIN-ACCESS read-only 598 DESCRIPTION 599 "Write access is not required." 600 601 OBJECT cvplsConfigDescr 602 MIN-ACCESS read-only 603 DESCRIPTION 604 "Write access is not required." 605 606 OBJECT cvplsConfigAdminStatus 607 MIN-ACCESS read-only 608 DESCRIPTION 609 "Write access is not required." 610 611 OBJECT cvplsConfigMacLearning 612 MIN-ACCESS read-only 613 DESCRIPTION 614 "Write access is not required." 615 616 OBJECT cvplsConfigDiscardUnknownDest 617 MIN-ACCESS read-only 618 DESCRIPTION 619 "Write access is not required." 620 621 OBJECT cvplsConfigMacAging 622 MIN-ACCESS read-only 623 DESCRIPTION 624 "Write access is not required." 625 626 OBJECT cvplsConfigFwdFullHighWatermark 627 MIN-ACCESS read-only 628 DESCRIPTION 629 "Write access is not required." 630 631 OBJECT cvplsConfigFwdFullLowWatermark 632 MIN-ACCESS read-only 633 DESCRIPTION 634 "Write access is not required." 635 636 OBJECT cvplsConfigRowStatus 637 MIN-ACCESS read-only 638 DESCRIPTION 639 "Write access is not required." 640 641 OBJECT cvplsConfigMtu 642 MIN-ACCESS read-only 643 DESCRIPTION 644 "Write access is not required." 645 646 OBJECT cvplsConfigServiceType 647 MIN-ACCESS read-only 648 DESCRIPTION 649 "Write access is not required." 650 651 OBJECT cvplsPwBindConfigType 652 MIN-ACCESS read-only 653 DESCRIPTION 654 "Write access is not required." 655 656 OBJECT cvplsPwBindType 657 MIN-ACCESS read-only 658 DESCRIPTION 659 "Write access is not required." 660 661 OBJECT cvplsPwBindRowStatus 662 MIN-ACCESS read-only 663 DESCRIPTION 664 "Write access is not required." 665 ::= { cvplsCompliances 2 } 666-- Units of conformance. 667 668cvplsGroups OBJECT IDENTIFIER 669 ::= { cvplsConformance 2 } 670 671 672cvplsGroup OBJECT-GROUP 673 OBJECTS { 674 cvplsConfigName, 675 cvplsConfigDescr, 676 cvplsConfigAdminStatus, 677 cvplsConfigMacLearning, 678 cvplsConfigDiscardUnknownDest, 679 cvplsConfigMacAging, 680 cvplsConfigVpnId, 681 cvplsConfigFwdFullHighWatermark, 682 cvplsConfigFwdFullLowWatermark, 683 cvplsConfigRowStatus, 684 cvplsConfigIndexNext, 685 cvplsConfigMtu, 686 cvplsConfigServiceType, 687 cvplsConfigStorageType, 688 cvplsStatusOperStatus, 689 cvplsStatusPeerCount, 690 cvplsStatusNotifEnable, 691 cvplsNotificationMaxRate 692 } 693 STATUS current 694 DESCRIPTION 695 "The group of objects supporting 696 management of L2VPN VPLS services" 697 ::= { cvplsGroups 1 } 698 699cvplsPwBindGroup OBJECT-GROUP 700 OBJECTS { 701 cvplsPwBindConfigType, 702 cvplsPwBindType, 703 cvplsPwBindRowStatus, 704 cvplsPwBindStorageType 705 } 706 STATUS current 707 DESCRIPTION 708 "The group of objects supporting 709 management of 710 Pseudo Wire (PW) Binding to VPLS." 711 ::= { cvplsGroups 2 } 712 713cvplsNotificationGroup NOTIFICATION-GROUP 714 NOTIFICATIONS { 715 cvplsStatusChanged, 716 cvplsFwdFullAlarmRaised, 717 cvplsFwdFullAlarmCleared 718 } 719 STATUS current 720 DESCRIPTION 721 "The group of notifications supporting 722 the Notifications generated for 723 VPLS Services" 724 ::= { cvplsGroups 3 } 725 726END 727