summaryrefslogtreecommitdiff
path: root/MIBS/dlink/DLINKSW-IPV6-SRC-GUARD-MIB
blob: 1f16e82165983e387f3e4757e49f3914f61af54d (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
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
-- *****************************************************************
-- DLINKSW-IPV6-SRC-GUARD-MIB: IPv6 Source Guard MIB
--
--  Copyright (c) 2013 D-Link Corporation, all rights reserved.
--
-- *****************************************************************

DLINKSW-IPV6-SRC-GUARD-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    Unsigned32,
    OBJECT-TYPE
        FROM SNMPv2-SMI

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF

    TruthValue,
    RowStatus,
    MacAddress,
    DisplayString
        FROM SNMPv2-TC
    InetAddressIPv6
        FROM INET-ADDRESS-MIB
    ifIndex,
    InterfaceIndex
        FROM IF-MIB
    VlanId
        FROM Q-BRIDGE-MIB
    dlinkIndustrialCommon
        FROM DLINK-ID-REC-MIB;

dlinkSwIpv6SourceGuardMIB MODULE-IDENTITY
    LAST-UPDATED "201307180000Z"
    ORGANIZATION "D-Link Corp."
    CONTACT-INFO
        "        D-Link Corporation

             Postal: No. 289, Sinhu 3rd Rd., Neihu District,
                     Taipei City 114, Taiwan, R.O.C
             Tel:     +886-2-66000123
             E-mail: tsd@dlink.com.tw
        "
    DESCRIPTION
        "This MIB module defines objects for IPv6 Source Guard."
    REVISION    "201307180000Z"
    DESCRIPTION
         "This is the first version of the MIB file.
         "
    ::= { dlinkIndustrialCommon 145 }

--
-- Textual Conventions
--


-- -----------------------------------------------------------------------------
dIpv6sgNotifications     OBJECT IDENTIFIER ::= { dlinkSwIpv6SourceGuardMIB 0 }
dIpv6sgObjects           OBJECT IDENTIFIER ::= { dlinkSwIpv6SourceGuardMIB 1 }
dIpv6sgConformance       OBJECT IDENTIFIER ::= { dlinkSwIpv6SourceGuardMIB 2 }

dIpv6sgPolicy            OBJECT IDENTIFIER ::= { dIpv6sgObjects 1 }
dIpv6sgInterface         OBJECT IDENTIFIER ::= { dIpv6sgObjects 2 }
dIpv6sgBindings          OBJECT IDENTIFIER ::= { dIpv6sgObjects 3 }
-- -----------------------------------------------------------------------------
    dIpv6sgPolicyNumber  OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "Indicates the number of entries present in IPv6 source-guard policy
             table."
        ::= { dIpv6sgPolicy 1 }

    dIpv6sgPolicyTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DIpv6sgPolicyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The table contains information about IPv6 source-guard policies."
        ::= { dIpv6sgPolicy 2 }

    dIpv6sgPolicyEntry OBJECT-TYPE
        SYNTAX          DIpv6sgPolicyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry defined in dIpv6sgPolicyTable. An entry is 
            created/removed when an IPv6 source-guard policy is created/deleted."
        INDEX { dIpv6sgPolicyName }
        ::= { dIpv6sgPolicyTable 1 }

    DIpv6sgPolicyEntry ::= SEQUENCE {
        dIpv6sgPolicyName              DisplayString,
        dIpv6sgPolicyDenyAutoConfig    TruthValue,
        dIpv6sgPolicyPermitLinkLocal   TruthValue,
        dIpv6sgPolicyRowStatus         RowStatus
    }

    dIpv6sgPolicyName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..32))
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The name of the IPv6 source-guard policy."
        ::= { dIpv6sgPolicyEntry 1 }

    dIpv6sgPolicyDenyAutoConfig OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates whether deny data traffic from auto-configured global address.
            It is useful when all global addresses on a link are assigned 
            by DHCP and the administrator wants to block hosts 
            with self-configured addresses sending traffic.
            "
        DEFVAL { false }
        ::= { dIpv6sgPolicyEntry 2 }
        
    dIpv6sgPolicyPermitLinkLocal OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Indicates whether allow hardware permit data traffic sent by link-local address.
            "
        DEFVAL { false }
        ::= { dIpv6sgPolicyEntry 3 }
        
    dIpv6sgPolicyRowStatus  OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object allows the dynamic creation and deletion of a policy."
        ::= { dIpv6sgPolicyEntry 99 }

-- -----------------------------------------------------------------------------
    dIpv6sgIfConfigTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DIpv6sgIfConfigEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table provides the mechanism to configure the IPv6 source-guard
            state at every interface capable of this feature.
            "
        ::= { dIpv6sgInterface 1 }

    dIpv6sgIfConfigEntry OBJECT-TYPE
        SYNTAX          DIpv6sgIfConfigEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A row instance contains the configuration to enable or
            disable IPv6 source-guard on an interface.
            "
        INDEX { ifIndex }
        ::= { dIpv6sgIfConfigTable 1 }

    DIpv6sgIfConfigEntry ::= SEQUENCE {
        dIpv6sgIfEnabled       TruthValue
    }

    dIpv6sgIfEnabled OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "This object enables IPv6 source-guard on the interface, if set this 
            object to 'true'. 
            Setting this object to 'false' disables the IPv6 source-guard on the
            interface.
            "
        ::= { dIpv6sgIfConfigEntry 1 }

-- -----------------------------------------------------------------------------
    dIpv6sgIfAttachTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DIpv6sgIfAttachEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table provides the mechanism to attach an IPv6 source-guard policy 
            at each interface capable of this feature.
            "
        ::= { dIpv6sgInterface 2 }

    dIpv6sgIfAttachEntry OBJECT-TYPE
        SYNTAX          DIpv6sgIfAttachEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A row instance contains the configuration of attaching IPv6 source-guard 
            policy on the interface. 
            "
        INDEX { ifIndex }
        ::= { dIpv6sgIfAttachTable 1 }

    DIpv6sgIfAttachEntry ::= SEQUENCE {
        dIpv6sgIfAttachPolicy       DisplayString,
        dIpv6sgIfAttachRowStatus    RowStatus
    }

    dIpv6sgIfAttachPolicy OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (1..32))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object indicates the name of the attached IPv6 source-guard policy.
            "
        ::= { dIpv6sgIfAttachEntry 1 }

    dIpv6sgIfAttachRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The row status variable, used according to installation
            and removal conventions for conceptual rows."
        ::= { dIpv6sgIfAttachEntry 99 }

-- -----------------------------------------------------------------------------
    dIpv6sgStaticBindingsTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DIpv6sgStaticBindingsEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table provides the manual bindings information.
            e.g.
            VLAN MAC Address       IP Address Interface
            ---- ----------------- ---------- ---------
            2000 00.01.02.03.04.05 2000::1    8
            3000 00.05.06.07.08.09 3000::2    3
            4094 00.10.20.30.40.55 2134::7    5
            4094 00.10.20.30.40.55 2134::8    6
            4094 00.10.20.30.40.55 2134::9    8
            "
        ::= { dIpv6sgBindings 1 }

    dIpv6sgStaticBindingsEntry OBJECT-TYPE
        SYNTAX          DIpv6sgStaticBindingsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
           "An entry defines a manual binding.
           "
        INDEX           {
            dIpv6sgStaticBindingsVlan,
            dIpv6sgStaticBindingsMacAddress,
            dIpv6sgStaticBindingsIpAddress,
            dIpv6sgStaticBindingsInterface
        } 
        ::= { dIpv6sgStaticBindingsTable 1 }

    DIpv6sgStaticBindingsEntry ::= SEQUENCE {
        dIpv6sgStaticBindingsVlan           VlanId,
        dIpv6sgStaticBindingsMacAddress     MacAddress,
        dIpv6sgStaticBindingsIpAddress      InetAddressIPv6,
        dIpv6sgStaticBindingsInterface      InterfaceIndex,
        dIpv6sgStaticBindingsRowStatus         RowStatus
    } 

    dIpv6sgStaticBindingsVlan OBJECT-TYPE
        SYNTAX          VlanId
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the VLAN to which a host belongs." 
        ::= { dIpv6sgStaticBindingsEntry 1 }

    dIpv6sgStaticBindingsMacAddress OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the MAC address of the entry." 
        ::= { dIpv6sgStaticBindingsEntry 2 }

    dIpv6sgStaticBindingsIpAddress OBJECT-TYPE
        SYNTAX          InetAddressIPv6
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the allocated IPv6 address of the entry." 
        ::= { dIpv6sgStaticBindingsEntry 3 }

    dIpv6sgStaticBindingsInterface OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the ifIndex value of the interface
            where the host connects to." 
       ::= { dIpv6sgStaticBindingsEntry 4 }

    dIpv6sgStaticBindingsRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object is used to manage the creation and deletion
            of rows in this table.
            " 
        ::= { dIpv6sgStaticBindingsEntry 99 }

-- ----------------------------------------------------------------------------- 
    dIpv6sgBindingsTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DIpv6sgBindingsEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table provides the bindings information regarding IPv6 Snooping.
            e.g.
            Onwer IPv6 Address              MAC Address      Interface VLAN TimeLeft
            ----- ------------------------- ---------------- --------- ---- --------
            NDP   FE80::A8BB:CCFF:FE01:F500 AABB.CC01.F500   1         100  8850
            Static FE80::21D:71FF:FE99:4900 001D.7199.4900   2         100  0
            NDP   2001:600::1               AABB.CC01.F500   1         100  3181
            DHCP  2001:300::1               AABB.CC01.F500   1         100  9559
            DHCP  2001:100::2               AABB.CC01.F600   1         200  9196
            DHCP  2001:400::1               001D.7199.4900   2         100  1568
            Static 2001:500::1              000A.000B.000C   13        300  0
            "
        ::= { dIpv6sgBindings 2 }

    dIpv6sgBindingsEntry OBJECT-TYPE
        SYNTAX          DIpv6sgBindingsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
           "An entry contains information of a binding instance.
           "
        INDEX           {
            dIpv6sgBindingsOwner,
            dIpv6sgBindingsIpAddress,
            dIpv6sgBindingsMacAddress,
            dIpv6sgBindingsInterface,
            dIpv6sgBindingsVlan
        } 
        ::= { dIpv6sgBindingsTable 1 }

    DIpv6sgBindingsEntry ::= SEQUENCE {
        dIpv6sgBindingsOwner          INTEGER,
        dIpv6sgBindingsIpAddress      InetAddressIPv6,
        dIpv6sgBindingsMacAddress     MacAddress,
        dIpv6sgBindingsInterface      InterfaceIndex,
        dIpv6sgBindingsVlan           VlanId,
        dIpv6sgBindingsTimeleft       Unsigned32
    } 

    dIpv6sgBindingsOwner OBJECT-TYPE
        SYNTAX          INTEGER {
            static(1),
            ndp(2),
            dhcp(3)
        }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the IPv6 snooping owner." 
        ::= { dIpv6sgBindingsEntry 1 }

    dIpv6sgBindingsIpAddress OBJECT-TYPE
        SYNTAX          InetAddressIPv6
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the IPv6 address of the entry." 
        ::= { dIpv6sgBindingsEntry 2 }

    dIpv6sgBindingsMacAddress OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the MAC address of the entry." 
        ::= { dIpv6sgBindingsEntry 3 }

    dIpv6sgBindingsInterface OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the ifIndex value of the interface
            where a host connects to." 
       ::= { dIpv6sgBindingsEntry 4 }

    dIpv6sgBindingsVlan OBJECT-TYPE
        SYNTAX          VlanId
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the VLAN to which the host belongs." 
        ::= { dIpv6sgBindingsEntry 5 }

    dIpv6sgBindingsTimeleft OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the time left for the dynamic hosts.
            It is meaningless when dIpv6sgBindingsOwner is 'static',
            it is always be zero." 
        ::= { dIpv6sgBindingsEntry 6 }
 
-- Conformance

dIpv6sgMIBCompliances    OBJECT IDENTIFIER ::= { dIpv6sgConformance 1 }

dIpv6sgMIBGroups         OBJECT IDENTIFIER ::= { dIpv6sgConformance 2 }

dIpv6sgMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for DLINKSW-IPV6-SRC-GUARD-MIB"
    MODULE
    MANDATORY-GROUPS {
        dIpv6sgIfConfigGroup
    }

    GROUP dIpv6sgPolicyGroup
    DESCRIPTION
        "This group is mandatory only for the platform which provides the
        configuration of IPv6 source-guard policy."

    GROUP dIpv6sgIfAttachGroup
    DESCRIPTION
        "This group is mandatory only for the platform which supports
        interface-specific configuration of attaching IPv6 source-guard policy."

    GROUP dIpv6sgStaticBindingsGroup
    DESCRIPTION
        "This group is mandatory only for platforms which support
        configuring the static bindings."

    ::= { dIpv6sgMIBCompliances 1 }

-- Units of Conformance

-- IPv6 Source Guard Group

    dIpv6sgIfConfigGroup OBJECT-GROUP
        OBJECTS {
            dIpv6sgIfEnabled
        }
        STATUS current
        DESCRIPTION
            "A collection of objects which are used to configure as
            well as show information regarding the IPv6 Source Guard feature
            per interface."
        ::= { dIpv6sgMIBGroups 1 }

    dIpv6sgBindingsGroup OBJECT-GROUP
        OBJECTS         {
            dIpv6sgBindingsTimeleft
        }
        STATUS          current
        DESCRIPTION
            "A collection of objects which are used to show information
            regarding the IPv6 Snooping binding data."
       ::= { dIpv6sgMIBGroups 2 }

    dIpv6sgPolicyGroup OBJECT-GROUP
        OBJECTS {
            dIpv6sgPolicyNumber,
            dIpv6sgPolicyDenyAutoConfig,
            dIpv6sgPolicyPermitLinkLocal,
            dIpv6sgPolicyRowStatus
       }
       STATUS current
       DESCRIPTION
            "A collection of object which are used to configure as
            well as show information regarding the IPv6 source-guard policy."
       ::= { dIpv6sgMIBGroups 3 }

    dIpv6sgIfAttachGroup OBJECT-GROUP
        OBJECTS {
            dIpv6sgIfAttachPolicy,
            dIpv6sgIfAttachRowStatus
        }
        STATUS  current
        DESCRIPTION
           "A collection of object which are used to configure as
           well as show information regarding the attaching policy 
           per interface."
        ::= { dIpv6sgMIBGroups 4 }

    dIpv6sgStaticBindingsGroup OBJECT-GROUP
        OBJECTS         {
            dIpv6sgStaticBindingsRowStatus
        }
        STATUS          current
        DESCRIPTION
            "A collection of objects which are used to configure
            as well as show information regarding the static binding data
            for IPv6 Source Guard."
        ::= { dIpv6sgMIBGroups 5 }

END