summaryrefslogtreecommitdiff
path: root/MIBS/transition/TN-NAS-MIB
blob: 00e5604368e9ebe6e0d0cd59c152793e7f1ed704 (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
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
-- *****************************************************************
-- TN-NAS-MIB.mib : TN Network Access Service MIB
--
-- Copyright (c) 2013 by Transition Networks, Inc.
-- All rights reserved.
--
-- *************************************************************************************************
--

TN-NAS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    NOTIFICATION-TYPE,
    OBJECT-TYPE,
    Unsigned32,
    Gauge32,
    TimeTicks
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    RowStatus,TruthValue,
    MacAddress,
    DisplayString
        FROM SNMPv2-TC     -- [RFC2579]  
    VlanId
        FROM Q-BRIDGE-MIB
    tnProducts
        FROM TRANSITION-SMI; 
        
TnNASAdminStateType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "Indicates the type of network access server admin state type.
       "
    SYNTAX      INTEGER {
                  forceAuthorized (1),
                  portBased802dot1x (2),
                  forceUnauthorized (3),
                  macBasedAuth (4),
                  single802dot1x (5),
                  multi802dot1x (6)
                } 

--
-- main body
--
tnNASMIB MODULE-IDENTITY
    LAST-UPDATED    "201204051930Z"
    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
        "TBD"
    REVISION        "201204200000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { tnProducts 125 }

tnNASMIBNotifications  OBJECT IDENTIFIER ::= { tnNASMIB 0 }

tnNASMIBObjects  OBJECT IDENTIFIER ::= { tnNASMIB 1 }

tnNASMIBConformance  OBJECT IDENTIFIER ::= { tnNASMIB 2 }

--
-- sub Objects list
--
tnNASSysMgmt                                   OBJECT IDENTIFIER ::= { tnNASMIBObjects 1 }
tnNASPortMgmt                                  OBJECT IDENTIFIER ::= { tnNASMIBObjects 2 }
tnNASAuthCountMgmt                             OBJECT IDENTIFIER ::= { tnNASMIBObjects 3 }
tnNASPortStatus                                OBJECT IDENTIFIER ::= { tnNASMIBObjects 4 }
tnNASClientStatus                              OBJECT IDENTIFIER ::= { tnNASMIBObjects 5 }
tnNASSelectedBackendServerCounter              OBJECT IDENTIFIER ::= { tnNASMIBObjects 6 }
tnNASSelectedEapolCounter                      OBJECT IDENTIFIER ::= { tnNASMIBObjects 7 }
tnNASAttachedClientStatus                      OBJECT IDENTIFIER ::= { tnNASMIBObjects 8 }
tnNASClearCounter                              OBJECT IDENTIFIER ::= { tnNASMIBObjects 9 }

-- ******************************************************************
-- system configuration
-- ******************************************************************
tnNASSysReAuthEnabled OBJECT-TYPE
    SYNTAX          INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "If checked, successfully authenticated supplicants/clients are reauthenticated after the interval specified by 
         the Reauthentication Period.Reauthentication for 802.1X-enabled ports can be used to detect if a new device is plugged into 
         a switch port or if a supplicant is no longer attached.
         For MAC-based ports, reauthentication is only useful if the RADIUS server configuration has changed. 
         It does not involve communication between the switch and the client, and therefore doesn't imply that a client is still present on a port.
         "
    ::= { tnNASSysMgmt 1 }

tnNASSysReAuthPeriod OBJECT-TYPE
    SYNTAX          INTEGER(1..3600)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Determines the period, in seconds, after which a connected client must be reauthenticated. 
         This is only active if the Reauthentication Enabled checkbox is checked. Valid values are in the range 1 to 3600 seconds.
         "
    ::= { tnNASSysMgmt 2 }
  
tnNASSysEAPOLTimeout OBJECT-TYPE
    SYNTAX          INTEGER(1..65535)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Determines the time for retransmission of Request Identity EAPOL frames.
         Valid values are in the range 1 to 65535 seconds. This has no effect for MAC-based ports..
         "
    ::= { tnNASSysMgmt 3 }

tnNASSysAgingPeriod OBJECT-TYPE
    SYNTAX          Unsigned32(10..1000000)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This setting applies to the following modes, i.e. modes using the Port Security functionality to secure MAC addresses:
         Single 802.1X, Multi 802.1X, MAC-Based Auth.
         When the NAS module uses the Port Security module to secure MAC addresses, the Port Security module needs to 
         check for activity on the MAC address in question at regular intervals and free resources if no activity is seen within 
         a given period of time. This parameter controls exactly this period and can be set to a number between 10 and 1000000 seconds. 
         If reauthentication is enabled and the port is in an 802.1X-based mode, this is not so critical, since supplicants that are 
         no longer attached to the port will get removed upon the next reauthentication, which will fail. But if reauthentication is not enabled, 
         the only way to free resources is by aging the entries. 
         For ports in MAC-based Auth. mode, reauthentication doesn't cause direct communication between the switch and the client, 
         so this will not detect whether the client is still attached or not, and the only way to free any resources is to age the entry..
         "
    ::= { tnNASSysMgmt 4 }
    
tnNASSysHoldTime OBJECT-TYPE
    SYNTAX          Unsigned32(10..1000000)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This setting applies to the following modes, i.e. modes using the Port Security functionality to secure MAC addresses:
         Single 802.1X, Multi 802.1X, MAC-Based Auth.
         If a client is denied access - either because the RADIUS server denies the client access or because the RADIUS server request times out,
         the client is put on hold in the Unauthorized state. The hold timer does not count during an on-going authentication.
         In MAC-based Auth. mode, the switch will ignore new frames coming from the client during the hold time.
         The Hold Time can be set to a number between 10 and 1000000 seconds..
         "
    ::= { tnNASSysMgmt 5 }
    
tnNASSysRadiusAssignedQosEnable OBJECT-TYPE
    SYNTAX          INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "RADIUS-assigned QoS provides a means to centrally control the traffic class to which traffic coming from 
        a successfully authenticated supplicant is assigned on the switch. The RADIUS server must be configured to 
        transmit special RADIUS attributes to take advantage of this feature.

        When checked, the individual ports' ditto setting determine whether RADIUS-assigned QoS Class is enabled on that port. 
        When unchecked, RADIUS-server assigned QoS Class is disabled on all ports..
         "
    ::= { tnNASSysMgmt 6 }
    
tnNASSysRadiusAssignedVlanEnable OBJECT-TYPE
    SYNTAX          INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "RADIUS-assigned VLAN provides a means to centrally control the VLAN on which a successfully authenticated supplicant 
        is placed on the switch. Incoming traffic will be classified to and switched on the RADIUS-assigned VLAN. 
        The RADIUS server must be configured to transmit special RADIUS attributes to take advantage of this feature.

        When checked, the individual ports' ditto setting determine whether RADIUS-assigned VLAN is enabled on that port. 
        When unchecked, RADIUS-server assigned VLAN is disabled on all ports..
         "
    ::= { tnNASSysMgmt 7 }

tnNASSysGuestVlanEnable OBJECT-TYPE
    SYNTAX          INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "A Guest VLAN is a special VLAN - typically with limited network access - on which 802.1X-unaware clients are placed after 
         a network administrator-defined timeout. The switch follows a set of rules for entering and leaving the Guest VLAN as listed below.

         When checked, the individual ports' ditto setting determines whether the port can be moved into Guest VLAN. 
         When unchecked, the ability to move to the Guest VLAN is disabled on all ports..
         "
    ::= { tnNASSysMgmt 8 }
    
tnNASSysGuestVlanId OBJECT-TYPE
    SYNTAX          VlanId
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This is the value that a port's Port VLAN ID is set to if a port is moved into the Guest VLAN. 
         It is only changeable if the Guest VLAN option is globally enabled.
         Valid values are in the range [1; 4094].
         "
    ::= { tnNASSysMgmt 9 }
    
tnNASSysMaxReAuthCount OBJECT-TYPE
    SYNTAX          INTEGER(1..255)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The number of times the switch transmits an EAPOL Request Identity frame without response before considering entering 
         the Guest VLAN is adjusted with this setting. The value can only be changed if the Guest VLAN option is globally enabled.
         Valid values are in the range [1; 255]..
         "
    ::= { tnNASSysMgmt 10 }
    
tnNASSysAllowGuestVlanIFEAPOLSeen OBJECT-TYPE
    SYNTAX          INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The switch remembers if an EAPOL frame has been received on the port for the life-time of the port. 
         Once the switch considers whether to enter the Guest VLAN, it will first check if this option is enabled or disabled. 
         If disabled (unchecked; default), the switch will only enter the Guest VLAN if an EAPOL frame has not been received 
         on the port for the life-time of the port. 
         If enabled (checked), the switch will consider entering the Guest VLAN even if an EAPOL frame has been received 
         on the port for the life-time of the port.
         The value can only be changed if the Guest VLAN option is globally enabled..
         "
    ::= { tnNASSysMgmt 11 }
 
-- ******************************************************************
-- NAS port configuration table
-- ******************************************************************
tnNASPortCfgTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASPortCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table displays and sets port configuratio.
        "
    ::= { tnNASPortMgmt 1 }

tnNASPortCfgEntry OBJECT-TYPE
    SYNTAX          TnNASPortCfgEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents a port configuration."
    INDEX           { tnNASPortNum }
    ::= { tnNASPortCfgTable 1 }

TnNASPortCfgEntry ::= SEQUENCE {
        tnNASPortNum                                Unsigned32,
        tnNASAdminState                             INTEGER,
        tnNASRadiusAssignedQosEnabled               INTEGER,
        tnNASRadiusAssignedVlanEnabled              INTEGER,
        tnNASGuestVlanEnabled                       INTEGER,
        tnNASPortCfgState                           INTEGER
}

tnNASPortNum OBJECT-TYPE
     SYNTAX     Unsigned32
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
        "The port number for which the configuration below applies.
        "
    ::= { tnNASPortCfgEntry 1 }

tnNASAdminState OBJECT-TYPE
    SYNTAX          TnNASAdminStateType
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "If NAS is globally enabled, this selection controls the port's authentication mode. 
        "
    ::= { tnNASPortCfgEntry 2 }

tnNASRadiusAssignedQosEnabled  OBJECT-TYPE
    SYNTAX         INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "When RADIUS-Assigned QoS is both globally enabled and enabled (checked) on a given port, the switch reacts to QoS Class information 
        carried in the RADIUS Access-Accept packet transmitted by the RADIUS server when a supplicant is successfully authenticated. 
        If present and valid, traffic received on the supplicant's port will be classified to the given QoS Class. If (re-)authentication fails 
        or the RADIUS Access-Accept packet no longer carries a QoS Class or it's invalid, or the supplicant is otherwise no longer present on 
        the port, the port's QoS Class is immediately reverted to the original QoS Class (which may be changed by the administrator 
        in the meanwhile without affecting the RADIUS-assigned).
        This option is only available for single-client modes, i.e Port-based 802.1X, Single 802.1X
        "
    ::= { tnNASPortCfgEntry 3 }

tnNASRadiusAssignedVlanEnabled OBJECT-TYPE
    SYNTAX          INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "When RADIUS-Assigned VLAN is both globally enabled and enabled (checked) for a given port, the switch reacts to VLAN ID information 
         carried in the RADIUS Access-Accept packet transmitted by the RADIUS server when a supplicant is successfully authenticated. 
         If present and valid, the port's Port VLAN ID will be changed to this VLAN ID, the port will be set to be a member of that VLAN ID, 
         and the port will be forced into VLAN unaware mode. Once assigned, all traffic arriving on the port will be classified and switched 
         on the RADIUS-assigned VLAN ID.
         If (re-)authentication fails or the RADIUS Access-Accept packet no longer carries a VLAN ID or it's invalid, or the supplicant 
         is otherwise no longer present on the port, the port's VLAN ID is immediately reverted to the original VLAN ID 
         (which may be changed by the administrator in the meanwhile without affecting the RADIUS-assigned).
         This option is only available for single-client modes, i.e. Port-based 802.1X, Single 802.1X.
         "
    ::= { tnNASPortCfgEntry 4 }

tnNASGuestVlanEnabled OBJECT-TYPE
    SYNTAX          INTEGER{
                       enable (1),
                       disable (2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "TWhen Guest VLAN is both globally enabled and enabled (checked) for a given port, the switch considers moving the port into 
        the Guest VLAN according to the rules outlined below.
        This option is only available for EAPOL-based modes, i.e.: Port-based 802.1X, Single 802.1X, Multi 802.1X  
         "
    ::= { tnNASPortCfgEntry 5 }
          
tnNASPortCfgState OBJECT-TYPE
    SYNTAX          INTEGER {
                       linkDown (0),
                       authorized(1),
                       unauthorized (2),
                       globallyDisabled (3),
                       authOrUnauth(4) 
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The current state of the port.
         "
    ::= { tnNASPortCfgEntry 6 }       
                                              
-- ******************************************************************
-- NAS authorized count table
-- ******************************************************************
tnNASAuthCountTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASAuthCountEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the configuration of auth counter."
    ::= { tnNASAuthCountMgmt 1 }

tnNASAuthCountEntry OBJECT-TYPE
    SYNTAX        TnNASAuthCountEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents an auth counter.
        "
    INDEX           { tnNASPortNum }
    ::= { tnNASAuthCountTable 1 }

TnNASAuthCountEntry ::= SEQUENCE {
        tnNASAuthCount        INTEGER,
        tnNASUnauthCount      INTEGER
}
        
tnNASAuthCount OBJECT-TYPE
    SYNTAX    INTEGER
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "NAS auththenticate count"
    ::= { tnNASAuthCountEntry 1 }
        
tnNASUnauthCount OBJECT-TYPE
    SYNTAX    INTEGER
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "NAS unauththenticate count"
    ::= { tnNASAuthCountEntry 2 }
 
-- ******************************************************************
-- NAS port status table
-- ******************************************************************  
tnNASPortStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASPortStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the configuration of port status."
    ::= { tnNASPortStatus 1 }

tnNASPortStatusEntry OBJECT-TYPE
    SYNTAX        TnNASPortStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents a port status.
        "
    INDEX           { tnNASPortNum }
    ::= { tnNASPortStatusTable 1 }

TnNASPortStatusEntry ::= SEQUENCE {
        tnNASPortAdminState       INTEGER,
        tnNASPortState            INTEGER,
        tnNASQosClass             OCTET STRING,
        tnNASPortVlanId           VlanId
}

tnNASPortAdminState OBJECT-TYPE
    SYNTAX    TnNASAdminStateType
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The port's current administrative state.
        "
    ::= { tnNASPortStatusEntry 1 }

tnNASPortState OBJECT-TYPE
    SYNTAX    INTEGER{
                       linkDown (0),
                       authorized(1),
                       unauthorized (2),
                       globallyDisabled (3),
                       authOrUnauth(4) 
                    }
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The current state of the port.
        "
    ::= { tnNASPortStatusEntry 2 }
   
tnNASQosClass OBJECT-TYPE
    SYNTAX    OCTET STRING
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The QoS class assigned by the RADIUS server. The field is blank if no QoS class is assigned.
        "
    ::= { tnNASPortStatusEntry 3 }
    
tnNASPortVlanId OBJECT-TYPE
    SYNTAX    VlanId
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The VLAN ID that NAS has put the port in. The field is blank, if the Port VLAN ID is not overridden by NAS. 
        "
    ::= { tnNASPortStatusEntry 4 }
  
-- ******************************************************************
-- NAS client and supplication status table
-- ****************************************************************** 
tnNASClientStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASClientStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the configuration of client status."
    ::= { tnNASClientStatus 1 }

tnNASClientStatusEntry OBJECT-TYPE
    SYNTAX          TnNASClientStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents a client status.
        "
    INDEX           { tnNASPortNum, tnNASClientNum }
    ::= { tnNASClientStatusTable 1 }

TnNASClientStatusEntry ::= SEQUENCE { 
        tnNASClientNum                Unsigned32,
        tnNASMacAddr                  MacAddress,
        tnNASVlanId                   VlanId,
        tnNASVersion                  INTEGER,
        tnNASIdentify                 OCTET STRING
}      

tnNASClientNum OBJECT-TYPE
         SYNTAX     Unsigned32(1..2)
         MAX-ACCESS not-accessible
         STATUS     current
         DESCRIPTION
            "1 for last client/supplication; 2 for selected client/supplication."
        ::= { tnNASClientStatusEntry 1 }

tnNASMacAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The MAC address of the last supplicant/client.
                    "
        ::= { tnNASClientStatusEntry 2 }

tnNASVlanId OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The VLAN ID on which the last frame from the last supplicant/client was received.
                    "
        ::= { tnNASClientStatusEntry 3 } 
        
tnNASIdentify OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "802.1X-based: The user name (supplicant identity) carried in the most recently received Response Identity EAPOL frame. 
                     MAC-based: Not applicable.
                    "
        ::= { tnNASClientStatusEntry 4 }        
   
-- ******************************************************************
-- NAS selected client backend server counter table
-- ****************************************************************** 
tnNASSelectedBackendServerCounterTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASSelectedBackendServerCounterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the configuration of Selected backend server counter."
    ::= { tnNASSelectedBackendServerCounter 1 }

tnNASSelectedBackendServerCounterEntry OBJECT-TYPE
    SYNTAX          TnNASSelectedBackendServerCounterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents an Selected backend server counter.
        "
    INDEX           { tnNASPortNum }
    ::= { tnNASSelectedBackendServerCounterTable 1 }

TnNASSelectedBackendServerCounterEntry ::= SEQUENCE {
        tnNASRxAccessChallenges        Gauge32,
        tnNASRxOtherRequests           Gauge32,
        tnNASRxAuthSuccesses           Gauge32,
        tnNASRxAuthFailures            Gauge32,
        tnNASTxResponses               Gauge32
}

tnNASRxAccessChallenges OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "802.1X-based: Counts the number of times that the switch receives the first request from the backend server 
                     following the first response from the supplicant. Indicates that the backend server has communication with the switch. 
                     MAC-based: Counts all Access Challenges received from the backend server for this port (left-most table) or client (right-most table).
                    "
        ::= { tnNASSelectedBackendServerCounterEntry 1 }

tnNASRxOtherRequests OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "802.1X-based: Counts the number of times that the switch sends an EAP Request packet following the first to the supplicant. 
                     Indicates that the backend server chose an EAP-method. 
                     MAC-based: Not applicable.
                    "
        ::= { tnNASSelectedBackendServerCounterEntry 2 }
        
tnNASRxAuthSuccesses OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "802.1X- and MAC-based: Counts the number of times that the switch receives a success indication. 
                     Indicates that the supplicant/client has successfully authenticated to the backend server.
                    "
        ::= { tnNASSelectedBackendServerCounterEntry 3 }
        
tnNASRxAuthFailures OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "802.1X- and MAC-based: Counts the number of times that the switch receives a failure message. 
                     This indicates that the supplicant/client has not authenticated to the backend server.
                    "
        ::= { tnNASSelectedBackendServerCounterEntry 4 }
        
tnNASTxResponses OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "    802.1X-based: Counts the number of times that the switch attempts to send a supplicant's first response packet to 
                        the backend server. Indicates the switch attempted communication with the backend server. Possible retransmissions are 
                        not counted. 
                        MAC-based: Counts all the backend server packets sent from the switch towards the backend server for a given port
                        or client (right-most table). Possible retransmissions are not counted.
                    "
        ::= { tnNASSelectedBackendServerCounterEntry 5 }

-- ******************************************************************
-- NAS selected client EAPOL counter table
-- ****************************************************************** 
tnNASSelectedEapolCounterTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASSelectedEapolCounterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the configuration of selected EAPOL counter."
    ::= { tnNASSelectedEapolCounter 1 }

tnNASSelectedEapolCounterEntry OBJECT-TYPE
    SYNTAX          TnNASSelectedEapolCounterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents a selected EAPOL counter.
        "
    INDEX           { tnNASPortNum }
    ::= { tnNASSelectedEapolCounterTable 1 }

TnNASSelectedEapolCounterEntry ::= SEQUENCE {
        tnNASRxTotal                       Gauge32,
        tnNASRxResponseId                  Gauge32,
        tnNASRxResponses                   Gauge32,
        tnNASRxStart                       Gauge32,
        tnNASRxLogoff                      Gauge32,
        tnNASRxInvalidType                 Gauge32,
        tnNASRxInvalidLength               Gauge32,
        tnNASTxTotal                       Gauge32,
        tnNASTxRequestId                   Gauge32,
        tnNASTxRequests                    Gauge32
}

tnNASRxTotal OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of valid EAPOL frames of any type that have been received by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 1 }

tnNASRxResponseId OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of valid EAPOL Response Identity frames that have been received by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 2 }
        
tnNASRxResponses OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of valid EAPOL response frames (other than Response Identity frames) that have been received by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 3 }
        
tnNASRxStart OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of EAPOL Start frames that have been received by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 4 }
        
tnNASRxLogoff OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of valid EAPOL Logoff frames that have been received by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 5 }
        
tnNASRxInvalidType OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of EAPOL frames that have been received by the switch in which the frame type is not recognized.
                    "
        ::= { tnNASSelectedEapolCounterEntry 6 }
        
tnNASRxInvalidLength OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of EAPOL frames that have been received by the switch in which the Packet Body Length field is invalid.
                    "
        ::= { tnNASSelectedEapolCounterEntry 7 }
        
tnNASTxTotal OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of EAPOL frames of any type that have been transmitted by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 8 }
        
tnNASTxRequestId OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of EAPOL Request Identity frames that have been transmitted by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 9 }
        
tnNASTxRequests OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of valid EAPOL Request frames (other than Request Identity frames) that have been transmitted by the switch.
                    "
        ::= { tnNASSelectedEapolCounterEntry 10 }        
        
-- ******************************************************************
-- NAS attached client/supplication status table
-- ******************************************************************  
tnNASAttachedClientStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASAttachedClientStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the configuration of attached client status."
    ::= { tnNASAttachedClientStatus 1 }

tnNASAttachedClientStatusEntry OBJECT-TYPE
    SYNTAX          TnNASAttachedClientStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents an attached client status.
        "
    INDEX           { tnNASPortNum, tnNASAttachedNum }
    ::= { tnNASAttachedClientStatusTable 1 }

TnNASAttachedClientStatusEntry ::= SEQUENCE {
        tnNASAttachedNum                   Unsigned32,
        tnNASAttachedIdentify              OCTET STRING,
        tnNASMacAddress                    MacAddress,
        tnNASAttachedVlanId                VlanId,
        tnNASState                         INTEGER,
        tnNASLastAuthentication            OCTET STRING,
        tnNASSelected                      INTEGER
}

tnNASAttachedNum OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS not-accessible
        STATUS      current
        DESCRIPTION "The number of attached clients/supplications.
                    "
        ::= { tnNASAttachedClientStatusEntry 1 } 
        
tnNASAttachedIdentify OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS read-only
        STATUS      current
        DESCRIPTION "Shows the identity of the supplicant, as received in the Response Identity EAPOL frame.
                     If no supplicants are attached, it shows No supplicants attached. 
                     This is not available for MAC-based Auth..
                    "
        ::= { tnNASAttachedClientStatusEntry 2 }
        
tnNASMacAddress OBJECT-TYPE
        SYNTAX     MacAddress
        MAX-ACCESS read-only
        STATUS      current
        DESCRIPTION "For Multi 802.1X, this column holds the MAC address of the attached supplicant.
                     For MAC-based Auth., this column holds the MAC address of the attached client.
                     If no clients are attached, it shows No clients attached.
                    "
        ::= { tnNASAttachedClientStatusEntry 3 }
        
tnNASAttachedVlanId OBJECT-TYPE
        SYNTAX     VlanId
        MAX-ACCESS read-only
        STATUS      current
        DESCRIPTION "This column holds the VLAN ID that the corresponding client is currently secured through the Port Security module.
                    "
        ::= { tnNASAttachedClientStatusEntry 4 }
        
tnNASState OBJECT-TYPE
        SYNTAX     INTEGER {
                       linkDown (0),
                       authorized(1),
                       unauthorized (2),
                       globallyDisabled (3) 
                    }
        MAX-ACCESS read-only
        STATUS      current
        DESCRIPTION "The client can either be authenticated or unauthenticated. In the authenticated state, it is allowed to forward frames 
                     on the port, and in the unauthenticated state, it is blocked. As long as the backend server hasn't successfully 
                     authenticated the client, it is unauthenticated. If an authentication fails for one or the other reason, 
                     the client will remain in the unauthenticated state for Hold Time seconds.
                    "
        ::= { tnNASAttachedClientStatusEntry 5 }
        
tnNASLastAuthentication OBJECT-TYPE
        SYNTAX     OCTET STRING
        MAX-ACCESS read-only
        STATUS      current
        DESCRIPTION "Shows the date and time of the last authentication of the client (successful as well as unsuccessful).
                    "
        ::= { tnNASAttachedClientStatusEntry 6 }
        
tnNASSelected OBJECT-TYPE
        SYNTAX     INTEGER {
                       unselected(0),
                       selected(1) 
                    }
        MAX-ACCESS read-write
        STATUS      current
        DESCRIPTION "select specific attached client.
                    "
        ::= { tnNASAttachedClientStatusEntry 7 } 
        
-- ******************************************************************
-- NAS clear counter table
-- ******************************************************************        
 tnNASClearCounterTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TnNASClearCounterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the configuration of clearing counter."
    ::= { tnNASClearCounter 1 }

tnNASClearCounterEntry OBJECT-TYPE
    SYNTAX          TnNASClearCounterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This entry represents a clear counter.
        "
    INDEX           { tnNASPortNum }
    ::= { tnNASClearCounterTable 1 }

TnNASClearCounterEntry ::= SEQUENCE {
        tnNASClear                      INTEGER
}

tnNASClear OBJECT-TYPE
        SYNTAX     INTEGER {
                       unclear(0),
                       clear(1) 
                    }
        MAX-ACCESS read-write
        STATUS      current
        DESCRIPTION "The action of clearing counter.
                    "
        ::= { tnNASClearCounterEntry 1 }
END