summaryrefslogtreecommitdiff
path: root/MIBS/comware/HH3C-NPV-MIB
blob: b36b84470aa9348522025126e242cb35152a3163 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
-- =====================================================================
-- Copyright (c) 2004-2015 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:
--      This MIB module is for the management of N_Port Virtualization or
--      NPV within the framework of N_Port virtualization(NPV) architecture.
-- Reference:
-- Version: V1.1
-- History:
--      V1.0 Initial version created by wangxu 2013-04-02
--      V1.1 Added hh3cNPVLoadBalanceTable by liukui 2014-07-21
-- =====================================================================
HH3C-NPV-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Unsigned32                  FROM SNMPv2-SMI         -- [RFC2578]
    RowStatus, TimeStamp,
    TruthValue,
    TEXTUAL-CONVENTION          FROM SNMPv2-TC          -- [RFC2578]
    ifIndex, InterfaceIndex
        FROM IF-MIB
    Hh3cFcVsanIndex
        FROM HH3C-FC-TC-MIB
    hh3cSan, hh3cVsanIndex
        FROM HH3C-VSAN-MIB;

hh3cNpv  MODULE-IDENTITY
    LAST-UPDATED "201407210000Z"
    ORGANIZATION "New H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Tech. Co., Ltd.
         Hai-Dian District Beijing P.R. China
         http://www.h3c.com
         Zip:100085"
    DESCRIPTION
        "This MIB module is for the management of N_Port Virtualization
         or NPV within the framework of N_Port virtualization(NPV)
         architecture.

         N_Port virtualization reduces the number of Fibre Channel
         domain IDs in SANs(Storage Area Network).  Switches operating
         in the NPV mode do not join a fabric; rather, they pass traffic
         between NPV core switch links and end-devices, which eliminates
         the domain IDs for these edge switches.  NPV core switch is a
         fibre channel edge switch connected to one or more NPV devices."
    REVISION       "201407210000Z"
    DESCRIPTION
        "Added hh3cNPVLoadBalanceTable."
    REVISION "201304020000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { hh3cSan 6 }

Hh3cNpvIfIndexList ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention defines a list of 'ifIndex'.

        Each 4 octets within this value are combined together
        to represent the 'ifIndex' of a particular port in the
        module.

        For example, the first 4 octets (byte 1, byte 2, byte 3
        and byte 4) represent the 'ifIndex' of one interface, while
        the second 4 octets (byte 5, byte 6, byte 7 and byte 8)
        represent the 'ifIndex' for another interface in the module,
        and so on."
    SYNTAX          OCTET STRING (SIZE (4..65535))

hh3cNpvMibObjects             OBJECT IDENTIFIER
    ::= { hh3cNpv 1 }
hh3cNpvConfiguration          OBJECT IDENTIFIER
    ::= { hh3cNpvMibObjects 1 }
hh3cNpvGlobalObjects          OBJECT IDENTIFIER
    ::= { hh3cNpvConfiguration 1 }

-- NPV Traffic Load balance

hh3cNpvLoadbalanceVsan OBJECT-TYPE
    SYNTAX          Hh3cFcVsanIndex
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Used to trigger a load-balancing in the specified VSAN (Virtual
         Storage Area Network).

         When the hh3cNpvLoadbalanceVsan is set to a specific VSAN, a
         disruptive load-balancing process will be initiated in the VSAN
         so that all nodes in the VSAN will re-login to the core switch.

         This load-balancing process redistributes downlink traffic across
         all uplink interfaces for better load balancing, but it causes
         traffic interruption."
    ::= { hh3cNpvGlobalObjects 1 }

-- NPV Traffic Map configuration

hh3cNpvTrafficMapConfigTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Hh3cNpvTrafficMapConfigEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table containing information on the assignment of
        traffic map interfaces to an interface."
    ::= { hh3cNpvConfiguration 2 }

hh3cNpvTrafficMapConfigEntry OBJECT-TYPE
    SYNTAX          Hh3cNpvTrafficMapConfigEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the hh3cNpvTrafficMapConfigTable.

        This table contains entries for each of the interfaces
        which has been assigned a set of interfaces for traffic
        mapping in the VSAN.

        Traffic mapping is a technique used in NPV device to
        restrict the usage of external interface(s) for forwarding
        the traffic from server interface to the fibre channel fabric.

        If an interface comes up as a server interface and finds
        a corresponding entry in this table, then the switch
        software will assign a valid external interface from
        this list, if any.  Once assigned, that assigned external
        interface will be used for forwarding the traffic from
        the server interface to the fibre channel fabric.

        If an interface comes up as a server interface and
        finds an entry in this table, but with no valid list of
        external interfaces, then the switch software keeps the
        server interface in operationally down state until
        at least one of the interface in the list becomes a
        valid external interface.

        If an interface comes up as a server interface and it
        cannot find an entry in this table, then any of the
        available external interfaces can be assigned to that
        server interface.

        Entries in this table can be created or destroyed via
        hh3cNpvTrafficMapRowStatus object.  Columnar objects can be
        modified when the corresponding hh3cNpvTrafficMapRowStatus
        is 'active'."
    INDEX           { ifIndex,
                      hh3cVsanIndex }
    ::= { hh3cNpvTrafficMapConfigTable 1 }

Hh3cNpvTrafficMapConfigEntry ::= SEQUENCE {
    hh3cNpvTrafficMapExternalIfIndexList Hh3cNpvIfIndexList,
    hh3cNpvTrafficMapLastChange          TimeStamp,
    hh3cNpvTrafficMapRowStatus           RowStatus
}

hh3cNpvTrafficMapExternalIfIndexList OBJECT-TYPE
    SYNTAX          Hh3cNpvIfIndexList
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The list of external interfaces which the traffic needs
         to be mapped to.

         This object is a list of interfaces presented as
         an octet string of interface indices or ifindex-es.

         The list should contain at least one interface and at most
         all the interfaces in the switch up to 16384 interfaces.
         The 16384 interfaces max-limit is due to the size of this
         object.

         Specifying this object is mandatory for the creation of a
         row in hh3cNpvTrafficMapConfigTable."
    ::= { hh3cNpvTrafficMapConfigEntry 1 }

hh3cNpvTrafficMapLastChange OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of sysUpTime at the time of the latest
        change to this traffic map entry.

        When there has not been any change to the traffic
        map entry, the value of this field will be that
        of the entry creation time."
    ::= { hh3cNpvTrafficMapConfigEntry 2 }

hh3cNpvTrafficMapRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The status of this conceptual row.

         The row can be made 'active' only if value of corresponding
         instance of hh3cNpvTrafficMapExternalIfIndexList is provided."
    ::= { hh3cNpvTrafficMapConfigEntry 3 }

-- Per Server Interface NPV Information

hh3cNpvServerIfTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Hh3cNpvServerIfEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains, one entry for each server
        interface(FC-port configured in F-port mode) in
        this VSAN in the Fabric element.

        Each entry contains NPV related information like
        external interface assigned for the server interface
        in the VSAN."

    ::= { hh3cNpvConfiguration 3 }

hh3cNpvServerIfEntry OBJECT-TYPE
    SYNTAX          Hh3cNpvServerIfEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the hh3cNpvServerIfTable, containing NPV
        related parameters established by a server interface
        indicated by ifIndex."
    INDEX           { ifIndex,
                      hh3cVsanIndex }
    ::= { hh3cNpvServerIfTable 1 }

Hh3cNpvServerIfEntry ::= SEQUENCE {
    hh3cNpvExternalIfIndex  InterfaceIndex
}

hh3cNpvExternalIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This value of this object is the external interface assigned
        for the server interface associated with the server interface."
    ::= { hh3cNpvServerIfEntry 1 }

-- NPV Auto Load Balance Configuration

hh3cNpvLoadBalanceTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Hh3cNpvLoadBalanceEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
           "This table contains NPV load balancing parameters of each VSAN."
    ::= { hh3cNpvConfiguration 4 }

hh3cNpvLoadBalanceEntry  OBJECT-TYPE
    SYNTAX          Hh3cNpvLoadBalanceEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
           "An entry provides NPV load balancing parameters for a VSAN."
    INDEX           {
                        hh3cVsanIndex
                    }
    ::= { hh3cNpvLoadBalanceTable 1 }

Hh3cNpvLoadBalanceEntry ::= SEQUENCE {
       hh3cNpvAutoLoadBalanceEnable                 TruthValue,
       hh3cNpvAutoLoadBalanceInterval               Unsigned32
}

hh3cNpvAutoLoadBalanceEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to enable or disable NPV auto load balance
         on this VSAN to equalize server login distribution when server
         logins are not evenly distributed across uplinks."
    DEFVAL { false }
    ::= { hh3cNpvLoadBalanceEntry 1 }

hh3cNpvAutoLoadBalanceInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (1..300)
    UNITS           "seconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
           "This object is used to start an auto load balance timer
            on this VSAN when the failed uplink is up.  A NPV auto
            load balance will be triggered when the timer expires.

           If this object is not configured, the default value is 30."
    DEFVAL { 30 }
    ::= { hh3cNpvLoadBalanceEntry 2 }

END