summaryrefslogtreecommitdiff
path: root/MIBS/cisco/CISCO-IETF-PW-ENET-MIB
blob: 88bec570d73c2e793529d39f49f41a8fd4e5842f (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
504
505
506
507
508
509
510
-- *****************************************************************
-- CISCO-IETF-PW-ENET-MIB.my
--
-- February 2003, Tim Swanson
--
-- Copyright (c) 2003, 2006 by cisco Systems, Inc.
-- All rights reserved.
--
-- Made Cisco Proprietary based on IETF draft:
-- draft-ietf-pwe3-enet-mib-00.txt
-- *****************************************************************
--

CISCO-IETF-PW-ENET-MIB DEFINITIONS ::= BEGIN

  IMPORTS 
      OBJECT-TYPE, MODULE-IDENTITY, experimental,  
      Counter64 
          FROM SNMPv2-SMI 

      MODULE-COMPLIANCE, OBJECT-GROUP 
          FROM SNMPv2-CONF 

      StorageType, RowStatus 
          FROM SNMPv2-TC 

      InterfaceIndexOrZero 
          FROM IF-MIB 

      cpwVcIndex 
          FROM CISCO-IETF-PW-MIB 

      CpwVcVlanCfg 
          FROM CISCO-IETF-PW-TC-MIB

      ciscoExperiment
          FROM CISCO-SMI
      ; 

  cpwVcEnetMIB MODULE-IDENTITY 
      LAST-UPDATED "200209221200Z" -- 22 September 2002 12:00:00 GMT 
      ORGANIZATION "IETF PWE3 Working group"  
      CONTACT-INFO 
           "David Zelig 
            Postal: Corrigent Systems 
            126, Yigal Alon St. 
            Tel-Aviv, ISRAEL 
            Tel: +972-3-6945273 
            E-mail: davidz@corrigent.com 

           Thomas D. Nadeau 
           Postal: Cisco Systems, Inc. 
           250 Apollo Drive 
           Chelmsford, MA 01824 
           Tel:    +1-978-497-3051 
           Email:  tnadeau@cisco.com 
          " 
      DESCRIPTION  
          "This MIB describes a model for managing Ethernet  
          point-to-point pseudo wire services over a Packet  
          Switched Network (PSN)." 

     -- Revision history. 

     REVISION  
        "200209221200Z" -- 22 September 2002 12:00:00 GMT 
     DESCRIPTION 
       " Submited as draft-pwe3-enet-mib-00. 
          Changes from previous version: 
          1) Alignment with draft-pwe3-ethernet-encap-00.txt: 
             removing 'rangeVLAN' mode and the associated objects. 
          2) Relaxing requirement on value of pwVcEnetPortVlan in 
             port mode. 
        " 

     REVISION 
         "200208201200Z" -- 20 August 2002 12:00:00 GMT 
     DESCRIPTION 
         "Changes from previous version: 
          1) Add pwVcEnetVcIfIndex - Option for VC as ifIndex. 
          2) Change counters to 64 bits. 
          3) Add mode for adding/removing VLAN fields between PW and 
             CE bound interface. 
          4) Referencing draft-martini instead of draft-so. 
          5) Editorial changes for some description clauses. 
          6) MPLS PRI mapping table to be independent (not augmented). 
          7) Adapt descriptions and rules of use to  
             dratf-ietf-pwe3-Ethernet-encap-00. 
          "  
     REVISION 
         "200202031200Z"  -- 03 February 2002 12:00:00 GMT 
     DESCRIPTION 
         "initial revision as -00 draft"  

      ::= { ciscoExperiment 108 } 

  cpwVcEnetNotifications  OBJECT IDENTIFIER ::= { cpwVcEnetMIB 0 } 
  cpwVcEnetObjects        OBJECT IDENTIFIER ::= { cpwVcEnetMIB 1 } 
  cpwVcEnetConformance    OBJECT IDENTIFIER ::= { cpwVcEnetMIB 2 } 

  -- 
  -- VC Ethernet table 
  -- 

  cpwVcEnetTable  OBJECT-TYPE 
      SYNTAX SEQUENCE OF CpwVcEnetEntry 
      MAX-ACCESS  not-accessible 
      STATUS     current 
      DESCRIPTION  
          "This table contains the index to the Ethernet tables  
          associated with this ETH VC, the VLAN configuration and  
          VLAN mode." 
      ::= { cpwVcEnetObjects 1 } 

  cpwVcEnetEntry  OBJECT-TYPE 
      SYNTAX     CpwVcEnetEntry 
      MAX-ACCESS  not-accessible 
      STATUS     current 
      DESCRIPTION  
          "This table is indexed by the same index that was created  
          for the associated entry in the PW VC Table in the 
          CISCO-IETF-PW-MIB.  The CpwVcIndex and the cpwVcEnetPwVlan 
          are used as indexes to allow multiple VLANs to exist on 
          the same PW. 

          An entry is created in this table by the agent for every  
          entry in the cpwVc table with a VcType of 'ethernetVLAN', 
          'ethernet' or 'ethernetVPLS'. Additional rows may be  
          created by the operator or the agent if multiple entries 
          are required for the same VC. 

          This table provides Ethernet port mapping and VLAN  
          configuration for each Ethernet VC." 

      INDEX { cpwVcIndex, cpwVcEnetPwVlan } 
      ::= { cpwVcEnetTable 1 } 

  CpwVcEnetEntry ::= SEQUENCE { 
         cpwVcEnetPwVlan        CpwVcVlanCfg, 
         cpwVcEnetVlanMode      INTEGER, 
         cpwVcEnetPortVlan      CpwVcVlanCfg, 

         cpwVcEnetPortIfIndex   InterfaceIndexOrZero, 
         cpwVcEnetVcIfIndex     InterfaceIndexOrZero, 

         cpwVcEnetRowStatus     RowStatus, 
         cpwVcEnetStorageType   StorageType 
                    } 

  cpwVcEnetPwVlan  OBJECT-TYPE 
      SYNTAX      CpwVcVlanCfg 
      MAX-ACCESS  not-accessible 
      STATUS      current 
      DESCRIPTION  
          "This Object defines the VLAN on the VC. The value of 4097 
          is used if the object is not applicable, for example when 
          mapping all packets from an Ethernet port to this VC. 
          The value of 4096 is used to indicate untagged frames (at  
          least from the PW point of view), for example if  
          cpwVcEnetVlanMode is equal 'removeVLAN' or when  
          cpwVcEnetVlanMode equal 'noChange' and cpwVcEnetPortVlan 
          is equal 4096." 
      ::= { cpwVcEnetEntry 1 } 

  cpwVcEnetVlanMode  OBJECT-TYPE 
      SYNTAX     INTEGER { 
              other(0), 
              portBased(1), 
              noChange(2), 
              changeVlan(3), 
              addVlan(4), 
              removeVlan(5) 
      } 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "Indicate the mode of VLAN handling between the port  
          associated to the VC and the VC encapsulation itself. 

          - 'other' indicate operation that is not defined by 
            this MIB. 

          - 'portBased' indicates that the forwarder will forward 
            packets between the port and the PW independent of their 
            structure. 

          - 'noChange' indicates that the VC contains the original 
             user VLAN, as specified in cpwVcEnetPortVlan. 

          - 'changeVlan' indicates that the VLAN field on the VC  
            may be different than the VLAN field on the user's  
            port. 

          - 'removeVlan' indicates that the encapsulation on the  
            VC does not include the original VLAN field. Note  
            that PRI bits transparency is lost in this case. 

          - 'addVlan' indicate that a VLAN field will be added 
            on the PSN bound direction. cpwVcEnetPwVlan indicate 
            the value that will be added.  

          - 'removeVlan', 'addVlan' and 'changeVlan' implementation 
            is not required. 
          " 
      DEFVAL { noChange } 
      ::= { cpwVcEnetEntry 2 } 

  cpwVcEnetPortVlan  OBJECT-TYPE 
      SYNTAX     CpwVcVlanCfg 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "This object define the VLAN value on the physical port (or  
          VPLS virtual port) if a change is required to the VLAN value 
          between the VC and the physical/virtual port. 

          The value of this object can be ignored if the whole traffic  
          from the port is forwarded to one VC independent of the  
          tagging on the port, but it is RECOMENDED that the value in 
          this case will be '4097' indicating not relevant. 

          It MUST be equal to cpwVcEnetPwVlan if 'noChange' mode 
          is used. 

          The value 4096 indicate that no VLAN (i.e. untagged  
          frames) on the port are associated to this VC. This  
          allows the same behaviors as assigning 'Default VLAN'  
          to un-tagged frames. 
          " 
      DEFVAL  { 4097 } 
      ::= { cpwVcEnetEntry 3 } 

  cpwVcEnetVcIfIndex  OBJECT-TYPE 
      SYNTAX     InterfaceIndexOrZero 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "It is sometimes convenient to model the VC PW as a  
           virtual interface in the ifTable. In these cases this  
           object hold the value of the ifIndex in the ifTable  
           representing this VC PW. A value of zero indicate no such  
           association or association is not yet known." 

      ::= { cpwVcEnetEntry 4 } 

  cpwVcEnetPortIfIndex  OBJECT-TYPE 
      SYNTAX     InterfaceIndexOrZero 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
      "This object is used to specify the ifIndex of the ETHERNET 
       port associated with this VC for point-to-point Ethernet  
       service, or the ifIndex of the virtual interface of the VPLS  
       instance associated with the PW if the service is VPLS. Two  
       rows in this table can point to the same ifIndex only if: 

       1) It is required to support multiple COS on a MPLS PSN  
          for the same service (i.e.: a combination of ports and  
          VLANs) by the use of multiple VC, each with a different 
          COS. 

       2) There is no overlap of VLAN values specified in  
          cpwVcEnetPortVlan that are associated with this port. 

       A value of zero indicate that association to an ifIndex is 
       not yet known." 

  ::= { cpwVcEnetEntry 5 } 

  cpwVcEnetRowStatus  OBJECT-TYPE 
      SYNTAX     RowStatus 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "Enable creating, deleting and modifying this row." 
  -- TBD: Need to specify exact interaction with other tables, and  
  -- when rows can/cannot be created/deleted/modified. 
      ::= { cpwVcEnetEntry 6 } 

  cpwVcEnetStorageType  OBJECT-TYPE 
      SYNTAX     StorageType 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "Indicates the storage type of this row." 
      ::= { cpwVcEnetEntry 7 } 

  -- 
  -- Ethernet Primary Mapping Table 
  -- 

  cpwVcEnetMplsPriMappingTable  OBJECT-TYPE 
      SYNTAX SEQUENCE OF CpwVcEnetMplsPriMappingTableEntry 
      MAX-ACCESS  not-accessible 
      STATUS     current 
      DESCRIPTION  
          "This table may be used for MPLS PSNs if there is a need  
          to hold multiple VC, each with different COS, for the same 
          user service (port + PW VLAN). Such a need may arise if the 
          MPLS network is capable of L-LSP or E-LSP without multiple 
          COS capabilities.  Each row is indexed by the cpwVcIndex  
          and indicate the PRI bits on the packet recieved from the  
          user port (or VPLS virtual port) that are 
          classified to this VC. Note that the EXP bit value of the VC 
          is configured in the CISCO-IETF-PW-MPLS-MIB." 
      ::= { cpwVcEnetObjects 2 } 

  cpwVcEnetMplsPriMappingTableEntry  OBJECT-TYPE 
      SYNTAX     CpwVcEnetMplsPriMappingTableEntry 
      MAX-ACCESS  not-accessible 
      STATUS     current 
      DESCRIPTION  
          "Each entry is created if special classification based on  
           the PRI bits is required for this VC." 

      INDEX { cpwVcIndex } 

      ::= { cpwVcEnetMplsPriMappingTable 1 } 

  CpwVcEnetMplsPriMappingTableEntry ::= SEQUENCE { 
      cpwVcEnetMplsPriMapping             BITS, 
      cpwVcEnetMplsPriMappingRowStatus    RowStatus, 
      cpwVcEnetMplsPriMappingStorageType  StorageType 
  } 

  cpwVcEnetMplsPriMapping  OBJECT-TYPE 
      SYNTAX     BITS { 
          pri000 (0), 
          pri001 (1), 
          pri010 (2), 
          pri011 (3), 
          pri100 (4), 
          pri101 (5), 
          pri110 (6), 
          pri111 (7), 
          untagged (8) 
      } 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "This object defines the groups of user PRI mapped into 
          this VC. Each bit set indicates that this user priority  
          is assigned to this VC. 

          The value 'untagged' is used to indicate that untagged  
          frames are also associated to this VC. 

          This object allow the use of different PSN COS based on  
          user marking of PRI bits in MPLS PSN with L-LSP or  
          E-LSP without multiple COS support. In all other cases,  
          the default value MUST be used. 

          It is REQUIRED that there is no overlap on this object  
          between rows serving the same service (port+ PW VLAN). 

          In case of missing BIT configuration between rows to  
          the same service, incoming packets with PRI marking not  
          configured should be handled by the VC with the lowest  
          COS. 
          " 
      REFERENCE  
          "See appendix A of <draft-ietf-pwe3i-ethernet-encap> 
           for mapping rules of the PRI bits to PSN COS." 

      ::= { cpwVcEnetMplsPriMappingTableEntry 1 } 

  cpwVcEnetMplsPriMappingRowStatus  OBJECT-TYPE 
      SYNTAX     RowStatus 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "Enable creating, deleting and modifying this row." 
  -- TBD: Need to specify exact interaction with other tables, and  
  -- when rows can/cannot be created/deleted/modified. 
      ::= { cpwVcEnetMplsPriMappingTableEntry 2 } 

  cpwVcEnetMplsPriMappingStorageType  OBJECT-TYPE 
      SYNTAX     StorageType 
      MAX-ACCESS  read-create 
      STATUS     current 
      DESCRIPTION  
          "Indicates the storage type of this row." 
      ::= { cpwVcEnetMplsPriMappingTableEntry 3 } 

  -- 
  -- VC Ethernet Statistics Table 
  -- 

  cpwVcEnetStatsTable  OBJECT-TYPE 
      SYNTAX SEQUENCE OF CpwVcEnetStatsEntry 
      MAX-ACCESS  not-accessible 
      STATUS     current 
      DESCRIPTION  
          "This table contains statistical counters specific for  
           Ethernet PW." 
      ::= { cpwVcEnetObjects 3 } 

  cpwVcEnetStatsEntry  OBJECT-TYPE 
      SYNTAX     CpwVcEnetStatsEntry 
      MAX-ACCESS  not-accessible 
      STATUS     current 
      DESCRIPTION  
          "Each entry represents the statistics gathered for the  
           VC carrying the Ethernet packets since this VC was  
           first created in the cpwVcEnetTable." 
      INDEX { cpwVcIndex } 
      ::= { cpwVcEnetStatsTable 1 } 

  CpwVcEnetStatsEntry ::= SEQUENCE { 
      cpwVcEnetStatsIllegalVlan        Counter64, 
      cpwVcEnetStatsIllegalLength      Counter64 
  } 

  cpwVcEnetStatsIllegalVlan  OBJECT-TYPE 
      SYNTAX     Counter64 
      MAX-ACCESS  read-only 
      STATUS     current 
      DESCRIPTION  
      "The number of packets received (from the PSN) on this VC with  
      an illegal VLAN field, missing VLAN field that was expected, or  
      A VLAN field when it was not expected. This counter is not  
      relevant if the VC type is 'ethernet' (i.e. raw mode), and  
      should be set to 0 by the agent to indicate this." 
      ::= { cpwVcEnetStatsEntry 1 } 

  cpwVcEnetStatsIllegalLength  OBJECT-TYPE 
      SYNTAX     Counter64 
      MAX-ACCESS  read-only 
      STATUS     current 
      DESCRIPTION  
      "The number of packets that were received with an illegal  
      Ethernet packet length on this VC. An illegal length is defined 
      as being greater than the value in the advertised maximum MTU  
      supported, or shorter than the allowed Ethernet packet size." 
      ::= { cpwVcEnetStatsEntry 2 } 

  --- 
  --- Conformance description 
  --- In this version of the draft, only objects level conformance is 
  --- defined. More detailed conformance specifications is FFS. 
  --- 

  cpwVcEnetGroups      OBJECT IDENTIFIER ::= { cpwVcEnetConformance 1 } 
  cpwVcEnetCompliances OBJECT IDENTIFIER ::= { cpwVcEnetConformance 2 } 

  cpwVcEnetModuleCompliance MODULE-COMPLIANCE 
      STATUS  current 
      DESCRIPTION 
              "The compliance statement for agent that support  
               Ethernet PW." 

      MODULE  -- this module 
          MANDATORY-GROUPS { cpwVcEnetGroup, 
                             cpwVcStatsGroup 
                           } 

        GROUP cpwVcEnetMplsPriGroup 
        DESCRIPTION 
            "Collection of objects defining classification to 
            different PW based on the user's PRI bits mapping. 
            This group is optional, and should be implemented 
            only for MPLS PSN where only L-LSP or single OA  
            E-LSP, exists, and different PSN COS is required 
            based on the PRI mapping." 

      ::= { cpwVcEnetCompliances 1 } 

  -- Units of conformance. 

  cpwVcEnetGroup OBJECT-GROUP  
     OBJECTS { 
              cpwVcEnetVlanMode, 
              cpwVcEnetPortVlan, 
              cpwVcEnetPortIfIndex, 
              cpwVcEnetVcIfIndex, 
              cpwVcEnetRowStatus, 
              cpwVcEnetStorageType 
     } 
     STATUS  current 
     DESCRIPTION 
            "Collection of objects for basic Ethernet PW config." 
     ::= { cpwVcEnetGroups 1 } 

  cpwVcStatsGroup OBJECT-GROUP  
     OBJECTS { 
              cpwVcEnetStatsIllegalVlan, 
              cpwVcEnetStatsIllegalLength 
     }           
     STATUS  current 
     DESCRIPTION 
            "Collection of objects counting various PW level errors." 
     ::= { cpwVcEnetGroups 2 } 

  cpwVcEnetMplsPriGroup OBJECT-GROUP  
     OBJECTS { 
              cpwVcEnetMplsPriMapping, 
              cpwVcEnetMplsPriMappingRowStatus, 
              cpwVcEnetMplsPriMappingStorageType 
     }           
     STATUS  current 
     DESCRIPTION 
            "Collection of objects defining classification to 
            different PW based on the user's PRI bits mapping. 
            This group is optional, and should be implemented 
            only for MPLS PSN where only L-LSP or single OA  
            E-LSP exists, and different PSN COS is required 
            based on the PRI mapping." 
     ::= { cpwVcEnetGroups 3 } 

END