summaryrefslogtreecommitdiff
path: root/MIBS/transition/TN-IPMC-SNOOPING-MIB
blob: 75821b68959985cd690e96504db4e33397654606 (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
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
-- *****************************************************************
-- TN-IPMC-SNOOPING-MIB.smi : TN-IPMC-SNOOPING-MIB
--
-- Copyright (c) 2012 by Transition Networks, Inc.
-- All rights reserved.
-- Version 1.00, 2012/10/11, Tonyl
--
-- *****************************************************************

TN-IPMC-SNOOPING-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Integer32,
    Counter32
        FROM SNMPv2-SMI
    RowStatus, TruthValue
        FROM SNMPv2-TC
    InetAddress,InetAddressPrefixLength
        FROM INET-ADDRESS-MIB
    PortList, VlanId
        FROM Q-BRIDGE-MIB
    InterfaceIndex
        FROM IF-MIB
    tnProducts FROM TRANSITION-SMI;

tnIpmcSnoopingMib MODULE-IDENTITY
          LAST-UPDATED "201207061930Z"
          ORGANIZATION "Transition Networks, Inc."
          CONTACT-INFO
               "Transition Networks
                  Technical Support

                  10900 Red Circle Drive
                  Minnetonka, MN 55343 USA
                  Tel: +1-800-526-9267

                  E-mail: techsupport@transition.com"
          DESCRIPTION
               "The structure of IPMC snooping for
                    the proprietary enterprise."
        ::= { tnProducts 115 }

tnIpmcSnoopingMibNotifications     OBJECT IDENTIFIER ::= { tnIpmcSnoopingMib 1 }
tnIpmcSnoopingMibObjects           OBJECT IDENTIFIER ::= { tnIpmcSnoopingMib 2 }
tnIpmcSnoopingMibConformance       OBJECT IDENTIFIER ::= { tnIpmcSnoopingMib 3 }
-- Textual Conventions
TnIpmcType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION     "A value that represents the protocol type of IPMC:
                     igmp(1)     : type of IPMC is IGMP
                     mld(2)      : type of IPMC is MLD
                     unknown(0)      : type of IPMC is not determined."
    SYNTAX          INTEGER  {
                        igmp (1),
                        mld  (2),
                        unknown  (4)
                    }

TnIpmcVersion ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION     "A value that represents the version of IGMP or MLD:
                     version1(1)     : Version 1 of IGMP or MLD
                     version2(2)     : Version 2 of IGMP or MLD
                     version2(3)     : Version 2 of IGMP
                     unknown(4)      : Version of IGMP or MLD is not determined."
    SYNTAX          INTEGER  {
                        version1 (1),
                        version2 (2),
                        version3 (3),
                        unknown  (4)
                    }
----------------------------------------------------------------------------
--tnIpmcSnoopingMibObjects
----------------------------------------------------------------------------

tnIpmcSnoopingMgmt             OBJECT IDENTIFIER ::= { tnIpmcSnoopingMibObjects 1 }

tnSystemCfgInfo                OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 1 }
tnPortCfgInfo                  OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 2 }
tnVlanCfgInfo                  OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 3 }
tnPortFilterCfgInfo            OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 4 }
tnPortStatusInfo               OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 5 }
tnVlanStatisticInfo            OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 6 }
tnIpmcGroupInfo                OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 7 }
tnIpmcSfmInfo                  OBJECT IDENTIFIER ::= { tnIpmcSnoopingMgmt 8 }

----------------------------------------------------------------------------
-- tnSystemInfo
----------------------------------------------------------------------------
tnSystemCfgTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnSystemCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "Table contains System based configuration information
                     for Ipmc Snooping."
    ::= { tnSystemCfgInfo 1 }

tnSystemCfgEntry OBJECT-TYPE
    SYNTAX          TnSystemCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "An entry is created for each active port in the device."
    INDEX           { tnIpmcSnoopingType }
    ::= { tnSystemCfgTable 1 }

TnSystemCfgEntry ::= SEQUENCE {
        tnIpmcSnoopingType               TnIpmcType,
        tnIpmcSnoopingEnabled            TruthValue,
        tnIpmcSnoopingFloodingEnabled    TruthValue,
        tnIpmcSnoopingLeaveProxyEnabled  TruthValue,
        tnIpmcSnoopingProxyEnabled       TruthValue,
        tnIpmcSnoopingSsmRange           InetAddress,
        tnIpmcSnoopingSsmRangePrefix     InetAddressPrefixLength,
        tnIpmcSnoopingStatisticClear     TruthValue
        }

tnIpmcSnoopingType  OBJECT-TYPE
        SYNTAX         TnIpmcType
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "This object indicates whether IGMP or MLD Snooping has been
                        configued for the system."
        ::={ tnSystemCfgEntry 1 }

tnIpmcSnoopingEnabled  OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION    "This object indicates whether IGMP or MLD Snooping has been
                        enabled for the system."
        ::={ tnSystemCfgEntry 2 }

tnIpmcSnoopingFloodingEnabled  OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "Enable unregistered IPMCv6 traffic flooding.
                         The flooding control takes effect only when IGMP or MLD Snooping 
                         is enabled.When Ipmc Snooping is disabled, unregistered
                         IPMCv4 traffic flooding is always active in spite of this
                         setting."
        ::={ tnSystemCfgEntry 3 }

tnIpmcSnoopingLeaveProxyEnabled  OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION    "Enable Ipmc Leave proxy. This feature can be used to
                        avoid forwarding unnecessary leave messages to the
                        router side."
        ::={ tnSystemCfgEntry 4 }

tnIpmcSnoopingProxyEnabled  OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION    "Enable Ipmc proxy. This feature can be used to avoid
                        forwarding unnecessary join and leave messages to the
                        router side."
        ::={ tnSystemCfgEntry 5 }

tnIpmcSnoopingSsmRange  OBJECT-TYPE
        SYNTAX        InetAddress
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "SSM (Source-Specific Multicast) Range allows the SSM-aware
                       hosts and routers run the SSM service model for the groups
                       in the address range."
        ::={ tnSystemCfgEntry 6 }

tnIpmcSnoopingSsmRangePrefix  OBJECT-TYPE
        SYNTAX         InetAddressPrefixLength
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION    "Denotes the length of a generic Internet network address
                        prefix."
        ::={ tnSystemCfgEntry 7 }
        
tnIpmcSnoopingStatisticClear  OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION    "Clears all Statistics counters."
        ::={ tnSystemCfgEntry 8 }
----------------------------------------------------------------------
-- tnPortConfigInfo
----------------------------------------------------------------------

tnPortCfgTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnPortCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "Table contains Port based configuration information
                     for Ipmc Snooping."
    ::= { tnPortCfgInfo 1 }

tnPortCfgEntry OBJECT-TYPE
    SYNTAX          TnPortCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "An entry is created for each active port in the device."
    INDEX           { tnIpmcSnoopingType, ifIndex }
    ::= { tnPortCfgTable 1 }

TnPortCfgEntry ::= SEQUENCE {
        tnPortRoutePortEnabled    TruthValue,
        tnPortFastLeaveEnabled    TruthValue,
        tnPortThrottling          Unsigned32
}

tnPortRoutePortEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Specify which ports act as router ports. A router port
                     is a port on the Ethernet switch that leads towards the
                     Layer 3 multicast device or Ipmc querier. If an aggregation
                     member port is selected as a router port, the whole
                     aggregation will act as a router port."
    ::= { tnPortCfgEntry 1 }

tnPortFastLeaveEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Enable the fast leave on the port."
    ::= { tnPortCfgEntry 2 }

tnPortThrottling OBJECT-TYPE
    SYNTAX          Unsigned32 (0..10)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "Enable to limit the number of multicast groups to which a
                     switch port can belong. The range is 1-10 for S3280.
                     0 means disabled."
    ::= { tnPortCfgEntry 3 }

----------------------------------------------------------------------------
-- tnVlanConfigInfo
----------------------------------------------------------------------------
tnVlanCfgTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnVlanCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "Table contains VLAN based configuration information
                     for Ipmc Snooping."
    ::= { tnVlanCfgInfo 1 }

tnVlanCfgEntry OBJECT-TYPE
    SYNTAX          TnVlanCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "An entry is created for each active VLAN in the device"
    INDEX           { tnIpmcSnoopingType, tnVlanIndex }
    ::= { tnVlanCfgTable 1 }

TnVlanCfgEntry ::= SEQUENCE {
        tnVlanIndex                  VlanId,
        tnVlanIpmcSnoopingEnabled    TruthValue,
        tnVlanIpmcQuerierEnabled     TruthValue,
        tnVlanIpmcCompatibility      INTEGER,
        tnVlanIpmcSnoopingRV         Unsigned32,
        tnVlanIpmcSnoopingQI         Unsigned32,
        tnVlanIpmcSnoopingQRI        Unsigned32,
        tnVlanIpmcSnoopingLLQI       Unsigned32,
        tnVlanIpmcSnoopingURI        Unsigned32,
        tnVlanIpmcRowStatus          RowStatus
}

tnVlanIndex OBJECT-TYPE
    SYNTAX          VlanId
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates the VLAN in which Ipmc Snooping is
                     configured."
    ::= { tnVlanCfgEntry 1 }

tnVlanIpmcSnoopingEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "When this object is set to 'true' Ipmc Snooping
                     is enabled on this VLAN else disabled."
    ::= { tnVlanCfgEntry 2 }

tnVlanIpmcQuerierEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "When this object is set to 'true' Ipmc Snooping
                     is enabled on this VLAN else disabled."
    ::= { tnVlanCfgEntry 3 }
 
tnVlanIpmcCompatibility OBJECT-TYPE
    SYNTAX          INTEGER {
                        ipmc-auto (0),
                        ipmc-v1   (1),
                        ipmc-v2   (2),
                        ipmc-v3   (3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Compatibility is maintained by hosts and routers taking
                     appropriate actions depending on the versions of IGMP or MLD operating
                     on hosts and routers within a network. The allowed selection
                     is IGMP or MLD-Auto, Forced IGMPv1 or MLDv1, Forced IGMPv2 or MLDv2,
                     Forced IGMPv3,default compatibility value is IGMP or MLD-Auto."
    ::= { tnVlanCfgEntry 4 }

tnVlanIpmcSnoopingRV OBJECT-TYPE
    SYNTAX          Unsigned32 (1..255)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Robustness Variable. The Robustness Variable allows tuning
                     for the expected packet loss on a network.
                     The allowed range is 1 to 255,default robustness variable
                     value is 2."
    DEFVAL          { 2 }
    ::= { tnVlanCfgEntry 5 }

tnVlanIpmcSnoopingQI OBJECT-TYPE
    SYNTAX          Unsigned32 (1..31744)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Query Interval. The Query Interval is the interval between
                     General Queries sent by the Querier. The allowed range is
                     1 to 31744 seconds,default query interval is 125 seconds."
    DEFVAL          { 125 }
    ::= { tnVlanCfgEntry 6 }

tnVlanIpmcSnoopingQRI OBJECT-TYPE
    SYNTAX          Unsigned32 (0..31744)
    UNITS           "deciseconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Query Response Interval. The Maximum Response Delay used to calculate
                     the Maximum Response Code inserted into the periodic General Queries.
                     The allowed range is 0 to 31744 in tenths of seconds, default query
                     response interval is 100 in tenths of seconds (10 seconds)."
    DEFVAL          { 100 }
    ::= { tnVlanCfgEntry 7 }

tnVlanIpmcSnoopingLLQI OBJECT-TYPE
    SYNTAX          Unsigned32 (0..31744)
    UNITS           "deciseconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Last Member Query Interval. The Last Member Query Time is the time value
                     represented by the Last Member Query Interval, multiplied by the Last Member
                     Query Count. The allowed range is 0 to 31744 in tenths of seconds, default
                     last member query interval is 10 in tenths of seconds (1 second)."
    DEFVAL          { 10 }
    ::= { tnVlanCfgEntry 8 }

tnVlanIpmcSnoopingURI OBJECT-TYPE
    SYNTAX          Unsigned32 (0..31744)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "Unsolicited Report Interval. The Unsolicited Report Interval is the time
                     between repetitions of a host's initial report of membership in a group.
                     The allowed range is 0 to 31744 seconds, default unsolicited report interval
                     is 1 second. "
    DEFVAL          { 1 }
    ::= { tnVlanCfgEntry 9 }

tnVlanIpmcRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "This object indicates RowStatus "
    ::= { tnVlanCfgEntry 10 }

------------------------------------------------------------------------------
-- tnPortFilterCfgInfo
------------------------------------------------------------------------------
tnPortFilterCfgTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnPortFilterCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "Table contains VLAN based configuration information
                     for IGMP or MLD Snooping."
    ::= { tnPortFilterCfgInfo 1 }

tnPortFilterCfgEntry OBJECT-TYPE
    SYNTAX          TnPortFilterCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "An entry is created for each active VLAN in the device"
    INDEX           { tnIpmcSnoopingType, tnPortFilterIfIndex, tnPortFilterIpmcIp }
    ::= { tnPortFilterCfgTable 1 }

TnPortFilterCfgEntry ::= SEQUENCE {
        tnPortFilterIfIndex          Unsigned32,
        tnPortFilterIpmcIp           InetAddress,
        tnPortFilterRowStatus        RowStatus
}

tnPortFilterIfIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates the Port in which IGMP or MLD Snooping is
                     configured."
    ::= { tnPortFilterCfgEntry 1 }

tnPortFilterIpmcIp   OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates the IP group in which IGMP or MLD Snooping is
                     configured."
    ::= { tnPortFilterCfgEntry 2 }

tnPortFilterRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION     "This object indicates RowStatus."
    ::= { tnPortFilterCfgEntry 3 }

-------------------------------------------------------------------------------
-- tnPortStatusInfo
-------------------------------------------------------------------------------
tnPortStatusTable    OBJECT-TYPE
    SYNTAX           SEQUENCE OF TnPortStatusEntry
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION      "Table contains Port based configuration information
                      for IGMP or MLD Snooping."
    ::= { tnPortStatusInfo 1 }

tnPortStatusEntry    OBJECT-TYPE
    SYNTAX           TnPortStatusEntry
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION      "An entry is created for each active port in the device"
    INDEX            { tnIpmcSnoopingType, ifIndex }
    ::= { tnPortStatusTable 1 }

TnPortStatusEntry ::= SEQUENCE {
        tnPortStatusRouteEnabled    TruthValue
}

tnPortStatusRouteEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Display which ports act as router ports. A router port is
                     a port on the Ethernet switch that leads towards the Layer 3
                     multicast device or IGMP or MLD querier. Static denotes the specific
                     port is configured to be a router port. Dynamic denotes the 
                     specific port is learned to be a router port."
    ::= { tnPortStatusEntry 1 }

----------------------------------------------------------------------------
--tnVlanStatisticInfo
----------------------------------------------------------------------------
tnVlanStatisticTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVlanStatisticEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "This contains information about the Ipmc snooping VLAN
                    statistic counter info table."
    ::= { tnVlanStatisticInfo 1 }

tnVlanStatisticEntry OBJECT-TYPE
    SYNTAX         TnVlanStatisticEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "This is an entry of the tnVlanStatisticTable."
    INDEX          { tnIpmcSnoopingType, tnVlanStatisticVlanID }
    ::= { tnVlanStatisticTable 1 }

TnVlanStatisticEntry ::= SEQUENCE {
        tnVlanStatisticVlanID          VlanId,
        tnVlanStatisticQuerierVersion  TnIpmcVersion,
        tnVlanStatisticHostVersion     TnIpmcVersion,
        tnVlanStatisticQuerierState    INTEGER,
        tnVlanStatisticQuerierTx       Counter32,
        tnVlanStatisticQuerierRx       Counter32,
        tnVlanStatisticV1ReportsRx     Counter32,
        tnVlanStatisticV2ReportsRx     Counter32,
        tnVlanStatisticV3ReportsRx     Counter32,
        tnVlanStatisticLeavesRx        Counter32
    }

tnVlanStatisticVlanID OBJECT-TYPE
        SYNTAX         VlanId
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "This indicates the VLAN ID of the entry."
        ::= { tnVlanStatisticEntry 1 }

tnVlanStatisticQuerierVersion OBJECT-TYPE
        SYNTAX         TnIpmcVersion
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates working querier version currently
                        in this VLAN."
        ::= { tnVlanStatisticEntry 2 }

tnVlanStatisticHostVersion OBJECT-TYPE
        SYNTAX         TnIpmcVersion 
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates working host version currently
                        in this VLAN."
        ::= { tnVlanStatisticEntry 3 }

tnVlanStatisticQuerierState OBJECT-TYPE
        SYNTAX         INTEGER {
                           disabled (0),
                           active   (1),
                           idle     (2)
                       }
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates the querier status is 'ACTIVE' or 'IDLE'.
                        'DISABLED' denotes the specific interface is
                        administratively disabled."
        ::= { tnVlanStatisticEntry 4 }

tnVlanStatisticQuerierTx OBJECT-TYPE
        SYNTAX         Counter32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates the count of transmitted IPMC Query
                        packets in this VLAN."
        ::= { tnVlanStatisticEntry 5 }

tnVlanStatisticQuerierRx OBJECT-TYPE
        SYNTAX         Counter32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates the count of transmitted IPMC Query
                        packets in this VLAN."
        ::= { tnVlanStatisticEntry 6 }

tnVlanStatisticV1ReportsRx OBJECT-TYPE
        SYNTAX         Counter32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates the count of received IGMPv1 or MLDv1 Query
                        packets in this VLAN."
        ::= { tnVlanStatisticEntry 7 }

tnVlanStatisticV2ReportsRx OBJECT-TYPE
        SYNTAX         Counter32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates the count of received IGMPv2 or MLDv2 Query
                        packets in this VLAN."
        ::= { tnVlanStatisticEntry 8 }

tnVlanStatisticV3ReportsRx OBJECT-TYPE
        SYNTAX         Counter32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates the count of received IGMPv3 Query
                        packets in this VLAN."
        ::= { tnVlanStatisticEntry 9 }
        
tnVlanStatisticLeavesRx OBJECT-TYPE
        SYNTAX         Counter32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This indicates the count of received IPMC(IGMPv2 or MLDv1) Leaves
                        packets in this VLAN."
        ::= { tnVlanStatisticEntry 10 }

----------------------------------------------------------------------------
-- tnIpmcGroupInfo
----------------------------------------------------------------------------
tnIpmcGroupTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TnIpmcGroupEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Table containing multicast group address information for
                   IGMP or MLD Snooping."
    ::= { tnIpmcGroupInfo 1 }

tnIpmcGroupEntry OBJECT-TYPE
    SYNTAX         TnIpmcGroupEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "An entry is created by IGMP or MLD Snooping for each group learned
                    in the VLAN."
    INDEX          { tnIpmcSnoopingType, tnIpmcGroupVlanIndex, tnIpmcGroupAddress }
    ::= { tnIpmcGroupTable 1 }

TnIpmcGroupEntry ::= SEQUENCE {
        tnIpmcGroupVlanIndex        VlanId,
        tnIpmcGroupAddress          InetAddress,
        tnIpmcGroupPortList         PortList
}

tnIpmcGroupVlanIndex OBJECT-TYPE
    SYNTAX          VlanId
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates the VLAN in which the group is learned."
    ::= { tnIpmcGroupEntry 1 }

tnIpmcGroupAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates IP multicast address learned by IGMP or MLD Snooping."
    ::= { tnIpmcGroupEntry 2 }

tnIpmcGroupPortList OBJECT-TYPE
    SYNTAX          PortList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "This object indicates the set of ports on which IPMC Membership Reports
                     are received for the group indicating interest to receive traffic sent
                     to the group."
    ::= { tnIpmcGroupEntry 3 }

------------------------------------------------------------------------------
-- tnIpmcSfmInfo
------------------------------------------------------------------------------
tnIpmcSfmTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF TnIpmcSfmEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION   "Table containing multicast group address information for
                   IGMP or MLD Snooping."
    ::= { tnIpmcSfmInfo 1 }

tnIpmcSfmEntry OBJECT-TYPE
    SYNTAX         TnIpmcSfmEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "An entry is created by IPMC Snooping for each group learned in the VLAN."
    INDEX          { tnIpmcSnoopingType, tnIpmcSfmVlanIndex, tnIpmcSfmInetAddress,tnIpmcSfmPort, tnIpmcSfmSrcAddress }
    ::= { tnIpmcSfmTable 1 }

TnIpmcSfmEntry ::= SEQUENCE {
        tnIpmcSfmVlanIndex        VlanId,
        tnIpmcSfmInetAddress      InetAddress,
        tnIpmcSfmPort             InterfaceIndex,
        tnIpmcSfmSrcAddress       InetAddress,
        tnIpmcSfmMode             INTEGER,
        tnIpmcSfmSrcType          INTEGER,
        tnIpmcSfmHardFilter       TruthValue
}

tnIpmcSfmVlanIndex OBJECT-TYPE
    SYNTAX          VlanId
    MAX-ACCESS      not-accessible
    STATUS          current
   DESCRIPTION      "This object indicates the VLAN in which the group is learned."
    ::= { tnIpmcSfmEntry 1 }

tnIpmcSfmInetAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates IP multicast address learned by IPMC Snooping."
    ::= { tnIpmcSfmEntry 2 }

tnIpmcSfmPort OBJECT-TYPE
    SYNTAX          InterfaceIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates the switch port number."
    ::= { tnIpmcSfmEntry 3 }

tnIpmcSfmSrcAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This object indicates IP Address of the source. Currently,
                     system limits the total number of IP source addresses for
                     filtering to be 128."
    ::= { tnIpmcSfmEntry 4 }
    
tnIpmcSfmMode OBJECT-TYPE
    SYNTAX          INTEGER {
                        include (1),
                        exclude (2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "This object indicates the filtering mode maintained per
                     (VLAN ID, port number, Group Address) basis. It can be
                     either Include or Exclude."
    ::= { tnIpmcSfmEntry 5 }

tnIpmcSfmSrcType OBJECT-TYPE
    SYNTAX          INTEGER {
                        allow (1),
                        deny  (2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "This object indicates the Type. It can be either Allow or Deny."
    ::= { tnIpmcSfmEntry 6 }

tnIpmcSfmHardFilter OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "This object indicates Indicates whether data plane destined to the specific
                     group address from the source IP address could be handled by chip or not."
    ::= { tnIpmcSfmEntry 7 }
END