1HP-ICF-GPPC-MIB DEFINITIONS ::= BEGIN 2 3 IMPORTS 4 MODULE-IDENTITY, OBJECT-TYPE, Integer32 5 FROM SNMPv2-SMI 6 MODULE-COMPLIANCE, OBJECT-GROUP 7 FROM SNMPv2-CONF 8 TEXTUAL-CONVENTION, RowStatus 9 FROM SNMPv2-TC 10 SnmpAdminString 11 FROM SNMP-FRAMEWORK-MIB 12 PortList 13 FROM Q-BRIDGE-MIB 14 hpSwitch 15 FROM HP-ICF-OID; 16 17 hpicfGppcMIB MODULE-IDENTITY 18 LAST-UPDATED "200709271125Z" 19 ORGANIZATION "Hewlett Packard Company, 20 Procurve Networking Business" 21 CONTACT-INFO "Hewlett Packard Company 22 8000 Foothills Blvd. 23 Roseville, CA 95747" 24 DESCRIPTION "This MIB module is for HP proprietary 25 General Purpose Packet Control (GPPC)" 26 27 REVISION "200709271125Z" 28 DESCRIPTION "Initial revision." 29 30 ::= { hpSwitch 41 } 31 32-- *********************************************** 33-- TEXTUAL Conventions 34-- *********************************************** 35 HpicfGppcPolicyName ::= TEXTUAL-CONVENTION 36 STATUS current 37 DESCRIPTION "Type definition for the name of a policy. 38 39 A policy name is a printable string consisting 40 of up to 64 characters from the ASCII character 41 set." 42 SYNTAX OCTET STRING (SIZE(1..32)) 43 44-- *********************************************** 45-- Start of MIB Objects 46-- *********************************************** 47 hpicfGppcConformance OBJECT IDENTIFIER ::= { hpicfGppcMIB 1 } 48 49-- *********************************************** 50-- GPPC application control table 51-- *********************************************** 52 hpicfGppcAppControlTable OBJECT-TYPE 53 SYNTAX SEQUENCE OF HpicfGppcAppControlEntry 54 MAX-ACCESS not-accessible 55 STATUS current 56 DESCRIPTION "The application control table. This keeps track 57 of the applications that use GPPC, the policies 58 set by these applications, and information on 59 where/when/how to apply these policies. 60 61 This information includes the interfaces and VLANs 62 where the policy should be applied, whether it 63 should be applied at ingress or egress, and when it 64 should expire." 65 66 ::= { hpicfGppcMIB 2 } 67 68 hpicfGppcAppControlEntry OBJECT-TYPE 69 SYNTAX HpicfGppcAppControlEntry 70 MAX-ACCESS not-accessible 71 STATUS current 72 DESCRIPTION "An entry in the application control table." 73 INDEX { hpicfGppcAcAppName, 74 hpicfGppcAcAppInstance, 75 hpicfGppcAcPolicyName } 76 ::= { hpicfGppcAppControlTable 1 } 77 78 HpicfGppcAppControlEntry ::= 79 SEQUENCE { 80 hpicfGppcAcAppName SnmpAdminString, 81 hpicfGppcAcAppInstance SnmpAdminString, 82 hpicfGppcAcPolicyName HpicfGppcPolicyName, 83 hpicfGppcAcIngressIfList PortList, 84 hpicfGppcAcIngressVlanMap1k OCTET STRING, 85 hpicfGppcAcIngressVlanMap2k OCTET STRING, 86 hpicfGppcAcIngressVlanMap3k OCTET STRING, 87 hpicfGppcAcIngressVlanMap4k OCTET STRING, 88 hpicfGppcAcEgressIfList PortList, 89 hpicfGppcAcEgressVlanMap1k OCTET STRING, 90 hpicfGppcAcEgressVlanMap2k OCTET STRING, 91 hpicfGppcAcEgressVlanMap3k OCTET STRING, 92 hpicfGppcAcEgressVlanMap4k OCTET STRING, 93 hpicfGppcAcExpPolicy INTEGER, 94 hpicfGppcAcExpString OCTET STRING, 95 hpicfGppcAcLastErrorCode INTEGER, 96 hpicfGppcAcLastErrorString OCTET STRING, 97 hpicfGppcAcRowAdminStatus INTEGER, 98 hpicfGppcAcRowStatus RowStatus 99 } 100 101 hpicfGppcAcAppName OBJECT-TYPE 102 SYNTAX SnmpAdminString (SIZE(1..16)) 103 MAX-ACCESS not-accessible 104 STATUS current 105 DESCRIPTION "Name of the application that last modified this 106 row. All applications of the same type should use 107 the same name and should use different instance 108 identifiers to identify themselves uniquely. 109 110 This is a printable string up to 16 bytes in size." 111 ::= { hpicfGppcAppControlEntry 1 } 112 113 hpicfGppcAcAppInstance OBJECT-TYPE 114 SYNTAX SnmpAdminString (SIZE(1..16)) 115 MAX-ACCESS not-accessible 116 STATUS current 117 DESCRIPTION "Instance identifier of the application. This is 118 used to distinguish between different instances of 119 the same application. 120 121 This is a printable string up to 16 bytes in size." 122 ::= { hpicfGppcAppControlEntry 2 } 123 124 hpicfGppcAcPolicyName OBJECT-TYPE 125 SYNTAX HpicfGppcPolicyName 126 MAX-ACCESS not-accessible 127 STATUS current 128 DESCRIPTION "Name of the policy. Each policy is uniquely 129 identified by its name. It is possible to apply the 130 same policy in different manners to different 131 interfaces and VLANs. 132 133 This is a printable string up to 64 characters in 134 size." 135 ::= { hpicfGppcAppControlEntry 3 } 136 137 hpicfGppcAcIngressIfList OBJECT-TYPE 138 SYNTAX PortList 139 MAX-ACCESS read-create 140 STATUS current 141 DESCRIPTION "List of interfaces to which this policy applies at 142 ingress." 143 ::= { hpicfGppcAppControlEntry 4 } 144 145 hpicfGppcAcIngressVlanMap1k OBJECT-TYPE 146 SYNTAX OCTET STRING (SIZE(0..128)) 147 MAX-ACCESS read-create 148 STATUS current 149 DESCRIPTION "A string of octets containing one bit per VLAN for 150 VLANS with vlan index values of 0 through 1023. 151 The first octet corresponds to VLANs with 152 vlan index values of 0 through 7, the second 153 octet to VLANs 8 through 15, etc. The most 154 significant bit of each octet corresponds to the 155 lowest vlan index value in that octet. 156 157 For each VLAN that this policy should apply to 158 at ingress, the corresponding bit is set to '1'." 159 ::= { hpicfGppcAppControlEntry 5 } 160 161 hpicfGppcAcIngressVlanMap2k OBJECT-TYPE 162 SYNTAX OCTET STRING (SIZE(0..128)) 163 MAX-ACCESS read-create 164 STATUS current 165 DESCRIPTION "A string of octets containing one bit per VLAN for 166 VLANS with vlan index values of 1024 through 2047. 167 The first octet corresponds to VLANs with 168 vlan index values of 1024 through 1031, the second 169 octet to VLANs 1032 through 1039, etc. The most 170 significant bit of each octet corresponds to the 171 lowest vlan index value in that octet. 172 173 For each VLAN that this policy should apply to 174 at ingress, the corresponding bit is set to '1'." 175 ::= { hpicfGppcAppControlEntry 6 } 176 177 hpicfGppcAcIngressVlanMap3k OBJECT-TYPE 178 SYNTAX OCTET STRING (SIZE(0..128)) 179 MAX-ACCESS read-create 180 STATUS current 181 DESCRIPTION "A string of octets containing one bit per VLAN for 182 VLANS with vlan index values of 2048 through 3071. 183 The first octet corresponds to VLANs with 184 vlan index values of 2048 through 2055, the second 185 octet to VLANs 2056 through 2063, etc. The most 186 significant bit of each octet corresponds to the 187 lowest vlan index value in that octet. 188 189 For each VLAN that this policy should apply to 190 at ingress, the corresponding bit is set to '1'." 191 ::= { hpicfGppcAppControlEntry 7 } 192 193 hpicfGppcAcIngressVlanMap4k OBJECT-TYPE 194 SYNTAX OCTET STRING (SIZE(0..128)) 195 MAX-ACCESS read-create 196 STATUS current 197 DESCRIPTION "A string of octets containing one bit per VLAN for 198 VLANS with vlan index values of 3072 through 4095. 199 The first octet corresponds to VLANs with 200 vlan index values of 3072 through 3079, the second 201 octet to VLANs 3080 through 3087, etc. The most 202 significant bit of each octet corresponds to the 203 lowest vlan index value in that octet. 204 205 For each VLAN that this policy should apply to 206 at ingress, the corresponding bit is set to '1'." 207 ::= { hpicfGppcAppControlEntry 8 } 208 209 hpicfGppcAcEgressIfList OBJECT-TYPE 210 SYNTAX PortList 211 MAX-ACCESS read-create 212 STATUS current 213 DESCRIPTION "List of interfaces to which this policy applies at 214 egress." 215 ::= { hpicfGppcAppControlEntry 9 } 216 217 hpicfGppcAcEgressVlanMap1k OBJECT-TYPE 218 SYNTAX OCTET STRING (SIZE(0..128)) 219 MAX-ACCESS read-create 220 STATUS current 221 DESCRIPTION "A string of octets containing one bit per VLAN for 222 VLANS with vlan index values of 0 through 1023. 223 The first octet corresponds to VLANs with 224 vlan index values of 0 through 7, the second 225 octet to VLANs 8 through 15, etc. The most 226 significant bit of each octet corresponds to the 227 lowest vlan index value in that octet. 228 229 For each VLAN that this policy should apply to 230 at egress, the corresponding bit is set to '1'." 231 ::= { hpicfGppcAppControlEntry 10 } 232 233 hpicfGppcAcEgressVlanMap2k OBJECT-TYPE 234 SYNTAX OCTET STRING (SIZE(0..128)) 235 MAX-ACCESS read-create 236 STATUS current 237 DESCRIPTION "A string of octets containing one bit per VLAN for 238 VLANS with vlan index values of 1024 through 2047. 239 The first octet corresponds to VLANs with 240 vlan index values of 1024 through 1031, the second 241 octet to VLANs 1032 through 1039, etc. The most 242 significant bit of each octet corresponds to the 243 lowest vlan index value in that octet. 244 245 For each VLAN that this policy should apply to 246 at egress, the corresponding bit is set to '1'." 247 ::= { hpicfGppcAppControlEntry 11 } 248 249 hpicfGppcAcEgressVlanMap3k OBJECT-TYPE 250 SYNTAX OCTET STRING (SIZE(0..128)) 251 MAX-ACCESS read-create 252 STATUS current 253 DESCRIPTION "A string of octets containing one bit per VLAN for 254 VLANS with vlan index values of 2048 through 3071. 255 The first octet corresponds to VLANs with 256 vlan index values of 2048 through 2055, the second 257 octet to VLANs 2056 through 2063, etc. The most 258 significant bit of each octet corresponds to the 259 lowest vlan index value in that octet. 260 261 For each VLAN that this policy should apply to 262 at egress, the corresponding bit is set to '1'." 263 ::= { hpicfGppcAppControlEntry 12 } 264 265 hpicfGppcAcEgressVlanMap4k OBJECT-TYPE 266 SYNTAX OCTET STRING (SIZE(0..128)) 267 MAX-ACCESS read-create 268 STATUS current 269 DESCRIPTION "A string of octets containing one bit per VLAN for 270 VLANS with vlan index values of 3072 through 4095. 271 The first octet corresponds to VLANs with 272 vlan index values of 3072 through 3079, the second 273 octet to VLANs 3080 through 3087, etc. The most 274 significant bit of each octet corresponds to the 275 lowest vlan index value in that octet. 276 277 For each VLAN that this policy should apply to 278 at egress, the corresponding bit is set to '1'." 279 ::= { hpicfGppcAppControlEntry 13 } 280 281 hpicfGppcAcExpPolicy OBJECT-TYPE 282 SYNTAX INTEGER { permanent(1) } 283 MAX-ACCESS read-create 284 STATUS current 285 DESCRIPTION "Expiration policy. This indicates whether a policy 286 should expire automatically. 287 288 'permanent' means a policy should never expire 289 automatically." 290 ::= { hpicfGppcAppControlEntry 14 } 291 292 hpicfGppcAcExpString OBJECT-TYPE 293 SYNTAX OCTET STRING (SIZE(0..24)) 294 MAX-ACCESS read-create 295 STATUS current 296 DESCRIPTION "Expiration string. This is used in conjuntion with 297 hpicfGppcAcExpPolicy to indicate when a policy 298 should expire automatically. 299 300 The value stored in this object is interpreted 301 differently for different expiration policies. When 302 the expiration policy is 'permanent', this value is 303 ignored." 304 ::= { hpicfGppcAppControlEntry 15 } 305 306 hpicfGppcAcLastErrorCode OBJECT-TYPE 307 SYNTAX INTEGER { 308 no-error(0), 309 gppc-generic-error(1), 310 gppc-length-error(2), 311 gppc-name-error(3), 312 gppc-parameter-error(4), 313 gppc-not-implemented(5), 314 gppc-malloc-error(6), 315 gppc-too-many-apps(7), 316 gppc-too-many-policies(8), 317 gppc-already-reserved(9), 318 gppc-entry-not-found(10), 319 gppc-entry-exists(11), 320 gppc-platform-error(12), 321 gppc-app-using-policy(13), 322 gppc-invalid-policy-type(14), 323 gppc-not-reserved(15), 324 gppc-no-policy(16), 325 gppc-policy-not-active(17), 326 gppc-policy-has-rules(18), 327 gppc-rule-exists(19), 328 gppc-mac-mirror-mac-exists(30), 329 gppc-mac-mirror-dir-both-conflict(31), 330 gppc-mac-mirror-dir-src-conflict(32), 331 gppc-mac-mirror-dir-dst-conflict(33), 332 gppc-mac-mirror-invalid-session(34), 333 gppc-mac-mirror-invalid-direction(35), 334 gppc-mac-mirror-no-entry(36), 335 gppc-mac-mirror-convert-error(37), 336 gppc-mac-mirror-table-full(38), 337 gppc-cfg-generic-error(50), 338 gppc-cfg-entry-not-found(51), 339 gppc-cfg-set-error(52), 340 gppc-cfg-get-error(53), 341 gppc-cfg-no-record(54), 342 gppc-cfg-add-record-error(55), 343 gppc-cfg-invalid(56), 344 gppc-cfg-malloc-error(57) 345 } 346 MAX-ACCESS read-only 347 STATUS current 348 DESCRIPTION "Error code of the last error that occurred. A 349 non-zero value indicates that the last operation 350 performed by this instance of the application on the 351 named policy did not succeed. A detailed 352 description of the error is available in 353 hpicfGppcAcLastErrorString." 354 ::= { hpicfGppcAppControlEntry 16 } 355 356 hpicfGppcAcLastErrorString OBJECT-TYPE 357 SYNTAX OCTET STRING (SIZE(0..255)) 358 MAX-ACCESS read-only 359 STATUS current 360 DESCRIPTION "Description of the last error that occurred. This 361 is a printable ASCII string that describes the error 362 in some detail." 363 ::= { hpicfGppcAppControlEntry 17 } 364 365 hpicfGppcAcRowAdminStatus OBJECT-TYPE 366 SYNTAX INTEGER { 367 disabled(1), 368 enabled(2) 369 } 370 MAX-ACCESS read-create 371 STATUS current 372 DESCRIPTION "Administrative status of this row. The named policy 373 in this row is applied to the interfaces and/or 374 VLANs by this instance of the application only when 375 the administrative status is enabled. This is the 376 main on/off switch for the row. The row status must 377 be active for this switch to have an effect." 378 ::= { hpicfGppcAppControlEntry 18 } 379 380 hpicfGppcAcRowStatus OBJECT-TYPE 381 SYNTAX RowStatus 382 MAX-ACCESS read-create 383 STATUS current 384 DESCRIPTION "Status of this row. Row status must be active, and 385 the admin status (see hpicfGppcAcRowAdminStatus) 386 must be enabled for this row to be activated." 387 ::= { hpicfGppcAppControlEntry 19 } 388 389-- *********************************************** 390-- GPPC named policy table 391-- *********************************************** 392 hpicfGppcNamedPolicyTable OBJECT-TYPE 393 SYNTAX SEQUENCE OF HpicfGppcNamedPolicyEntry 394 MAX-ACCESS not-accessible 395 STATUS current 396 DESCRIPTION "The named policy table. This table lists the name 397 and type of all policies that are applied via GPPC." 398 ::= { hpicfGppcMIB 3 } 399 400 hpicfGppcNamedPolicyEntry OBJECT-TYPE 401 SYNTAX HpicfGppcNamedPolicyEntry 402 MAX-ACCESS not-accessible 403 STATUS current 404 DESCRIPTION "An entry in the named policy table." 405 INDEX { hpicfGppcNpPolicyName } 406 ::= { hpicfGppcNamedPolicyTable 1 } 407 408 HpicfGppcNamedPolicyEntry ::= 409 SEQUENCE { 410 hpicfGppcNpPolicyName HpicfGppcPolicyName, 411 hpicfGppcNpPolicyType INTEGER, 412 hpicfGppcNpRowStatus RowStatus 413 } 414 415 hpicfGppcNpPolicyName OBJECT-TYPE 416 SYNTAX HpicfGppcPolicyName 417 MAX-ACCESS not-accessible 418 STATUS current 419 DESCRIPTION "Name of the policy. The name of a policy is its 420 unique identification. It is a printable string 421 in ASCII characters. It can be up to 64 characters 422 in length" 423 ::= { hpicfGppcNamedPolicyEntry 1 } 424 425 hpicfGppcNpPolicyType OBJECT-TYPE 426 SYNTAX INTEGER { mac-based-mirroring(1) } 427 MAX-ACCESS read-create 428 STATUS current 429 DESCRIPTION "Type of the policy. A policy type of 430 'mac-based-mirroring' indicates that the policy is 431 used to mirror traffic based on the MAC address of 432 the source or destination." 433 ::= { hpicfGppcNamedPolicyEntry 2 } 434 435 hpicfGppcNpRowStatus OBJECT-TYPE 436 SYNTAX RowStatus 437 MAX-ACCESS read-create 438 STATUS current 439 DESCRIPTION "Status of this row. The named policy must be 440 active before rules can be added to it or removed 441 from it. A newly created policy will remain in 442 notReady state until it is given a valid policy type 443 (see hpicfGppcNpPolicyType). 444 445 A row in the named policy table can not be deleted 446 if the named policy is referenced by a row in the 447 application control table. The application 448 control entries that refer to this row must be 449 deleted before this row can be deleted." 450 ::= { hpicfGppcNamedPolicyEntry 3 } 451 452-- *********************************************** 453-- GPPC policy rules table 454-- *********************************************** 455 hpicfGppcPolicyRulesTable OBJECT-TYPE 456 SYNTAX SEQUENCE OF HpicfGppcPolicyRulesEntry 457 MAX-ACCESS not-accessible 458 STATUS current 459 DESCRIPTION "The policy rules table. A policy can consist of 460 multiple rules. All of the rules of a policy are 461 listed in this table. Each rule consists of a 462 string and a numeric identifier - the rule id." 463 ::= { hpicfGppcMIB 4 } 464 465 hpicfGppcPolicyRulesEntry OBJECT-TYPE 466 SYNTAX HpicfGppcPolicyRulesEntry 467 MAX-ACCESS not-accessible 468 STATUS current 469 DESCRIPTION "An entry in the policy rules table." 470 INDEX { hpicfGppcNpPolicyName, 471 hpicfGppcPrRuleId } 472 ::= { hpicfGppcPolicyRulesTable 1 } 473 474 HpicfGppcPolicyRulesEntry ::= 475 SEQUENCE { 476 hpicfGppcPrRuleId Integer32, 477 hpicfGppcPrPolicyRule OCTET STRING, 478 hpicfGppcPrRowStatus RowStatus 479 } 480 481 hpicfGppcPrRuleId OBJECT-TYPE 482 SYNTAX Integer32 483 MAX-ACCESS not-accessible 484 STATUS current 485 DESCRIPTION "Numeric identifier of the rule. The rules in a 486 policy are processed sequentially in increasing 487 order of their rule ids. These numeric ids are 488 generated by the application that creates the 489 policy. Rules within a policy have unique rule 490 ids." 491 ::= { hpicfGppcPolicyRulesEntry 1 } 492 493 hpicfGppcPrPolicyRule OBJECT-TYPE 494 SYNTAX OCTET STRING (SIZE(0..128)) 495 MAX-ACCESS read-create 496 STATUS current 497 DESCRIPTION "Rule string. This is a string that represents one 498 rule in the policy. A policy can consist of one or 499 many rules." 500 ::= { hpicfGppcPolicyRulesEntry 2 } 501 502 hpicfGppcPrRowStatus OBJECT-TYPE 503 SYNTAX RowStatus 504 MAX-ACCESS read-create 505 STATUS current 506 DESCRIPTION "Status of this row. A rule must have an active row 507 status in order to take effect. Only active rules 508 within the named policy are applied when an 509 application applies the policy. It is possible to 510 use this row status as an on/off switch for enabling 511 or disabling selected rules within a policy. 512 513 A newly created rule will remain in notReady state 514 until it is given a valid rule string (see 515 hpicfGppcPrPolicyRule)." 516 ::= { hpicfGppcPolicyRulesEntry 3 } 517 518-- ********************************************************************** 519-- Conformance Information 520-- ********************************************************************** 521 522 hpicfGppcMIBCompliances OBJECT IDENTIFIER ::= { hpicfGppcConformance 1 } 523 hpicfGppcMIBGroups OBJECT IDENTIFIER ::= { hpicfGppcConformance 2 } 524 525 hpicfGppcMIBCompliance MODULE-COMPLIANCE 526 STATUS current 527 DESCRIPTION "The compliance statement for HP routers 528 implementing the HP-ICF-GPPC-MIB." 529 MODULE 530 MANDATORY-GROUPS { hpicfGppcGroup } 531 GROUP hpicfGppcGroup 532 DESCRIPTION "Support for this group is required for HP routers 533 that implement GPPC." 534 ::= { hpicfGppcMIBCompliances 1 } 535 536 hpicfGppcGroup OBJECT-GROUP 537 OBJECTS { 538 hpicfGppcAcIngressIfList, 539 hpicfGppcAcIngressVlanMap1k, 540 hpicfGppcAcIngressVlanMap2k, 541 hpicfGppcAcIngressVlanMap3k, 542 hpicfGppcAcIngressVlanMap4k, 543 hpicfGppcAcEgressIfList, 544 hpicfGppcAcEgressVlanMap1k, 545 hpicfGppcAcEgressVlanMap2k, 546 hpicfGppcAcEgressVlanMap3k, 547 hpicfGppcAcEgressVlanMap4k, 548 hpicfGppcAcExpPolicy, 549 hpicfGppcAcExpString, 550 hpicfGppcAcLastErrorCode, 551 hpicfGppcAcLastErrorString, 552 hpicfGppcAcRowAdminStatus, 553 hpicfGppcAcRowStatus, 554 hpicfGppcNpPolicyType, 555 hpicfGppcNpRowStatus, 556 hpicfGppcPrPolicyRule, 557 hpicfGppcPrRowStatus 558 } 559 STATUS current 560 DESCRIPTION "A collection of HP proprietary objects to support 561 GPPC." 562 ::= { hpicfGppcMIBGroups 1 } 563END 564