1-- ********************************************************************* 2-- CISCO-ETHERNET-FABRIC-EXTENDER-MIB.my: Fabric Extender mib 3-- 4-- February 2009, Pauline Shuen 5-- 6-- Copyright (c) 2009 by Cisco Systems, Inc. 7-- All rights reserved. 8-- 9-- ********************************************************************* 10 11CISCO-ETHERNET-FABRIC-EXTENDER-MIB DEFINITIONS ::= BEGIN 12 13IMPORTS 14 MODULE-IDENTITY, 15 OBJECT-TYPE, 16 Unsigned32 17 FROM SNMPv2-SMI 18 MODULE-COMPLIANCE, 19 OBJECT-GROUP 20 FROM SNMPv2-CONF 21 TEXTUAL-CONVENTION, 22 RowStatus, 23 TimeStamp, 24 TruthValue 25 FROM SNMPv2-TC 26 SnmpAdminString 27 FROM SNMP-FRAMEWORK-MIB 28 InterfaceIndex 29 FROM IF-MIB 30 ciscoMgmt 31 FROM CISCO-SMI; 32 33 34ciscoEthernetFabricExtenderMIB MODULE-IDENTITY 35 LAST-UPDATED "200902230000Z" 36 ORGANIZATION "Cisco Systems Inc." 37 CONTACT-INFO 38 "Cisco Systems 39 Customer Service 40 Postal: 170 W Tasman Drive 41 San Jose, CA 95134 42 USA 43 Tel: +1 800 553 -NETS 44 E-mail: cs-nexus5000@cisco.com" 45 DESCRIPTION 46 "The MIB module for configuring one or more fabric 47 extenders to connect into a core switch. Since fabric 48 extenders might not be manageable entities, this MIB is 49 assumed to be instrumented on the core switch. A fabric 50 extender may be hardwired or preconfigured with a list of 51 uplink ports. These uplink ports are used to connect to a 52 core switch. A fabric extender is assumed to be directly 53 connected to its core switch. Each physical interface on 54 the core switch is assumed to be connected to one and only 55 one fabric extender. 56 57 When an extender powers up, it runs a link local discovery 58 protocol to find core switches. The extender puts all 59 available self identification in its discovery report. 60 The core switch, depending on configuration, uses the 61 extenders identification to accept or deny an extender 62 from connecting. A fabric extender may be connected to 63 different core switches via different uplink ports. In 64 that case, each core switch's instance of the MIB may 65 refer to the same extender. 66 67 Ports on core switch used to connect to extenders 68 are known as Fabric ports. A fabric port may be a physical 69 interface or a logical interface such as an EtherChannel. 70 An extender may connect into a core switch via more than 71 one fabric port. Non fabric ports on an extender are 72 typically used to connect hosts/servers." 73 REVISION "200902230000Z" 74 DESCRIPTION 75 "Initial version of this MIB module." 76 ::= { ciscoMgmt 691 } 77 78 79ciscoEthernetFabricExtenderMIBNotifs OBJECT IDENTIFIER 80 ::= { ciscoEthernetFabricExtenderMIB 0 } 81 82ciscoEthernetFabricExtenderObjects OBJECT IDENTIFIER 83 ::= { ciscoEthernetFabricExtenderMIB 1 } 84 85ciscoEthernetFabricExtenderMIBConformance OBJECT IDENTIFIER 86 ::= { ciscoEthernetFabricExtenderMIB 2 } 87 88cefexConfig OBJECT IDENTIFIER 89 ::= { ciscoEthernetFabricExtenderObjects 1 } 90 91 92-- Textual Conventions 93 94CiscoPortPinningMode ::= TEXTUAL-CONVENTION 95 STATUS current 96 DESCRIPTION 97 "This denotes the mode of re-pinning. Re-pinning defines 98 how traffic forwarding is altered between fabric extender 99 and its core switch in case of a fabric port state change. 100 101 For fabric extenders that do not support local forwarding, 102 they do not perform normal address learning and forwarding 103 as a traditional 802.1d compliant bridge. A method named 104 'pinning' is used instead to dictate forwarding behavior. 105 That means, traffic from a specific non fabric port is always 106 forwarded to its pinned fabric port (no local forwarding). 107 108 Each non fabric port is 'pinned' to one of the fabric ports. 109 Load balancing aspects affecting pinned fabric port 110 selection is dictated by internal implementation. 111 112 If a particular fabric port fails, all the non fabric ports 113 pinned to the failed fabric port may need to be moved to 114 the remaining fabric ports, if any. 115 116 Note that traffic distribution within a fabric EtherChannel 117 does not utilize the 'pinning' method. The traditional hash 118 of MAC address, IP address and TCP/UDP port is used to 119 select fabric port within a fabric EtherChannel. 120 121 It is planned that more enumeration will be introduced in 122 subsequent updates. 123 124 static(1) - If this mode is chosen, non fabric ports 125 are not re-pinned to other fabric ports in 126 case of fabric port failure." 127 SYNTAX INTEGER { 128 static(1) 129 } 130-- Per Interface Core Switch Table 131 132cefexBindingTable OBJECT-TYPE 133 SYNTAX SEQUENCE OF CefexBindingEntry 134 MAX-ACCESS not-accessible 135 STATUS current 136 DESCRIPTION 137 "This table has the binding information of a 138 'Fabric Port' to 'Fabric Extender' on a 139 'Extender Core Switch'. Each entry in this table 140 configures one fabric port. 141 142 A core switch does not accept fabric extender 143 connections into its fabric ports unless the 144 extender matches an entry in this table. Once matched, 145 the extender is identified by the instances of the 146 cefexBindingExtenderIndex in the matching row. 147 148 The matching criteria and values to match for 149 each fabric extender are specified in a row in the 150 cefexConfigTable. Each row in the cefexConfigTable 151 is indexed by cefexBindingExtenderIndex. Each row 152 in this table has an unique cefexBindingExtenderIndex 153 value, therefore, providing the linkage between 154 the two tables. 155 156 It is expected that user first creates a row in 157 the cefexConfigTable for a specific cefexBindingExtenderIndex, 158 followed by creation of the corresponding row in 159 this table for the same cefexBindingExtenderIndex.. 160 If a row in this table is created and if there is 161 no corresponding row created in the cefexConfigTable, 162 then the agent will automatically create a row in the 163 cefexConfigTable with instance of every object in this 164 row initialized to the DEFVAL." 165 ::= { cefexConfig 1 } 166 167cefexBindingEntry OBJECT-TYPE 168 SYNTAX CefexBindingEntry 169 MAX-ACCESS not-accessible 170 STATUS current 171 DESCRIPTION 172 "There is one entry in this table for each core switch 173 Interface that can be connected to an uplink interface 174 of a fabric extender." 175 INDEX { cefexBindingInterfaceOnCoreSwitch } 176 ::= { cefexBindingTable 1 } 177 178CefexBindingEntry ::= SEQUENCE { 179 cefexBindingInterfaceOnCoreSwitch InterfaceIndex, 180 cefexBindingExtenderIndex Unsigned32, 181 cefexBindingCreationTime TimeStamp, 182 cefexBindingRowStatus RowStatus 183} 184 185cefexBindingInterfaceOnCoreSwitch OBJECT-TYPE 186 SYNTAX InterfaceIndex 187 MAX-ACCESS not-accessible 188 STATUS current 189 DESCRIPTION 190 "This object is the index that uniquely identifies an entry in 191 the cefexBindingTable. The value of this object is an IfIndex 192 to a fabric port. By creating a row in this table for 193 a particular core switch interface, the user enables that 194 core switch interface to accept a fabric extender. By default, 195 a core switch interface does not have an entry in this table 196 and consequently does not accept/respond to discovery 197 requests from fabric extenders." 198 ::= { cefexBindingEntry 1 } 199 200cefexBindingExtenderIndex OBJECT-TYPE 201 SYNTAX Unsigned32 (100..999) 202 MAX-ACCESS read-create 203 STATUS current 204 DESCRIPTION 205 "The value of cefexBindingExtenderIndex used as an 206 Index into the cefexConfigTable to select the Fabric 207 Extender configuration for this binding entry. However, 208 a value in this table does not imply that an instance with 209 this value exists in the cefexConfigTable. 210 211 If an entry corresponding to the value of this object does 212 not exist in cefexConfigTable, the system default behavior 213 (using DEFVAL values for all the configuration objects as 214 defined in cefexConfigTable) of the Fabric Extender is 215 used for this binding entry. 216 217 Since an extender may connect to a core switch via 218 multiple interfaces or fabric ports, it is important all 219 the binding entries configuring the same fabric extender 220 are configured with the same extender Index. Every 221 interface on different fabric extender connecting into 222 the same core switch is differentiated by its extender id. 223 To refer to a port on the extender, an example 224 representation may be extender/slot/port. Extender id 225 values 1-99 are reserved. For example, reserved values can 226 be used to identify the core switch and its line cards in 227 the extender/slot/port naming scheme. 228 229 cefexBindingExtenderIndex identifies further attributes 230 of a fabric extender via the cefexConfigTable. A user 231 may choose to identify a fabric extender by 232 specifying its value of cefexConfigExtendername and/or 233 other attributes." 234 ::= { cefexBindingEntry 2 } 235 236cefexBindingCreationTime OBJECT-TYPE 237 SYNTAX TimeStamp 238 MAX-ACCESS read-only 239 STATUS current 240 DESCRIPTION 241 "The timestamp of this entry's creation time." 242 ::= { cefexBindingEntry 3 } 243 244cefexBindingRowStatus OBJECT-TYPE 245 SYNTAX RowStatus 246 MAX-ACCESS read-create 247 STATUS current 248 DESCRIPTION 249 "The status of this conceptual row." 250 ::= { cefexBindingEntry 4 } 251 252 253-- Per Fabric Extender Configuration Table 254 255cefexConfigTable OBJECT-TYPE 256 SYNTAX SEQUENCE OF CefexConfigEntry 257 MAX-ACCESS not-accessible 258 STATUS current 259 DESCRIPTION 260 "This table facilitates configuration applicable 261 to an entire fabric extender." 262 ::= { cefexConfig 2 } 263 264cefexConfigEntry OBJECT-TYPE 265 SYNTAX CefexConfigEntry 266 MAX-ACCESS not-accessible 267 STATUS current 268 DESCRIPTION 269 "There is one entry in this table for each fabric 270 extender configured on the core switch." 271 INDEX { cefexBindingExtenderIndex } 272 ::= { cefexConfigTable 1 } 273 274CefexConfigEntry ::= SEQUENCE { 275 cefexConfigExtenderName SnmpAdminString, 276 cefexConfigSerialNumCheck TruthValue, 277 cefexConfigSerialNum SnmpAdminString, 278 cefexConfigPinningFailOverMode CiscoPortPinningMode, 279 cefexConfigPinningMaxLinks Unsigned32, 280 cefexConfigCreationTime TimeStamp, 281 cefexConfigRowStatus RowStatus 282} 283 284cefexConfigExtenderName OBJECT-TYPE 285 SYNTAX SnmpAdminString (SIZE (0..32)) 286 MAX-ACCESS read-create 287 STATUS current 288 DESCRIPTION 289 "This object specifies a human readable string representing 290 the name of the 'Extender'. Note that default value of 291 this object will be the string 'FEXxxxx' where xxxx is 292 value of cefexBindingExtenderIndex expressed as 4 digits. 293 For example, if cefexBindingExtenderIndex is 123, the 294 default value of this object is 'FEX0123'. This object 295 allows the user to identify the extender with an 296 appropriate name." 297 ::= { cefexConfigEntry 1 } 298 299cefexConfigSerialNumCheck OBJECT-TYPE 300 SYNTAX TruthValue 301 MAX-ACCESS read-create 302 STATUS current 303 DESCRIPTION 304 "This object specifies if the serial number check is 305 enabled for this extender or not. If the value of this 306 object is 'true', then the core switch rejects any 307 extender except for the one with serial 308 number string specified by cefexConfigSerialNum. 309 If the value of this object is 'false', then the core 310 switch accept any extender." 311 DEFVAL { false } 312 ::= { cefexConfigEntry 2 } 313 314cefexConfigSerialNum OBJECT-TYPE 315 SYNTAX SnmpAdminString (SIZE (0..32)) 316 MAX-ACCESS read-create 317 STATUS current 318 DESCRIPTION 319 "This object allows the user to identify a fabric 320 extender's Serial Number String. This object is 321 relevant if cefexBindingSerialNumCheck is true. 322 Zero is not a valid length for this object 323 if cefexBindingSerialNumCheck is true." 324 DEFVAL { "" } 325 ::= { cefexConfigEntry 3 } 326 327cefexConfigPinningFailOverMode OBJECT-TYPE 328 SYNTAX CiscoPortPinningMode 329 MAX-ACCESS read-create 330 STATUS current 331 DESCRIPTION 332 "This object allows the user to identify the 333 fabric port failure handling method when pinning 334 is used." 335 DEFVAL { static } 336 ::= { cefexConfigEntry 4 } 337 338cefexConfigPinningMaxLinks OBJECT-TYPE 339 SYNTAX Unsigned32 (1..100) 340 MAX-ACCESS read-create 341 STATUS current 342 DESCRIPTION 343 "This object allows the user to identify number of 344 fabric ports to be used in distribution of pinned 345 non fabric ports. As described above, pinning is the 346 forwarding model used for fabric extenders 347 that do not support local forwarding. Traffic 348 from a non fabric port is forwarded to one 349 fabric port. Selection of non fabric port pinning 350 to fabric ports is distributed as evenly as 351 possible across fabric ports. This object 352 allows administrator to configure number 353 of fabric ports that should be used 354 for pinning non fabric ports." 355 DEFVAL { 1 } 356 ::= { cefexConfigEntry 5 } 357 358cefexConfigCreationTime OBJECT-TYPE 359 SYNTAX TimeStamp 360 MAX-ACCESS read-only 361 STATUS current 362 DESCRIPTION 363 "The timestamp when the value of the corresponding 364 instance of 'cefexConfigRowStatus' is made active. 365 If an user modifies objects in this table, 366 the new values are immediately activated. 367 Depending on the object changed, an accepted 368 fabric extender may become not acceptable. 369 As a result, the fabric extender may be 370 disconnected from the core switch." 371 ::= { cefexConfigEntry 6 } 372 373cefexConfigRowStatus OBJECT-TYPE 374 SYNTAX RowStatus 375 MAX-ACCESS read-create 376 STATUS current 377 DESCRIPTION 378 "The status of this conceptual row. A row in this 379 table becomes active immediately upon creation." 380 ::= { cefexConfigEntry 7 } 381 382 383-- Conformance 384 385cEthernetFabricExtenderMIBCompliances OBJECT IDENTIFIER 386 ::= { ciscoEthernetFabricExtenderMIBConformance 1 } 387 388cEthernetFabricExtenderMIBGroups OBJECT IDENTIFIER 389 ::= { ciscoEthernetFabricExtenderMIBConformance 2 } 390 391 392cEthernetFabricExtenderMIBCompliance MODULE-COMPLIANCE 393 STATUS current 394 DESCRIPTION 395 "The compliance statement for entities which 396 implement the CISCO-ETHERNET-FABRIC-EXTENDER-MIB mib." 397 MODULE -- this module 398 MANDATORY-GROUPS { cefexBindingConformanceObjects } 399 400 OBJECT cefexBindingExtenderIndex 401 MIN-ACCESS read-only 402 DESCRIPTION 403 "Support for write access is not required." 404 405 OBJECT cefexBindingRowStatus 406 MIN-ACCESS read-only 407 DESCRIPTION 408 "Support for write access is not required." 409 410 OBJECT cefexConfigExtenderName 411 MIN-ACCESS read-only 412 DESCRIPTION 413 "Support for write access is not required." 414 415 OBJECT cefexConfigSerialNum 416 MIN-ACCESS read-only 417 DESCRIPTION 418 "Support for write access is not required." 419 420 OBJECT cefexConfigPinningFailOverMode 421 MIN-ACCESS read-only 422 DESCRIPTION 423 "Support for write access is not required." 424 425 OBJECT cefexConfigPinningMaxLinks 426 MIN-ACCESS read-only 427 DESCRIPTION 428 "Support for write access is not required." 429 430 OBJECT cefexConfigRowStatus 431 MIN-ACCESS read-only 432 DESCRIPTION 433 "Support for write access is not required." 434 435 OBJECT cefexConfigSerialNumCheck 436 MIN-ACCESS read-only 437 DESCRIPTION 438 "Support for write access is not required." 439 ::= { cEthernetFabricExtenderMIBCompliances 1 } 440 441-- Units of Conformance 442 443cefexBindingConformanceObjects OBJECT-GROUP 444 OBJECTS { 445 cefexBindingExtenderIndex, 446 cefexBindingCreationTime, 447 cefexBindingRowStatus, 448 cefexConfigExtenderName, 449 cefexConfigSerialNumCheck, 450 cefexConfigSerialNum, 451 cefexConfigPinningFailOverMode, 452 cefexConfigPinningMaxLinks, 453 cefexConfigCreationTime, 454 cefexConfigRowStatus 455 } 456 STATUS current 457 DESCRIPTION 458 "A collection of objects related to Fabric Extender binding 459 to core switch." 460 ::= { cEthernetFabricExtenderMIBGroups 1 } 461 462END 463 464