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