1-- ***************************************************************** 2-- CISCO-VIRTUAL-NIC-MIB.my 3-- 4-- October 2009, Pranali Hande 5-- 6-- Copyright (c) 2009 by Cisco Systems Inc. 7-- All rights reserved. 8-- ***************************************************************** 9 10CISCO-VIRTUAL-NIC-MIB DEFINITIONS ::= BEGIN 11 12IMPORTS 13 MODULE-IDENTITY, 14 OBJECT-TYPE, 15 Unsigned32, 16 Integer32 17 FROM SNMPv2-SMI 18 OBJECT-GROUP, 19 MODULE-COMPLIANCE 20 FROM SNMPv2-CONF 21 MacAddress 22 FROM SNMPv2-TC 23 InterfaceIndex 24 FROM IF-MIB 25 SnmpAdminString 26 FROM SNMP-FRAMEWORK-MIB 27 InetAddressType, 28 InetAddress 29 FROM INET-ADDRESS-MIB 30 ciscoMgmt 31 FROM CISCO-SMI; 32 33 34ciscoVirtualNicMIB MODULE-IDENTITY 35 LAST-UPDATED "200910260000Z" 36 ORGANIZATION "Cisco Systems, Inc." 37 CONTACT-INFO 38 "Cisco Systems 39 Customer Service 40 41 Postal: 170 West Tasman Drive 42 San Jose, CA 95134 43 USA 44 45 Tel: +1 800 553-NETS 46 47 E-mail: cs-lan-switch-snmp@cisco.com" 48 DESCRIPTION 49 "This MIB module defines MIB objects which provide 50 mechanisms to manage the parameters used by or 51 related to Virtual NIC. 52 53 Virtual switch extends across one or more 54 virtualization servers which host the VM instances. 55 Each virtualization server is represented as a line 56 card module and is assigned to a unique slot in 57 the virtual chassis. 58 59 All the ports on the virtual switch which can be 60 hooked up to VM VNICs or to special hypervisor ports 61 (e.g. vmk or vswif ports) are represented as virtual 62 ethernet interfaces. 63 64 Virtual ethernet interfaces(veths) represent 65 the switching ports on the virtual switch which 66 provide networking connectivity to virtual packet 67 based interfaces such as the Virtual NIC (VNIC) 68 interfaces defined on a Virtual Machine (VM). 69 70 These interfaces are configurable and provide 71 operational information to the network administrator. 72 73 The assignment of virtual ethernet interface ports 74 to a VM does not change when the VM is migrated. 75 76 Glossary: 77 78 APC - Asymmetric Port Channel 79 80 DVS - Distributed Virtual switch 81 82 NIC - Network Interface Card 83 84 NIV - Network interface virtualization 85 86 PCI - Peripheral Component Interconnect 87 88 VEM - Virtual Ethernet Module 89 90 VNIC - Virtual Network Interface Card 91 92 VSM - Virtual Supervisor Module 93 94 VM - Virtual Machine 95 96 VMK - Virtual Machine Kernel 97 98 VMKNIC - Virtual Machine Kernel Network Interface Card 99 100 VSWIF - a virtual management port on hosts running 101 VMware ESX. 102 103 UUID - Universally Unique identifier 104 105 connectee - Entity connected to a system using veth. 106 eg: Virtual machine 107 108 System Diagram : 109 ************** 110 * VSM * 111 ************** 112 ' ' 113 ' ' 114 ' ' 115 ' ' 116 ******** ******** 117 * VEM * * VEM * 118 ******** ******** 119 ' ' ' 120 ' ' ' 121 ****** ****** ****** 122 * VM * * VM * * VM * 123 ****** ****** ******" 124 REVISION "200910260000Z" 125 DESCRIPTION 126 "Initial version of this MIB module." 127 ::= { ciscoMgmt 710 } 128 129 130ciscoVirtualNicMIBNotifs OBJECT IDENTIFIER 131 ::= { ciscoVirtualNicMIB 0 } 132 133ciscoVirtualNicMIBObjects OBJECT IDENTIFIER 134 ::= { ciscoVirtualNicMIB 1 } 135 136ciscoVirtualNicMIBConformance OBJECT IDENTIFIER 137 ::= { ciscoVirtualNicMIB 2 } 138 139cvnInterfaceObjects OBJECT IDENTIFIER 140 ::= { ciscoVirtualNicMIBObjects 1 } 141 142cvnConnecteeObjects OBJECT IDENTIFIER 143 ::= { ciscoVirtualNicMIBObjects 2 } 144 145 146cvnVethIfTable OBJECT-TYPE 147 SYNTAX SEQUENCE OF CvnVethIfEntry 148 MAX-ACCESS not-accessible 149 STATUS current 150 DESCRIPTION 151 "A list of virtual ethernet interfaces managed by VSM." 152 ::= { cvnInterfaceObjects 1 } 153 154cvnVethIfEntry OBJECT-TYPE 155 SYNTAX CvnVethIfEntry 156 MAX-ACCESS not-accessible 157 STATUS current 158 DESCRIPTION 159 "An entry containing management information 160 for a particular virtual ethernet interface. 161 162 Entries are created by the system when virtual 163 Ethernet interfaces are registered to VSM. 164 165 Entries are removed when virtual Ethernet interfaces 166 are removed from VSM." 167 INDEX { cvnVethInterface } 168 ::= { cvnVethIfTable 1 } 169 170CvnVethIfEntry ::= SEQUENCE { 171 cvnVethInterface InterfaceIndex, 172 cvnVethAdapter SnmpAdminString, 173 cvnVethOwner SnmpAdminString, 174 cvnVethHostID Unsigned32, 175 cvnVethHostAddrType InetAddressType, 176 cvnVethHostAddr InetAddress, 177 cvnVethPortProfileUsed SnmpAdminString, 178 cvnVethIfProfileAlias SnmpAdminString, 179 cvnVethIfAdditionalState INTEGER, 180 cvnVethStateReason SnmpAdminString 181} 182 183cvnVethInterface OBJECT-TYPE 184 SYNTAX InterfaceIndex 185 MAX-ACCESS not-accessible 186 STATUS current 187 DESCRIPTION 188 "The value of ifIndex for the virtual ethernet 189 interface." 190 ::= { cvnVethIfEntry 1 } 191 192cvnVethAdapter OBJECT-TYPE 193 SYNTAX SnmpAdminString 194 MAX-ACCESS read-only 195 STATUS current 196 DESCRIPTION 197 "This object indicates the network adapter used by 198 virtual ethernet interface port. 199 200 This object contains the Network Adapter ID if Virtual 201 Machine is attached to VNIC. 202 203 This object contains VMK ID if the Virtual Machine is 204 attached to VMKNIC. 205 206 This object contains value of 'vswif' if the Virtual 207 Machine is attached to VSWIF." 208 ::= { cvnVethIfEntry 2 } 209 210cvnVethOwner OBJECT-TYPE 211 SYNTAX SnmpAdminString 212 MAX-ACCESS read-only 213 STATUS current 214 DESCRIPTION 215 "The name of the Virtual Machine that owns this 216 virtual ethernet interface. 217 When a Virtual Machine attaches to one of the port in physical 218 server via this virtual ethernet interface, this VM will be 219 considered as the owner of this virtual ethernet interface. 220 221 When Virtual Machine moves from one host to another, 222 its virtual ethernet interface remains unchanged." 223 ::= { cvnVethIfEntry 3 } 224 225cvnVethHostID OBJECT-TYPE 226 SYNTAX Unsigned32 227 MAX-ACCESS read-only 228 STATUS current 229 DESCRIPTION 230 "A unique identifier, assigned by the system, 231 of the registered VEM. 232 233 A VEM is registered and host a virtual ethernet interface 234 when a Virtual Machine attaches to such VEM by using 235 virtual ethernet interface. 236 237 A unique identifier, logical module number, is assigned 238 for every VEM. 239 240 This object contains value of zero if VEM is directly 241 attached to the switch." 242 ::= { cvnVethIfEntry 4 } 243 244cvnVethHostAddrType OBJECT-TYPE 245 SYNTAX InetAddressType 246 MAX-ACCESS read-only 247 STATUS current 248 DESCRIPTION 249 "The type of Internet address of the VEM which 250 hosts the VM." 251 ::= { cvnVethIfEntry 5 } 252 253cvnVethHostAddr OBJECT-TYPE 254 SYNTAX InetAddress 255 MAX-ACCESS read-only 256 STATUS current 257 DESCRIPTION 258 "The Internet address of the VEM which hosts the VM. 259 260 The type of this address is determined by the value 261 of the cvnVethHostAddrType object. 262 263 This object also indicates the management address of 264 the VEM. Value of this object may be changed when 265 virtual ethernet interface moves from one VEM to 266 another VEM." 267 ::= { cvnVethIfEntry 6 } 268 269cvnVethPortProfileUsed OBJECT-TYPE 270 SYNTAX SnmpAdminString 271 MAX-ACCESS read-only 272 STATUS current 273 DESCRIPTION 274 "The name of port profile which has been applied to 275 the current virtual ethernet interface. 276 277 Port Profile contains a set of configuration parameters. 278 For example, switchport mode, channel group no., 279 channel group mode, security policy. 280 281 Port profile is assigned during the registration of 282 virtual ethernet interface." 283 ::= { cvnVethIfEntry 7 } 284 285cvnVethIfProfileAlias OBJECT-TYPE 286 SYNTAX SnmpAdminString 287 MAX-ACCESS read-only 288 STATUS current 289 DESCRIPTION 290 "The profile alias as seen in external virtualization 291 server for the profile used by this virtual 292 ethernet interface." 293 ::= { cvnVethIfEntry 8 } 294 295cvnVethIfAdditionalState OBJECT-TYPE 296 SYNTAX INTEGER { 297 none(1), 298 participating(2), 299 suspended(3), 300 errDisabled(4), 301 nonParticipating(5) 302 } 303 MAX-ACCESS read-only 304 STATUS current 305 DESCRIPTION 306 "This object indicates the additional state of the virtual 307 ethernet interface. 308 309 none - no additional state. 310 participating - interface is up and participating. 311 Virtual machine is currently connected 312 to system using this interface. 313 suspended - interface is down and has been suspended. 314 errDisabled - interface is down due to error disabled. 315 nonParticipating - interface is up but not participating." 316 ::= { cvnVethIfEntry 9 } 317 318cvnVethStateReason OBJECT-TYPE 319 SYNTAX SnmpAdminString 320 MAX-ACCESS read-only 321 STATUS current 322 DESCRIPTION 323 "This object indicates the reason for the additional 324 state specified in cvnVethIfAdditionalState." 325 ::= { cvnVethIfEntry 10 } 326 327 328-- ------------------------------------- 329-- Pinning information for a virtual ethernet interface 330-- ------------------------------------- 331 332cvnPinningTable OBJECT-TYPE 333 SYNTAX SEQUENCE OF CvnPinningEntry 334 MAX-ACCESS not-accessible 335 STATUS current 336 DESCRIPTION 337 "A list of virtual ethernet interfaces which supports 338 pinning functionality in VSM. 339 340 Pinning is a mechanism of directing traffic to or 341 from a interface through a particular interface 342 in a switch. 343 344 By default, system use load balancing algorithm to pick 345 the best possible physical interface automatically. 346 However, user may use pinning functionality to 347 instrument the finite control on the traffic flow 348 between virtual ethernet interfaces and actual physical 349 interfaces in VSM. 350 351 For example, user may want to configure that packets 352 from a particular virtual ethernet interface always go 353 out through first interface in the port channel 354 irrespective of load balancing policy on the switch. 355 In order to achieve this, user can pin the virtual 356 ethernet interface to first interface of the switch." 357 ::= { cvnInterfaceObjects 2 } 358 359cvnPinningEntry OBJECT-TYPE 360 SYNTAX CvnPinningEntry 361 MAX-ACCESS not-accessible 362 STATUS current 363 DESCRIPTION 364 "An entry containing pinning management information 365 for a particular virtual ethernet interface. 366 367 Entry is created by the system when a virtual 368 Ethernet interface with pinning functionality 369 is registered to VSM. 370 371 Entry is removed when a virtual Ethernet interface 372 with pinning functionality is removed from VSM." 373 INDEX { cvnVethInterface } 374 ::= { cvnPinningTable 1 } 375 376CvnPinningEntry ::= SEQUENCE { 377 cvnPinnedSubGrpId Integer32 378} 379 380cvnPinnedSubGrpId OBJECT-TYPE 381 SYNTAX Integer32 (-1..2147483647) 382 MAX-ACCESS read-write 383 STATUS current 384 DESCRIPTION 385 "This object indicates the sub-group ID to which 386 virtual ethernet interface is pinned. 387 This object returns negative vlaue (-1) if subgroup id 388 is not assigned." 389 ::= { cvnPinningEntry 1 } 390 391 392-- -------------------------------------- 393-- Connectee information of a virtual ethernet interface 394-- -------------------------------------- 395 396cvnConnecteeTable OBJECT-TYPE 397 SYNTAX SEQUENCE OF CvnConnecteeEntry 398 MAX-ACCESS not-accessible 399 STATUS current 400 DESCRIPTION 401 "A list of connectees which are currently attached to 402 virtual ethernet interfaces. 403 404 Virtual machine connects to a physical entity 405 using a virtual ethernet interface. In this scenario 406 the Virtual Machine is called connectee, physical entity 407 is called host. Whenever a Virtual Machine is connected 408 using virtual ethernet interface we have mapping between 409 physical and virtual interfaces. This object gives the 410 mapping of all virtual ehternet interfaces to their 411 corresponding physical entities." 412 ::= { cvnConnecteeObjects 1 } 413 414cvnConnecteeEntry OBJECT-TYPE 415 SYNTAX CvnConnecteeEntry 416 MAX-ACCESS not-accessible 417 STATUS current 418 DESCRIPTION 419 "An entry containing management information 420 for a particular connectee. 421 422 Entry is created when a connectee connects to VSM. 423 424 Entry is deleted when a connectee has been disconnected." 425 INDEX { cvnVethInterface } 426 ::= { cvnConnecteeTable 1 } 427 428CvnConnecteeEntry ::= SEQUENCE { 429 cvnConnecteeAttachType INTEGER, 430 cvnDVSPort Unsigned32, 431 cvnConnecteeName SnmpAdminString, 432 cvnConnecteeUuid SnmpAdminString, 433 cvnConnecteeType INTEGER, 434 cvnConnecteeMac MacAddress, 435 cvnConnecteeDeviceName SnmpAdminString, 436 cvnConnecteeDeviceType INTEGER 437} 438 439cvnConnecteeAttachType OBJECT-TYPE 440 SYNTAX INTEGER { 441 none(1), 442 vem(2), 443 niv(3) 444 } 445 MAX-ACCESS read-only 446 STATUS current 447 DESCRIPTION 448 "This object indicates how virtual ethernet 449 interface is attached to this system. 450 451 none - virtual ethernet interface is not 452 participating. 453 454 vem - Always a dynamic attachment. For this type of attachment 455 switching is done by host at software layer. 456 457 niv - A fixed or dynamic attachment. 458 For this type of attachment switching is 459 done in asics" 460 ::= { cvnConnecteeEntry 1 } 461 462cvnDVSPort OBJECT-TYPE 463 SYNTAX Unsigned32 464 MAX-ACCESS read-only 465 STATUS current 466 DESCRIPTION 467 "This object indicates the port of DVS 468 to which virtual ethernet interface is attached." 469 ::= { cvnConnecteeEntry 2 } 470 471cvnConnecteeName OBJECT-TYPE 472 SYNTAX SnmpAdminString 473 MAX-ACCESS read-only 474 STATUS current 475 DESCRIPTION 476 "This object indicates the name of the connectee 477 attached to virtual ethernet interface. For example 478 it will return name of virtual machine or host connected 479 to the system" 480 ::= { cvnConnecteeEntry 3 } 481 482cvnConnecteeUuid OBJECT-TYPE 483 SYNTAX SnmpAdminString 484 MAX-ACCESS read-only 485 STATUS current 486 DESCRIPTION 487 "This object indicates the UUID of the connectee 488 attached to this virtual ethernet interface." 489 ::= { cvnConnecteeEntry 4 } 490 491cvnConnecteeType OBJECT-TYPE 492 SYNTAX INTEGER { 493 unknown(1), 494 vmwareVm(2), 495 vmwareHost(3) 496 } 497 MAX-ACCESS read-only 498 STATUS current 499 DESCRIPTION 500 "This object indicates the type of connectee 501 attached to this virtual ethernet interface. 502 503 Connectee type can be host, Virtual Machine 504 from different vendors etc. 505 506 unknown - The type of connectee is unknown. 507 508 vmwareVm - Connectee is a Virtual Machine 509 510 vmwareHost - Connectee is a host" 511 ::= { cvnConnecteeEntry 5 } 512 513cvnConnecteeMac OBJECT-TYPE 514 SYNTAX MacAddress 515 MAX-ACCESS read-only 516 STATUS current 517 DESCRIPTION 518 "This object indicates the MAC address of 519 the connectee." 520 ::= { cvnConnecteeEntry 6 } 521 522cvnConnecteeDeviceName OBJECT-TYPE 523 SYNTAX SnmpAdminString 524 MAX-ACCESS read-only 525 STATUS current 526 DESCRIPTION 527 "This object indicates the device ID or 528 port ID of the connectee to which virtual 529 ethernet interface is attached to." 530 ::= { cvnConnecteeEntry 7 } 531 532cvnConnecteeDeviceType OBJECT-TYPE 533 SYNTAX INTEGER { 534 unknown(1), 535 pnic(2), 536 vnic(3), 537 vswif(4), 538 vmknic(5) 539 } 540 MAX-ACCESS read-only 541 STATUS current 542 DESCRIPTION 543 "This object indicates the type of connectee device 544 attached to this virtual ethernet interface. 545 Connectee Device type can be VMKNIC, VSWIF,VNIC etc. 546 547 unknown - The device type is none of followings. 548 549 pnic - Physical NIC 550 551 vnic - Virtual NIC 552 553 vswif - Virtual Switch Interface 554 555 vmknic - Virtual machine kernel NIC" 556 ::= { cvnConnecteeEntry 8 } 557 558 559-- Conformance 560 561ciscoVirtualNicMIBCompliances OBJECT IDENTIFIER 562 ::= { ciscoVirtualNicMIBConformance 1 } 563 564ciscoVirtualNicMIBGroups OBJECT IDENTIFIER 565 ::= { ciscoVirtualNicMIBConformance 2 } 566 567 568virtualNicMIBCompliance MODULE-COMPLIANCE 569 STATUS current 570 DESCRIPTION 571 "The compliance statement for entities which 572 implement the CISCO-VIRTUAL-NIC-MIB." 573 MODULE -- this module 574 MANDATORY-GROUPS { cvnVethGroup } 575 576 GROUP cvnPinningGroup 577 DESCRIPTION 578 "This group is mandatory for devices which support 579 pinning functionality." 580 581 GROUP cvnConnecteeGroup 582 DESCRIPTION 583 "This group is mandatory for devices which support 584 connectee management information." 585 586 OBJECT cvnPinnedSubGrpId 587 MIN-ACCESS read-only 588 DESCRIPTION 589 "Write access is not required." 590 ::= { ciscoVirtualNicMIBCompliances 1 } 591 592-- Units of Conformance 593 594cvnVethGroup OBJECT-GROUP 595 OBJECTS { 596 cvnVethAdapter, 597 cvnVethOwner, 598 cvnVethHostID, 599 cvnVethHostAddrType, 600 cvnVethHostAddr, 601 cvnVethPortProfileUsed, 602 cvnVethIfProfileAlias, 603 cvnVethIfAdditionalState, 604 cvnVethStateReason 605 } 606 STATUS current 607 DESCRIPTION 608 "A collection of objects providing the virtual 609 ethernet interface management information on the device." 610 ::= { ciscoVirtualNicMIBGroups 1 } 611 612cvnPinningGroup OBJECT-GROUP 613 OBJECTS { cvnPinnedSubGrpId } 614 STATUS current 615 DESCRIPTION 616 "A collection of objects providing management 617 information of pinning functionality." 618 ::= { ciscoVirtualNicMIBGroups 2 } 619 620cvnConnecteeGroup OBJECT-GROUP 621 OBJECTS { 622 cvnConnecteeAttachType, 623 cvnDVSPort, 624 cvnConnecteeName, 625 cvnConnecteeUuid, 626 cvnConnecteeType, 627 cvnConnecteeMac, 628 cvnConnecteeDeviceName, 629 cvnConnecteeDeviceType 630 } 631 STATUS current 632 DESCRIPTION 633 "A collection of objects providing management 634 information of connectee." 635 ::= { ciscoVirtualNicMIBGroups 3 } 636 637END 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654