summaryrefslogtreecommitdiff
path: root/MIBS/comware/HH3C-BFD-STD-MIB
blob: bc06246025dbfbea0106b86ac92e941a761cfccd (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
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
-- ============================================================================
-- Copyright (c) 2004-2021 New H3C Tech. Co., Ltd.  All rights reserved.
--
-- Description: The MIB is extracted from draft-ietf-bfd-base-04.txt.
-- This file defines a portion of the Management Information Base (MIB) for use
-- with network management protocols in the Internet community. It describes
-- managed objects to configure or monitor Bi-Directional Forwarding Detection
-- on devices supporting this feature.
-- Reference:
-- Version: V1.5
-- History:
-- V1.0  2006-05-15 created by huanglina and xuqigang
-- V1.1  2014-01-20 modified by wangxingying
-- V1.2  2014-12-23 modified by wangxingying
-- V1.3  2016-03-12 modified by guobin
-- V1.4  2020-08-13 Update hh3cBfdGlobalObjects by xukele
-- V1.5  2021-03-18 Add hh3cBfdTrapBindObjects, and update hh3cBfdSessStateDown, hh3cBfdSessStateUp by xukele
-- ============================================================================
HH3C-BFD-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Unsigned32, Counter32, Counter64,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI                        -- [RFC2578]

    TEXTUAL-CONVENTION, TruthValue,
    TimeStamp,DisplayString
        FROM SNMPv2-TC

    InterfaceIndex
        FROM IF-MIB

    InetAddress, InetAddressType, InetPortNumber
        FROM INET-ADDRESS-MIB                 -- [RFC3291]

    hh3cCommon
        FROM HH3C-OID-MIB;

hh3cBfdMIB MODULE-IDENTITY
    LAST-UPDATED "202103181100Z"  -- 18 Mar 2021 11:00:00 Beijing time
    ORGANIZATION
        "New H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Tech. Co., Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.h3c.com
        Zip:100085
        "
    DESCRIPTION
        "Bidirectional Forwarding Management Information Base."

    -- Revision history.
    REVISION "202103181100Z"  -- 18 Mar 2021 11:00:00 Beijing time
    DESCRIPTION
        "Add hh3cBfdTrapBindObjects, and modified the objects of hh3cBfdSessStateDown and hh3cBfdSessStateUp."

    REVISION "202008131100Z"  -- 13 Aug 2020 11:00:00 Beijing time
    DESCRIPTION
        "Modified the objects of hh3cBfdGlobalObjects."

    REVISION "201412131200Z"  -- 13 Dec 2014 12:00:00 Beijing time
    DESCRIPTION
        "Modified the objects of hh3cBfdSessEntry."

    REVISION "201401171200Z"  -- 17 Jan 2014 12:00:00 Beijing time
    DESCRIPTION
        "Modified for bfd trap."

    REVISION "200605161200Z"  -- 08 May 2006 12:00:00 Beijing time
    DESCRIPTION
         "The first version. "

::= { hh3cCommon 72 }

-- Top level components of this MIB module.

hh3cBfdNotifications OBJECT IDENTIFIER ::= { hh3cBfdMIB 0 }
hh3cBfdObjects       OBJECT IDENTIFIER ::= { hh3cBfdMIB 1 }
hh3cBfdConformance   OBJECT IDENTIFIER ::= { hh3cBfdMIB 2 }
hh3cBfdGlobalObjects OBJECT IDENTIFIER ::= { hh3cBfdObjects 1 }
hh3cBfdTrapBindObjects   OBJECT IDENTIFIER ::= { hh3cBfdMIB 3 }

-- Textual Conventions

BfdSessIndexTC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT  "d"
    STATUS        current
    DESCRIPTION
        "An index used to uniquely identify BFD sessions."
    SYNTAX Unsigned32 (1..4294967295)

BfdInterval ::=   TEXTUAL-CONVENTION
    DISPLAY-HINT  "d"
    STATUS        current
    DESCRIPTION
        "A time interval delay in microseconds, which is used by the BFD."
    SYNTAX        Unsigned32 (1..4294967295)

BfdDiag ::=       TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "The diagnostic code is used by the BFD specifying the local
         system's reason for the last session state change, and must
         be initialized to zero(No Diagnostic).

         The 'noDiagnostic' means the session keeps state up.
         The 'controlDetectionTimeExpired' indicates the reason the session
         enters state down from state up is that the control detection time
         expires.
         The 'echoFunctionFailed' indicates the reason the session
         enters state down from state up is that Echo Function fails.
         The 'neighborSignaledSessionDown' indicates the reason the session
         enters state down from state up is that neighbor signals session Down.
         The 'forwardingPlaneReset' indicates the reason the session
         enters state down from state up is that the Forwarding Plane resets.
         The 'pathDown' indicates the reason the session
         enters state down from state up is that the path state is down.
         The 'concatenatedPathDown' indicates the reason the session
         enters state down from state up is that the concatenated path state
         is down.
         The 'administrativelyDown' indicates the reason the session
         enters state down from state up is that the session is kept
         administratively down by entering the AdminDown state.
         The 'reverseConcatenatedPathDown' indicates the reason the session
         enters state down from state up is that reverse concatenated path
         state is down."

    SYNTAX INTEGER { noDiagnostic(1),
                     controlDetectionTimeExpired(2),
                     echoFunctionFailed(3),
                     neighborSignaledSessionDown(4),
                     forwardingPlaneReset(5),
                     pathDown(6),
                     concatenatedPathDown(7),
                     administrativelyDown(8),
                     reverseConcatenatedPathDown(9)
    }

Hh3cBfdBindVpnInstanceName ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "31a"
    STATUS        current
    DESCRIPTION
         "An identifier that is assigned to each MPLS/BGP VPN and
         is used to uniquely identify it.  This is assigned by the
         system operator or NMS and SHOULD be unique throughout
         the MPLS domain.  If this is the case, then this identifier
         can then be used at any LSR within a specific MPLS domain
         to identify this MPLS/BGP VPN.  It may also be possible to
         preserve the uniqueness of this identifier across MPLS
         domain boundaries, in which case this identifier can then
         be used to uniquely identify MPLS/BGP VPNs on a more global
         basis.  This object MAY be set to the VPN ID as defined in
         RFC 2685."
    REFERENCE
        "RFC 2685 Fox B., et al, 'Virtual Private
         Networks Identifier', September 1999."
   SYNTAX OCTET STRING (SIZE (0..31))

Hh3cBfdSessionName ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "64a"
    STATUS       current
    DESCRIPTION
        "A name used to uniquely identify BFD sessions."
    SYNTAX  OCTET STRING(SIZE (0..64))

--  BFD General Variables

--  These variables apply globally to the Router's BFD Process.
hh3cBfdVersionNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "It indicates the BFD session's current version number."
    REFERENCE
        "BFD Version 1 (draft-ietf-bfd-base-04.txt)"
    DEFVAL { 1 }
    ::= { hh3cBfdGlobalObjects 1 }

hh3cBfdSysInitMode OBJECT-TYPE
    SYNTAX      INTEGER { active(1), passive(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A system may take either an active role or a passive role in
         session initialization. A system taking the active role must
         send BFD control packets for a particular session, regardless
         of whether it has received any BFD packets for that session.
         A system taking the passive role must not begin sending BFD
         packets for a particular session until it has received a BFD
         packet for that session, and thus has learned the remote system's
         discriminator value."
    DEFVAL { active }
    ::= { hh3cBfdGlobalObjects 2 }

hh3cBfdSessNotificationsEnable OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This variable enables the emission of hh3cBfdSessStateUp
         hh3cBfdSessStateDown and hh3cBfdSessReachLimit notifications
         if this variable is set to true(1); otherwise these notifications
         are not emitted."
    DEFVAL { false }
    ::= { hh3cBfdGlobalObjects 3 }

hh3cBfdSessNumberLimit OBJECT-TYPE
    SYNTAX        Unsigned32 (1..4294967295)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable is the active session limit of this device."
    ::= { hh3cBfdGlobalObjects 4 }

hh3cBfdSessionsActive OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable is the active session count of this device."
    ::= { hh3cBfdGlobalObjects 5 }


--  BFD Interface Table
--  The BFD Interface Table defines BFD interface specific information.

hh3cBfdIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hh3cBfdIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This Table describes the BFD interface specific information."
    ::= { hh3cBfdObjects 2 }

hh3cBfdIfEntry OBJECT-TYPE
    SYNTAX      Hh3cBfdIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This Entry describes the BFD interface specific information."
    INDEX { hh3cBfdIfIndex }
    ::= { hh3cBfdIfTable 1 }

Hh3cBfdIfEntry ::= SEQUENCE {
        hh3cBfdIfIndex                      InterfaceIndex,
        hh3cBfdIfDesiredMinTxInterval       BfdInterval,
        hh3cBfdIfDesiredMinRxInterval       BfdInterval,
        hh3cBfdIfDetectMult                 Unsigned32,
        hh3cBfdIfAuthType                   INTEGER
    }

hh3cBfdIfIndex OBJECT-TYPE
    SYNTAX        InterfaceIndex
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        "This variable contains an index that represents a
         unique BFD interface on this device."
    ::= { hh3cBfdIfEntry 1 }

hh3cBfdIfDesiredMinTxInterval OBJECT-TYPE
    SYNTAX        BfdInterval
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This variable defines the minimum interval, in
         microseconds, that the interface would like to use when
         transmitting BFD Control packets."
    ::= { hh3cBfdIfEntry 2 }

hh3cBfdIfDesiredMinRxInterval OBJECT-TYPE
    SYNTAX        BfdInterval
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "This variable defines the minimum interval, in,
         microseconds, between received  BFD Control packets the
         local system is capable of supporting."
    ::= { hh3cBfdIfEntry 3 }

hh3cBfdIfDetectMult OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION
        "The desired detect time multiplier for BFD control packets.
         The negotiated control packet transmission interval, multiplied
         by this variable, will be the detection time for this session
         (as seen by the remote system.)  The variable must be a
         nonzero integer."
    ::= { hh3cBfdIfEntry 4 }

hh3cBfdIfAuthType OBJECT-TYPE
    SYNTAX        INTEGER {
                            none(1),
                            simple(2),
                            md5(3),
                            mmd5(4),
                            sha1(5),
                            msha1(6)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The Authentication Type used for this interface. This
         field is valid only when the Authentication Present bit is set.

         The 'none' indicates the session doesn't support
         authentication.
         The 'simple' indicates the session supports simple
         password authentication.
         The 'md5' indicates the session supports Keyed MD5
         authentication.
         The 'mmd5' indicates the session supports
         Meticulous Keyed MD5 authentication.
         The 'sha1' indicates the session supports Keyed SHA1
         authentication.
         The 'msha1' indicates the session supports
         Meticulous Keyed SHA1 authentication."
    DEFVAL { none }
    ::= { hh3cBfdIfEntry 5 }

--  BFD Session Table
--  The BFD Session Table defines BFD session specific information.

hh3cBfdSessTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF Hh3cBfdSessEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This table describes the BFD sessions."
    REFERENCE
        "BFD Version 1 (draft-ietf-bfd-base-04.txt)"
    ::= { hh3cBfdObjects 3 }

hh3cBfdSessEntry OBJECT-TYPE
    SYNTAX        Hh3cBfdSessEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "This Entry describes the BFD sessions."
    INDEX { hh3cBfdSessIndex }
    ::= { hh3cBfdSessTable 1 }

Hh3cBfdSessEntry ::= SEQUENCE {
        hh3cBfdSessIndex                    BfdSessIndexTC,
        hh3cBfdSessIfIndex                  InterfaceIndex,
        hh3cBfdSessAppSupportId             BITS,
        hh3cBfdSessLocalDiscr               Unsigned32,
        hh3cBfdSessRemoteDiscr              Unsigned32,
        hh3cBfdSessDstPort                  InetPortNumber,
        hh3cBfdSessOperMode                 INTEGER,
        hh3cBfdSessAddrType                 InetAddressType,
        hh3cBfdSessLocalAddr                InetAddress,
        hh3cBfdSessRemoteAddr               InetAddress,
        hh3cBfdSessLocalDiag                BfdDiag,
        hh3cBfdSessState                    INTEGER,
        hh3cBfdSessControlPlanIndepFlag     TruthValue,
        hh3cBfdSessAuthFlag                 TruthValue,
        hh3cBfdSessDemandModeFlag           TruthValue
    }

hh3cBfdSessIndex OBJECT-TYPE
    SYNTAX        BfdSessIndexTC
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        "This variable contains an index which represents a
         unique BFD session on this device."
    ::= { hh3cBfdSessEntry 1 }

hh3cBfdSessIfIndex  OBJECT-TYPE
    SYNTAX        InterfaceIndex
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable contains an interface's index under which the BFD
         session runs."
    ::= { hh3cBfdSessEntry 2 }

hh3cBfdSessAppSupportId OBJECT-TYPE
    SYNTAX        BITS {none(0), ospf(1), isis(2), bgp(3), mpls(4)}
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable contains an ID used to indicate
         a local application which owns or maintains this
         BFD session. Note, a BFD session can support several route
         protocols. This is a bit-map of possible conditions.
         The corresponding bit positions are:
         |0        |none        |
         |1        |ospf        |
         |2        |isis        |
         |3        |bgp         |
         |4        |mpls        |
        "
    ::= { hh3cBfdSessEntry 3 }

hh3cBfdSessLocalDiscr OBJECT-TYPE
    SYNTAX        Unsigned32 (1..4294967295)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable defines the local discriminator for this BFD
         session, used to uniquely identify it."
    ::= { hh3cBfdSessEntry 4 }

hh3cBfdSessRemoteDiscr OBJECT-TYPE
    SYNTAX        Unsigned32 (1..4294967295)
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable defines the session discriminator chosen
         by the remote system for this BFD session."
    ::= { hh3cBfdSessEntry 5 }

hh3cBfdSessDstPort OBJECT-TYPE
    SYNTAX        InetPortNumber
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The UDP Port for BFD. The default value is the
         well-known value for this port."
    REFERENCE
        "BFD Version 1 (draft-ietf-bfd-base-04.txt)"
    DEFVAL { 3784 }
    ::= { hh3cBfdSessEntry 6 }

hh3cBfdSessOperMode OBJECT-TYPE
    SYNTAX   INTEGER {
                         asynchModeWOEchoFun(1),
                         demandModeWOEchoFunction(2),
                         asyncModeWEchoFun(3),
                         demandModeWEchoFunction(4)

    }
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "This variable defines current operating mode that BFD
         session is running in.

         The primary mode which the BFD session runs in is known as
         Asynchronous mode.  In this mode, the systems periodically
         send BFD Control packets to one another, and if a number of
         those packets in a row are not received by the other system,
         the session is declared to be down.

         The second mode is known as Demand mode.  In this mode, it is
         assumed that each system has an independent way of verifying
         that it has connectivity to the other system.  Once a BFD
         session is established, the systems stop sending BFD Control
         packets, except when either system feels the need to verify
         connectivity explicitly, in which case a short sequence of BFD
         Control packets is sent, and then the protocol quiesces.

         An adjunct to both modes is the Echo function.  When the Echo
         function is active, a stream of BFD Echo packets is transmitted
         in such a way as to have the other system loop them back through
         its forwarding path. If a number of packets of the echoed data
         stream are not received, the session is declared to be down.
         The Echo function may be used with either Asynchronous or
         Demand modes.

         The 'asynchModeWOEchoFun' indicates this BFD session operates in
         the Asynchronous mode, and doesn't support the Echo Function.

         The 'demandModeWOEchoFunction' indicates this BFD session operates in
         the Demand mode, and doesn't support the Echo Function.

         The 'asyncModeWEchoFun' indicates this BFD session operates in
         the Asynchronous mode, and also supports the Echo Function.

         The 'demandModeWEchoFunction' indicates this BFD session operates in
         the Demand mode, and also supports the Echo Function."
    DEFVAL { asynchModeWOEchoFun }
    ::= { hh3cBfdSessEntry 7 }

hh3cBfdSessAddrType  OBJECT-TYPE
    SYNTAX        InetAddressType
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This object defines IP address type of the interface
         associated with this BFD session.

         Only values unknown(0), ipv4(1) or ipv6(2)
         have to be supported.

         A value of unknown(0) is allowed only when
         the outgoing interface is of type point-to-point, or
         when the BFD session is not associated with a specific
         interface.

         If any other unsupported values are attempted in a set
         operation, the agent must return an inconsistentValue
         error."
    ::= { hh3cBfdSessEntry 8 }

hh3cBfdSessLocalAddr OBJECT-TYPE
    SYNTAX        InetAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable defines IP address of the local interface
         from which the BFD packets is transmitted.
         It can also be used to enabled BFD on a specific
         interface. The value is set to zero when BFD session is not
         associated with a specific interface."
    ::= { hh3cBfdSessEntry 9 }

hh3cBfdSessRemoteAddr OBJECT-TYPE
    SYNTAX        InetAddress
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable defines IP address of the remote interface
         from which the BFD packets is transmitted.
         It can also be used to enabled BFD on a specific
         interface. The value is set to zero when BFD session is not
         associated with a specific interface."
    ::= { hh3cBfdSessEntry 10 }

hh3cBfdSessLocalDiag OBJECT-TYPE
    SYNTAX        BfdDiag
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The BFD diagnostic code for the BFD session was down with the
         neighbor. If no such event happens this object contains a zero
         value."
    DEFVAL { noDiagnostic }
    ::= { hh3cBfdSessEntry 11 }

hh3cBfdSessState OBJECT-TYPE
    SYNTAX        INTEGER {
                           adminDown(0),
                           down(1),
                           init(2),
                           up(3)
    }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The state of the running BFD session.

         There are three states through which a session normally
         proceeds, two for establishing a session (Init and Up)
         and one for tearing down a session (Down.)  This allows
         a three-way handshake for both session establishment and
         session teardown (assuring that both systems are aware of
         all session state changes.)  A fourth state (AdminDown)
         exists so that a session can be administratively put down
         indefinitely.

         The Down state means that the session is down (or has just been
         created.) A session remains in Down state until the remote
         system indicates that it agrees that the session is down by
         sending a BFD Control packet with the State field set to
         anything other than Up.  If that packet signals Down state,
         the session advances to Init state;  if that packet signals
         Init state, the session advances to Up state.

         Init state means that the remote system is 0communicating,
         and the local system desires to bring the session up, but
         the remote system does not yet realize it.  A session will
         remain in Init state until either a BFD Control Packet is
         received that is signaling Init or Up state (in which case
         the session advances to Up state) or until the detection time
         expires, meaning that communication with the remote system
         has been lost (in which case the session advances to Down
         state.)

         Up state means that the BFD session has successfully been
         established, and implies that connectivity between the systems
         is working.  The session will remain in the Up state until either
         connectivity fails, or the session is taken down administratively.
         If either the remote system signals Down state, or the detection
         time expires, the session advances to Down state.

         AdminDown state means that the session is being held
         administratively down.  This causes the remote system to enter
         Down state, and remain there until the local system exits
         AdminDown state."
    DEFVAL { down }
    ::= { hh3cBfdSessEntry 12 }

hh3cBfdSessControlPlanIndepFlag OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable indicates whether the local system
         can continue to work while the control plane is out
         of work. Specifically, it is set to true(1) if the
         local system is independent of the control plane. Otherwise,
         the value is set to false(2)"
    DEFVAL { true }
    ::= { hh3cBfdSessEntry 13 }

hh3cBfdSessAuthFlag OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable indicates that the local system wants
         to use Authentication. Specifically, it is set
         to true(1) if the local system wishes the session
         to be authenticated or false(2) if not."
    DEFVAL { false }
    ::= { hh3cBfdSessEntry 14 }

hh3cBfdSessDemandModeFlag OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "This variable indicates that the local system wants
         to use Demand mode. Specifically, it is set
         to true(1) if the local system wishes to use
         Demand mode or false(2) if not"
    DEFVAL { false }
    ::= { hh3cBfdSessEntry 15 }

-- BFD Session State Table

hh3cBfdSessStatTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF Hh3cBfdSessStatEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "The table defines BFD session state."
    ::= { hh3cBfdObjects 4 }

hh3cBfdSessStatEntry OBJECT-TYPE
    SYNTAX        Hh3cBfdSessStatEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry in this table is created by a BFD-enabled node for
         every BFD Session. It defines BFD session statistics."
    AUGMENTS    { hh3cBfdSessEntry }
    ::= { hh3cBfdSessStatTable 1 }

Hh3cBfdSessStatEntry ::= SEQUENCE {
        hh3cBfdSessStatPktInHC             Counter64,
        hh3cBfdSessStatPktOutHC            Counter64,
        hh3cBfdSessStatDownCount           Counter32,
        hh3cBfdSessStatPktDiscard          Counter64,
        hh3cBfdSessStatPktLost             Counter64
    }


hh3cBfdSessStatPktInHC OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of BFD messages received by this BFD
         session."
    ::= { hh3cBfdSessStatEntry 1 }

hh3cBfdSessStatPktOutHC OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The total number of BFD messages sent by this BFD session."
    ::= { hh3cBfdSessStatEntry 2 }

hh3cBfdSessStatDownCount OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
        "The number of times this session has gone into the Down
         state since the router last rebooted."
    ::= { hh3cBfdSessStatEntry 3 }

hh3cBfdSessStatPktDiscard OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of  packets the local system has discarded
         since the router last rebooted."
    ::= { hh3cBfdSessStatEntry 4 }

hh3cBfdSessStatPktLost OBJECT-TYPE
    SYNTAX        Counter64
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The number of packets the local system has failed to transmit
         since the router last rebooted."
    ::= { hh3cBfdSessStatEntry 5 }


-- BFD Session Performance Table

hh3cBfdSessPerfTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF Hh3cBfdSessPerfEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "The table defines BFD session performance."
    ::= { hh3cBfdObjects 5 }

hh3cBfdSessPerfEntry OBJECT-TYPE
    SYNTAX        Hh3cBfdSessPerfEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        "An entry in this table is created by a BFD-enabled node for
         every BFD session. It defines BFD Session performance."
    AUGMENTS    { hh3cBfdSessEntry }
    ::= { hh3cBfdSessPerfTable 1 }

Hh3cBfdSessPerfEntry ::= SEQUENCE {
        hh3cBfdSessPerfCreatTime       TimeStamp,
        hh3cBfdSessPerfLastUpTime      TimeStamp,
        hh3cBfdSessPerfLastDownTime    TimeStamp
    }

hh3cBfdSessPerfCreatTime OBJECT-TYPE
    SYNTAX        TimeStamp
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The value of sysUpTime when the session was created. If no such
         create event exists this object contains a zero value."
    ::= { hh3cBfdSessPerfEntry 1 }

hh3cBfdSessPerfLastUpTime OBJECT-TYPE
    SYNTAX        TimeStamp
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The value of sysUpTime when the last time communication was lost.
         If no such up event exists this variable contains a zero value."
    ::= { hh3cBfdSessPerfEntry 2 }

hh3cBfdSessPerfLastDownTime OBJECT-TYPE
    SYNTAX        TimeStamp
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
        "The value of sysUpTime when the last time communication was lost
         with the neighbor. If no such event exist this variable contains
         a zero value."
    ::= { hh3cBfdSessPerfEntry 3 }


-- Notification Configuration

hh3cBfdSessName OBJECT-TYPE
    SYNTAX        Hh3cBfdSessionName
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        "A name used to uniquely identify BFD sessions."
    ::= { hh3cBfdTrapBindObjects 1 }

hh3cBfdVpnInstanceName OBJECT-TYPE
    SYNTAX        Hh3cBfdBindVpnInstanceName
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        "The human-readable name of this VPN.  This MAY
         be equivalent to the [RFC2685] VPN-ID, but may
         also vary.  If it is set to the VPN ID, it MUST
         be equivalent to the value of mplsL3VpnVrfVpnId.
         It is strongly recommended that all sites supporting
         VRFs that are part of the same VPN use the same
         naming convention for VRFs as well as the same VPN
         ID."
    REFERENCE
        "[RFC2685]"
    ::= { hh3cBfdTrapBindObjects 2 }

hh3cBfdLocalAddr OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        "This variable defines IP address of the local interface
         from which the BFD packets is transmitted.
         It can also be used to enabled BFD on a specific
         interface. The value is set to zero when BFD session is not
         associated with a specific interface."
    ::= { hh3cBfdTrapBindObjects 3 }

hh3cBfdRemoteAddr OBJECT-TYPE
    SYNTAX        DisplayString
    MAX-ACCESS    accessible-for-notify
    STATUS        current
    DESCRIPTION
        "This variable defines IP address of the local interface
         from which the BFD packets is transmitted.
         It can also be used to enabled BFD on a specific
         interface. The value is set to zero when BFD session is not
         associated with a specific interface."
    ::= { hh3cBfdTrapBindObjects 4 }

hh3cBfdSessStateChange NOTIFICATION-TYPE
    OBJECTS       { hh3cBfdSessIfIndex,
                    hh3cBfdSessIndex,
                    hh3cBfdSessState
    }
    STATUS        current
    DESCRIPTION
        "A notification sent when a session changes
         state, entering state up or entering state down.
         The session will enter state up finishing three times handshakes
         , and will enter state down when the communication path is out
         of work.

         When the hh3cBfdSessState's value is state up, the session enters
         state up, and the session enters state down when the
         hh3cBfdSessState's value is state down.

         The hh3cBfdSessIfIndex contains an interface's index under which
         the BFD session runs.

         The hh3cBfdSessIndex contains an index which represents a
         unique BFD session on this device.

         The hh3cBfdSessState is the state of the running BFD session.
         "
    ::= { hh3cBfdNotifications 1 }

hh3cBfdSessAuthFail NOTIFICATION-TYPE
    OBJECTS       { hh3cBfdIfIndex
    }
    STATUS        current
    DESCRIPTION
        "A notification sent when receiving a session
         with an authentication fail.

         The hh3cBfdIfIndex is an index which represents a unique BFD
         interface on this device.
         "
    ::= { hh3cBfdNotifications 2 }

hh3cBfdSessStateUp NOTIFICATION-TYPE
    OBJECTS       { hh3cBfdSessIfIndex,
                    hh3cBfdSessIndex,
                    hh3cBfdSessState,
                    hh3cBfdSessName,
                    hh3cBfdVpnInstanceName,
                    hh3cBfdLocalAddr,
                    hh3cBfdRemoteAddr
    }
    STATUS        current
    DESCRIPTION
        "A notification sent when a session changes state to up.

         The session will enter state up finishing three times handshakes.

         The hh3cBfdSessIfIndex contains an interface's index under which
         the BFD session runs.

         The hh3cBfdSessIndex contains an index which represents a
         unique BFD session on this device.

         The hh3cBfdSessState is the state of the running BFD session.

         The hh3cBfdSessName is the name of the running BFD session.

         The hh3cBfdVpnInstanceName contains a VPN's name under which
         the BFD session runs.

         The hh3cBfdLocalAddr contains an IP address of the local interface
         from which the BFD packets is transmitted.

         The hh3cBfdRemoteAddr contains an IP address of the remote interface
         from which the BFD packets is transmitted.
         "
    ::= { hh3cBfdNotifications 3 }

hh3cBfdSessStateDown NOTIFICATION-TYPE
    OBJECTS       { hh3cBfdSessIfIndex,
                    hh3cBfdSessIndex,
                    hh3cBfdSessState,
                    hh3cBfdSessName,
                    hh3cBfdVpnInstanceName,
                    hh3cBfdLocalAddr,
                    hh3cBfdRemoteAddr
    }
    STATUS        current
    DESCRIPTION
        "A notification sent when a session changes state to down.

         The session will enter state down when the communication path is out
         of work.

         The hh3cBfdSessIfIndex contains an interface's index under which
         the BFD session runs.

         The hh3cBfdSessIndex contains an index which represents a
         unique BFD session on this device.

         The hh3cBfdSessState is the state of the running BFD session.

         The hh3cBfdSessName is the name of the running BFD session.

         The hh3cBfdVpnInstanceName contains a VPN's name under which
         the BFD session runs.

         The hh3cBfdLocalAddr contains an IP address of the local interface
         from which the BFD packets is transmitted.

         The hh3cBfdRemoteAddr contains an IP address of the remote interface
         from which the BFD packets is transmitted.
         "
    ::= { hh3cBfdNotifications 4 }

hh3cBfdSessReachLimit NOTIFICATION-TYPE
    OBJECTS       { hh3cBfdSessNumberLimit
    }
    STATUS        current
    DESCRIPTION
        "A notification would be sent when the number of active BFD sessions
         reached this device's upper limit and no more session could be
         activated.

         The hh3cBfdSessNumberLimit is the active session limit of this device."
    ::= { hh3cBfdNotifications 5 }

END