summaryrefslogtreecommitdiff
path: root/MIBS/dlink/DLINKSW-IMPB-MIB
blob: ae05476b83b89c830cf4bd8cf2a35d60f076ed5c (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
--  *****************************************************************
--  DLINKSW-IMPB-MIB.mib : IP-MAC-Port Binding MIB
-- 
--  Copyright (c) 2013 D-Link Corporation, all rights reserved.
--   
--  *****************************************************************

DLINKSW-IMPB-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    MacAddress,
    TruthValue
        FROM SNMPv2-TC
    InetAddress,
    InetAddressType
        FROM INET-ADDRESS-MIB
    ifIndex,
    InterfaceIndexOrZero
        FROM IF-MIB
    VlanId
        FROM Q-BRIDGE-MIB
    dlinkIndustrialCommon
        FROM DLINK-ID-REC-MIB;


dlinkSwImpbMIB MODULE-IDENTITY
    LAST-UPDATED    "201511060000Z"
    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
        "The MIB module defines objects for IP-MAC-Port Binding feature."
    
    REVISION        "201511060000Z"
    DESCRIPTION
        "Correct groups name:
         from 'digImpbClearViolationLogGroup' to 'dImpbClearViolationLogGroup'
         from 'digImpbNotificationsGroup' to 'dImpbNotificationsGroup'
         from 'digImpbConfigGroup' to 'dImpbConfigGroup'
        "

    REVISION        "201310160000Z"
    DESCRIPTION
        "Initial revision of this MIB module."
    ::= { dlinkIndustrialCommon 22 }


dImpbNotifications  OBJECT IDENTIFIER
    ::= { dlinkSwImpbMIB 0 }

dImpbObjects  OBJECT IDENTIFIER
    ::= { dlinkSwImpbMIB 1 }

dImpbConformance  OBJECT IDENTIFIER
    ::= { dlinkSwImpbMIB 2 }

-- -----------------------------------------------------------------------------
dImpbNotifyInfo  OBJECT IDENTIFIER    ::= { dImpbObjects 1 }

dImpbGlobalNotifyEnabled  OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION   
        "Set to 'true' to enable global SNMP notification
        for IP-MAC-Port Binding feature.  Setting the object to
        'false' will disable SNMP notifications."
    DEFVAL      { false }              
    ::= { dImpbNotifyInfo 1}

    dImpbViolationIpAddrType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
            "This object indicates the type of the violation IP address."
        ::= { dImpbNotifyInfo 2 }

    dImpbViolationIpAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION
            "This object indicates the IP address of the violation entry."
        ::= { dImpbNotifyInfo 3 }

dImpbIfConfigTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF DImpbIfConfigEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table provides the mechanism to enable or disable
        IP-MAC-Port Binding at each physical interface capable of
        this feature.

        For IPV4 network, IP-MAC-Port Binding must co-work with 
        both IPv4 source guard and Dynamic ARP inspection are enabled.
        For IPv6 network, IP-MAC-Port Binding must co-work with
        both IPv6 source guard and ND inspection.
        "
    ::= { dImpbObjects 2 }

dImpbIfConfigEntry OBJECT-TYPE
    SYNTAX          DImpbIfConfigEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A row instance contains the configuration to enable
        or disable IP-MAC-Port Binding as well as the configuration
        of the filter type at each physical interface capable
        of IP-MAC-Port Binding feature."
    INDEX           { ifIndex } 
    ::= { dImpbIfConfigTable 1 }

DImpbIfConfigEntry ::= SEQUENCE {
    dImpbIfBindMode INTEGER
}

dImpbIfBindMode OBJECT-TYPE
    SYNTAX          INTEGER  {
        disable(1),
        strict(2),
        loose(3)
    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object indicates the IP-MAC-Port Binding access control applied
        at this interface.

        'disable' indicates that IP-MAC-Port Binding feature is disabled.

        'strict' indicates performing strict-mode access control.

        'loose' indicates to perform loose-mode access control.

        For IPv6 network, IP-MAC-Port Binding must operate in strict mode,
        otherwise IPv6 source guard and ND inspection cannot be enabled."
    ::= { dImpbIfConfigEntry 1 }
 

-- ---------------------------------------------------------------------------------------------
dImpbViolationLogTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF DImpbViolationLogEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table provides the information about the violation of IP-MAC-Port Binding."
    ::= { dImpbObjects 3 }

dImpbViolationLogEntry OBJECT-TYPE
    SYNTAX          DImpbViolationLogEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A row instance contains the blocked entry of IP-MAC-Port Binding."
    INDEX           {
        ifIndex,
        dImpbViolationVlan,
        dImpbViolationMacAddress
    } 
    ::= { dImpbViolationLogTable 1 }

DImpbViolationLogEntry ::= SEQUENCE {
        dImpbViolationVlan         VlanId,
        dImpbViolationMacAddress   MacAddress,
        dImpbViolationAction       INTEGER
}

dImpbViolationVlan OBJECT-TYPE
    SYNTAX          VlanId
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the VLAN of this entry." 
    ::= { dImpbViolationLogEntry 1 }

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

dImpbViolationAction OBJECT-TYPE
    SYNTAX          INTEGER {
        clear(1),
        noOp(2)
    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to remove a specific violation entry when set
        to 'clear'.
        No action is taken if this object is set to 'noOp'.
        When read, the value 'noOp' is returned."
     ::= { dImpbViolationLogEntry 99 }

-- ---------------------------------------------------------------------------------------------
dImpbClearObjects  OBJECT IDENTIFIER    ::= { dImpbObjects 4 }

dImpbClearAllViolation OBJECT-TYPE
    SYNTAX          INTEGER {
        clear(1),
        noOp(2)
    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to clear all violations of IP-MAC-Port Binding when set
        to 'clear'.
        No action is taken if this object is set to 'noOp'.
        When read, the value 'noOp' is returned."
     ::= { dImpbClearObjects 1 }

dImpbClearViolationByIf OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object indicates the ifIndex on which all violations will be cleared.
        
        When read, the special value 0 is returned."
     ::= { dImpbClearObjects 2 }

-- Notifications
    dImpbViolationTrap NOTIFICATION-TYPE
        OBJECTS  { 
            ifIndex, 
            dImpbViolationIpAddrType, 
            dImpbViolationIpAddress, 
            dImpbViolationMacAddress,
            dImpbViolationVlan
        }
        STATUS  current
        DESCRIPTION
            "The address violation notification is generated when IP-MAC-Port Binding
            address violation is detected."
        ::= { dImpbNotifications 1 }

-- Conformance

dImpbMIBCompliances  OBJECT IDENTIFIER
    ::= { dImpbConformance 1 }

dImpbMIBGroups  OBJECT IDENTIFIER
    ::= { dImpbConformance 2 }


dImpbMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for the DLINKSW-IMPB-MIB"
    MODULE          -- this module
    MANDATORY-GROUPS {
        dImpbConfigGroup,
        dImpbNotificationsGroup
    }
          
    GROUP           dImpbClearViolationLogGroup
    DESCRIPTION
        "This group is mandatory only for platforms which support
        clearing violation of IP-MAC-Port Binding."

    ::= { dImpbMIBCompliances 1 }

-- Units of Conformance

dImpbConfigGroup OBJECT-GROUP
    OBJECTS         {
        dImpbIfBindMode
    }
    STATUS          current
    DESCRIPTION
        "A collection of objects which are used to configure
        as well as show information regarding the IP-MAC-Port Binding."
    ::= { dImpbMIBGroups 1 }

dImpbClearViolationLogGroup OBJECT-GROUP
    OBJECTS         {
        dImpbViolationAction,
        dImpbClearAllViolation,
        dImpbClearViolationByIf
    }
    STATUS          current
    DESCRIPTION
        "A collection of objects which are used to clear violation
         information."
    ::= { dImpbMIBGroups 2 }

dImpbNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS   { 
                        dImpbViolationTrap
                    }            
    STATUS          current
    DESCRIPTION
        "The collection of objects provides IP-MAC-Port Binding notifications."           
    ::= { dImpbMIBGroups 3 }

END