This file is indexed.

/usr/share/snmp/mibs/VRRPv3-MIB.txt is in keepalived 1:1.3.9-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
VRRPV3-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        NOTIFICATION-TYPE, Counter32,
        Integer32, mib-2, Unsigned32,
        Counter64, TimeTicks
            FROM SNMPv2-SMI                 -- RFC2578

        TEXTUAL-CONVENTION, RowStatus,
        MacAddress, TruthValue, TimeStamp,
        TimeInterval
            FROM SNMPv2-TC                  -- RFC2579

        MODULE-COMPLIANCE, OBJECT-GROUP,
        NOTIFICATION-GROUP
            FROM SNMPv2-CONF                -- RFC2580

        ifIndex
            FROM IF-MIB                     -- RFC2863

        InetAddressType, InetAddress
            FROM INET-ADDRESS-MIB;          -- RFC4001

   vrrpv3MIB  MODULE-IDENTITY
        LAST-UPDATED "201202130000Z"         -- Feb 13, 2012
        ORGANIZATION "IETF VRRP Working Group"
        CONTACT-INFO
               "WG E-Mail: vrrp@ietf.org

                Editor:    Kalyan Tata
                           Nokia
                           313 Fairchild Dr,
                           Mountain View, CA 94043
                           Tata_kalyan@yahoo.com"

        DESCRIPTION
            "This MIB describes objects used for managing Virtual
             Router Redundancy Protocol version 3 (VRRPv3).

             Copyright (c) 2012 IETF Trust and the persons
             identified as authors of the code.  All rights
             reserved.

             Redistribution and use in source and binary forms,
             with or without modification, is permitted pursuant
             to, and subject to the license terms contained in,
             the Simplified BSD License set forth in Section
             4.c of the IETF Trust's Legal Provisions Relating
             to IETF Documents
             (http://trustee.ietf.org/license-info).

             This version of the MIB module is part of RFC 6527.
             Please see the RFC for full legal notices."

        REVISION "201202130000Z"    -- Feb 13, 2012
        DESCRIPTION "Initial version as published in RFC 6527."

        ::= { mib-2 207 }

-- Textual Conventions

   Vrrpv3VrIdTC ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d"
        STATUS       current
        DESCRIPTION
            "The value of the Virtual Router Identifier noted as
            (VRID) in RFC 5798.  This, along with interface index
            (ifIndex) and IP version, serves to uniquely identify
            a virtual router on a given VRRP router."
        REFERENCE "RFC 5798 (Sections 3 and 5.2.3)"
        SYNTAX      Integer32 (1..255)

--  VRRPv3 MIB Groups

   vrrpv3Notifications   OBJECT IDENTIFIER ::= { vrrpv3MIB 0 }
   vrrpv3Objects         OBJECT IDENTIFIER ::= { vrrpv3MIB 1 }
   vrrpv3Conformance     OBJECT IDENTIFIER ::= { vrrpv3MIB 2 }

-- VRRPv3 MIB Objects

   vrrpv3Operations      OBJECT IDENTIFIER ::= { vrrpv3Objects 1 }
   vrrpv3Statistics      OBJECT IDENTIFIER ::= { vrrpv3Objects 2 }

--  VRRPv3 Operations Table

    vrrpv3OperationsTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF Vrrpv3OperationsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "Unified Operations table for a VRRP router that
             consists of a sequence (i.e., one or more conceptual
             rows) of 'vrrpv3OperationsEntry' items each of which
             describe the operational characteristics of a virtual
             router."

        ::= { vrrpv3Operations 1 }

    vrrpv3OperationsEntry OBJECT-TYPE
        SYNTAX       Vrrpv3OperationsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "An entry in the vrrpv3OperationsTable containing the
             operational characteristics of a virtual router.
             On a VRRP router, a given virtual router is
             identified by a combination of ifIndex, VRID, and
             the IP version.  ifIndex represents an interface of
             the router.

             A row must be created with vrrpv3OperationsStatus
             set to initialize(1) and cannot transition to
             backup(2) or master(3) until
             vrrpv3OperationsRowStatus is transitioned to
             active(1).

             The information in this table is persistent and when
             written the entity SHOULD save the change to non-
             volatile storage."

        INDEX    { ifIndex, vrrpv3OperationsVrId,
                   vrrpv3OperationsInetAddrType
                  }
        ::= { vrrpv3OperationsTable 1 }

    Vrrpv3OperationsEntry ::=

        SEQUENCE {
            vrrpv3OperationsVrId
                Vrrpv3VrIdTC,
            vrrpv3OperationsInetAddrType
                InetAddressType,
            vrrpv3OperationsMasterIpAddr
                InetAddress,
            vrrpv3OperationsPrimaryIpAddr
                InetAddress,
            vrrpv3OperationsVirtualMacAddr
                MacAddress,
            vrrpv3OperationsStatus
                INTEGER,
            vrrpv3OperationsPriority
                Unsigned32,
            vrrpv3OperationsAddrCount
                Integer32,
            vrrpv3OperationsAdvInterval
                TimeInterval,
            vrrpv3OperationsPreemptMode
                TruthValue,
            vrrpv3OperationsAcceptMode
                TruthValue,
            vrrpv3OperationsUpTime
                TimeTicks,
            vrrpv3OperationsRowStatus
                RowStatus
    }
    vrrpv3OperationsVrId OBJECT-TYPE
        SYNTAX       Vrrpv3VrIdTC
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "This object contains the Virtual Router Identifier
             (VRID)."
        REFERENCE "RFC 4001"
        ::= { vrrpv3OperationsEntry 1 }

    vrrpv3OperationsInetAddrType OBJECT-TYPE
        SYNTAX       InetAddressType
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "The IP address type of Vrrpv3OperationsEntry and
            Vrrpv3AssociatedIpAddrEntry.  This value determines
            the type for vrrpv3OperationsMasterIpAddr,
            vrrpv3OperationsPrimaryIpAddr, and
            vrrpv3AssociatedIpAddrAddress.

             ipv4(1) and ipv6(2) are the only two values supported
             in this MIB module."
        REFERENCE "RFC 4001"
        ::= { vrrpv3OperationsEntry 2 }

    vrrpv3OperationsMasterIpAddr OBJECT-TYPE
        SYNTAX       InetAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
          "The master router's real IP address.  The master router
          would set this address to vrrpv3OperationsPrimaryIpAddr
          while transitioning to master state.  For backup
          routers, this is the IP address listed as the source in
          the VRRP advertisement last received by this virtual
          router."
        REFERENCE "RFC 5798"
        ::= { vrrpv3OperationsEntry 3 }

    vrrpv3OperationsPrimaryIpAddr OBJECT-TYPE
        SYNTAX       InetAddress
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
            "In the case where there is more than one IP
            Address (associated IP addresses) for a given
            'ifIndex', this object is used to specify the IP
            address that will become the
            vrrpv3OperationsMasterIpAddr', should the virtual
            router transition from backup state to master."
        ::= { vrrpv3OperationsEntry 4 }

    vrrpv3OperationsVirtualMacAddr OBJECT-TYPE
        SYNTAX       MacAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The virtual MAC address of the virtual router.
           Although this object can be derived from the
           'vrrpv3OperationsVrId' object, it is defined so that it
           is easily obtainable by a management application and
           can be included in VRRP-related SNMP notifications."
        ::= { vrrpv3OperationsEntry 5 }

    vrrpv3OperationsStatus OBJECT-TYPE
        SYNTAX       INTEGER {
            initialize(1),
            backup(2),
            master(3)
        }
        MAX-ACCESS   read-only
        STATUS       current

        DESCRIPTION
            "The current state of the virtual router.  This object
            has three defined values:

            - 'initialize', which indicates that the
               virtual router is waiting for a startup event.

            - 'backup', which indicates that the virtual router is
               monitoring the availability of the master router.

            - 'master', which indicates that the virtual router
               is forwarding packets for IP addresses that are
               associated with this router."
        REFERENCE "RFC 5798"
        ::= { vrrpv3OperationsEntry 6 }

    vrrpv3OperationsPriority OBJECT-TYPE
        SYNTAX       Unsigned32 (0..255)
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
          "This object specifies the priority to be used for the
          virtual router master election process; higher values
          imply higher priority.

          A priority of '0', although not settable, is sent by
          the master router to indicate that this router has
          ceased to participate in VRRP, and a backup virtual
          router should transition to become a new master.

          A priority of 255 is used for the router that owns the
          associated IP address(es) for VRRP over IPv4 and hence
          is not settable.

          Setting the values of this object to 0 or 255 should be
          rejected by the agents implementing this MIB module.
          For example, an SNMP agent would return 'badValue(3)'
          when a user tries to set the values 0 or 255 for this
          object."

        REFERENCE "RFC 5798, Section 6.1"
        DEFVAL       { 100 }
        ::= { vrrpv3OperationsEntry 7 }

    vrrpv3OperationsAddrCount OBJECT-TYPE
        SYNTAX       Integer32 (0..255)
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The number of IP addresses that are associated with
            this virtual router.  This number is equal to the
            number of rows in the vrrpv3AssociatedAddrTable that
            correspond to a given ifIndex/VRID/IP version."
        REFERENCE "RFC 5798, Section 6.1"
        ::= { vrrpv3OperationsEntry 8 }

    vrrpv3OperationsAdvInterval OBJECT-TYPE
        SYNTAX       TimeInterval (1..4095)
        UNITS        "centiseconds"
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
            "The time interval, in centiseconds, between sending
            advertisement messages.  Only the master router sends
            VRRP advertisements."
        REFERENCE "RFC 5798, Section 6.1"
        DEFVAL       { 100}
        ::= { vrrpv3OperationsEntry 9 }

    vrrpv3OperationsPreemptMode OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
          "Controls whether a higher priority virtual router will
          preempt a lower priority master."
        REFERENCE "RFC 5798, Section 6.1"
        DEFVAL       { true }
        ::= { vrrpv3OperationsEntry 10 }

    vrrpv3OperationsAcceptMode OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
           "Controls whether a virtual router in master state
           will accept packets addressed to the address owner's
           IPv6 address as its own if it is not the IPv6 address
           owner.  Default is false(2).
           This object is not relevant for rows representing VRRP
           over IPv4 and should be set to false(2)."
        DEFVAL       { false }
        ::= { vrrpv3OperationsEntry 11 }

    vrrpv3OperationsUpTime OBJECT-TYPE
        SYNTAX       TimeTicks
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "This value represents the amount of time, in
            TimeTicks (hundredth of a second), since this virtual
            router (i.e., the 'vrrpv3OperationsStatus')
            transitioned out of 'initialize'."
        REFERENCE "RFC 5798, Section 6.1"
        ::= { vrrpv3OperationsEntry 12 }

    vrrpv3OperationsRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
          "The RowStatus variable should be used in accordance to
           installation and removal conventions for conceptual
           rows.

           To create a row in this table, a manager sets this
           object to either createAndGo(4) or createAndWait(5).
           Until instances of all corresponding columns are
           appropriately configured, the value of the
           corresponding instance of the
           'vrrpv3OperationsRowStatus' column will be read as
           notReady(3).
           In particular, a newly created row cannot be made
           active(1) until (minimally) the corresponding instance
           of vrrpv3OperationsInetAddrType, vrrpv3OperationsVrId,
           and vrrpv3OperationsPrimaryIpAddr has been set, and
           there is at least one active row in the
           'vrrpv3AssociatedIpAddrTable' defining an associated
           IP address.

           notInService(2) should be used to administratively
           bring the row down.

           A typical order of operation to add a row is:
           1. Create a row in vrrpv3OperationsTable with
           createAndWait(5).
           2. Create one or more corresponding rows in
           vrrpv3AssociatedIpAddrTable.
           3. Populate the vrrpv3OperationsEntry.
           4. Set vrrpv3OperationsRowStatus to active(1).

           A typical order of operation to delete an entry is:
           1. Set vrrpv3OperationsRowStatus to notInService(2).
           2. Set the corresponding rows in
           vrrpv3AssociatedIpAddrTable to destroy(6) to delete
           the entry.
           3. Set vrrpv3OperationsRowStatus to destroy(6) to
           delete the entry."
        ::= { vrrpv3OperationsEntry 13 }

--  VRRP Associated Address Table

    vrrpv3AssociatedIpAddrTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF Vrrpv3AssociatedIpAddrEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "The table of addresses associated with each virtual
             router."
        ::= { vrrpv3Operations 2 }

    vrrpv3AssociatedIpAddrEntry OBJECT-TYPE
        SYNTAX       Vrrpv3AssociatedIpAddrEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
           "An entry in the table contains an IP address that is
           associated with a virtual router.  The number of rows
           for a given IP version, VrID, and ifIndex will equal
           the number of IP addresses associated (e.g., backed up)
           by the virtual router (equivalent to
           'vrrpv3OperationsIpAddrCount').

           Rows in the table cannot be modified unless the value
           of 'vrrpv3OperationsStatus' for the corresponding entry
           in the vrrpv3OperationsTable has transitioned to
           initialize(1).

           The information in this table is persistent and when
           written the entity SHOULD save the change to non-
           volatile storage."

        INDEX    { ifIndex, vrrpv3OperationsVrId,
                   vrrpv3OperationsInetAddrType,
                   vrrpv3AssociatedIpAddrAddress }

        ::= { vrrpv3AssociatedIpAddrTable 1 }

    Vrrpv3AssociatedIpAddrEntry ::=
        SEQUENCE {
            vrrpv3AssociatedIpAddrAddress

                InetAddress,
            vrrpv3AssociatedIpAddrRowStatus
                RowStatus
    }

    vrrpv3AssociatedIpAddrAddress OBJECT-TYPE
        SYNTAX       InetAddress (SIZE (0|4|16))
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "The assigned IP addresses that a virtual router is
            responsible for backing up.

            The IP address type is determined by the value of
            vrrpv3OperationsInetAddrType in the index of this
            row."
        REFERENCE "RFC 5798"
        ::= { vrrpv3AssociatedIpAddrEntry 1 }

    vrrpv3AssociatedIpAddrRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
          "The row status variable, used according to
          installation and removal conventions for conceptual
          rows.  To create a row in this table, a manager sets
          this object to either createAndGo(4) or
          createAndWait(5).  Setting this object to active(1)
          results in the addition of an associated address for a
          virtual router.  Setting this object to notInService(2)
          results in administratively bringing down the row.

          Destroying the entry or setting it to destroy(6)
          removes the associated address from the virtual router.
          The use of other values is implementation-dependent.

          Implementations should not allow deletion of the last
          row corresponding to an active row in
          vrrpv3OperationsTable.

          Refer to the description of vrrpv3OperationsRowStatus
          for typical row creation and deletion scenarios."
        ::= { vrrpv3AssociatedIpAddrEntry 2 }

--  VRRP Router Statistics

    vrrpv3RouterChecksumErrors OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received with an
            invalid VRRP checksum value.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3GlobalStatisticsDiscontinuityTime."

        REFERENCE "RFC 5798, Section 5.2.8"
        ::= { vrrpv3Statistics 1 }

    vrrpv3RouterVersionErrors OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received with an
            unknown or unsupported version number.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3GlobalStatisticsDiscontinuityTime."

        REFERENCE "RFC 5798, Section 5.2.1"
        ::= { vrrpv3Statistics 2 }

    vrrpv3RouterVrIdErrors OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
       STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received with a
             VRID that is not valid for any virtual router on this
             router.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3GlobalStatisticsDiscontinuityTime."

        REFERENCE "RFC 5798, Section 5.2.3"
        ::= { vrrpv3Statistics 3 }

   vrrpv3GlobalStatisticsDiscontinuityTime OBJECT-TYPE
       SYNTAX     TimeStamp
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
         "The value of sysUpTime on the most recent occasion at
          which one of vrrpv3RouterChecksumErrors,
          vrrpv3RouterVersionErrors, and vrrpv3RouterVrIdErrors
          suffered a discontinuity.

          If no such discontinuities have occurred since the last
          re-initialization of the local management subsystem,
          then this object contains a zero value."

       ::= { vrrpv3Statistics 4 }

--  VRRP Router Statistics Table

    vrrpv3StatisticsTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF Vrrpv3StatisticsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "Table of virtual router statistics."
        ::= { vrrpv3Statistics 5 }

    vrrpv3StatisticsEntry OBJECT-TYPE
        SYNTAX       Vrrpv3StatisticsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "An entry in the table containing statistics
            information about a given virtual router."
        AUGMENTS    { vrrpv3OperationsEntry }
        ::= { vrrpv3StatisticsTable 1 }

    Vrrpv3StatisticsEntry ::=
        SEQUENCE {
            vrrpv3StatisticsMasterTransitions
                Counter32,
            vrrpv3StatisticsNewMasterReason
                INTEGER,
            vrrpv3StatisticsRcvdAdvertisements
                Counter64,
            vrrpv3StatisticsAdvIntervalErrors
                Counter64,
            vrrpv3StatisticsIpTtlErrors
                Counter64,
            vrrpv3StatisticsProtoErrReason
                INTEGER,
            vrrpv3StatisticsRcvdPriZeroPackets
                Counter64,
            vrrpv3StatisticsSentPriZeroPackets
                Counter64,
            vrrpv3StatisticsRcvdInvalidTypePackets
                Counter64,
            vrrpv3StatisticsAddressListErrors
                Counter64,
            vrrpv3StatisticsPacketLengthErrors
                Counter64,
            vrrpv3StatisticsRowDiscontinuityTime
                 TimeStamp,
            vrrpv3StatisticsRefreshRate
                 Unsigned32
        }

    vrrpv3StatisticsMasterTransitions OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of times that this virtual router's
            state has transitioned to master state.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."
        ::= { vrrpv3StatisticsEntry 1 }

   vrrpv3StatisticsNewMasterReason OBJECT-TYPE
        SYNTAX        INTEGER {
            notMaster (0),
            priority  (1),
            preempted (2),
            masterNoResponse (3)
        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "This indicates the reason for the virtual router to
           transition to master state.  If the virtual router
           never transitioned to master state, the value of this
           object is notMaster(0).  Otherwise, this indicates the
           reason this virtual router transitioned to master
           state the last time.  Used by vrrpv3NewMaster
           notification."
        ::= { vrrpv3StatisticsEntry 2 }

    vrrpv3StatisticsRcvdAdvertisements OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP advertisements received by
            this virtual router.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."

        ::= { vrrpv3StatisticsEntry 3 }

    vrrpv3StatisticsAdvIntervalErrors OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP advertisement packets
            received for which the advertisement interval is
            different from the vrrpv3OperationsAdvInterval
            configured on this virtual router.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."

        ::= { vrrpv3StatisticsEntry 4 }

    vrrpv3StatisticsIpTtlErrors OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received by the
            virtual router with IPv4 TTL (for VRRP over IPv4) or
            IPv6 Hop Limit (for VRRP over IPv6) not equal to 255.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."
        REFERENCE "RFC 5798, Section 5.1.1.3"
        ::= { vrrpv3StatisticsEntry 5 }

   vrrpv3StatisticsProtoErrReason OBJECT-TYPE
        SYNTAX        INTEGER {
            noError (0),
            ipTtlError (1),
            versionError  (2),
            checksumError (3),
            vrIdError(4)
        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "This indicates the reason for the last protocol
            error.  This SHOULD be set to noError(0) when no
            protocol errors are encountered.  Used by
            vrrpv3ProtoError notification."
        ::= { vrrpv3StatisticsEntry 6 }

    vrrpv3StatisticsRcvdPriZeroPackets OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received by the
            virtual router with a priority of '0'.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."
        REFERENCE "RFC 5798, Section 5.2.4"
        ::= { vrrpv3StatisticsEntry 7 }

    vrrpv3StatisticsSentPriZeroPackets OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets sent by the virtual
            router with a priority of '0'.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."
        REFERENCE "RFC 5798, Section 5.2.4"
        ::= { vrrpv3StatisticsEntry 8 }

    vrrpv3StatisticsRcvdInvalidTypePackets OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The number of VRRP packets received by the virtual
            router with an invalid value in the 'type' field.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."
        ::= { vrrpv3StatisticsEntry 9 }

    vrrpv3StatisticsAddressListErrors OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of packets received for which the
            address list does not match the locally configured
            list for the virtual router.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."
        ::= { vrrpv3StatisticsEntry 10 }

    vrrpv3StatisticsPacketLengthErrors OBJECT-TYPE
        SYNTAX       Counter64
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of packets received with a packet
            length less than the length of the VRRP header.

            Discontinuities in the value of this counter can occur
            at re-initialization of the management system, and at
            other times as indicated by the value of
            vrrpv3StatisticsRowDiscontinuityTime."
        ::= { vrrpv3StatisticsEntry 11 }

   vrrpv3StatisticsRowDiscontinuityTime OBJECT-TYPE
       SYNTAX     TimeStamp
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
          which any one or more of this entry's counters
          suffered a discontinuity.

          If no such discontinuities have occurred since the last
          re-initialization of the local management subsystem,
          then this object contains a zero value."
       ::= { vrrpv3StatisticsEntry 12 }

   vrrpv3StatisticsRefreshRate OBJECT-TYPE
       SYNTAX     Unsigned32
       UNITS "milliseconds"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
         "The minimum reasonable polling interval for this entry.
          This object provides an indication of the minimum
          amount of time required to update the counters in this
          entry."
       ::= { vrrpv3StatisticsEntry 13 }

--   Notification Definitions
--   Notifications may be controlled using SNMP-NOTIFICATION-MIB

    vrrpv3NewMaster NOTIFICATION-TYPE
        OBJECTS      {
                       vrrpv3OperationsMasterIpAddr,
                       vrrpv3StatisticsNewMasterReason
                     }
        STATUS       current
        DESCRIPTION
            "The newMaster notification indicates that the sending
            agent has transitioned to master state."
        ::= { vrrpv3Notifications 1 }

    vrrpv3ProtoError NOTIFICATION-TYPE
        OBJECTS      {
                       vrrpv3StatisticsProtoErrReason
                     }
        STATUS       current
        DESCRIPTION
            "The notification indicates that the sending agent has
            encountered the protocol error indicated by
            vrrpv3StatisticsProtoErrReason."
        ::= { vrrpv3Notifications 2 }

--  Conformance Information

 vrrpv3Compliances  OBJECT IDENTIFIER ::= { vrrpv3Conformance 1 }
 vrrpv3Groups       OBJECT IDENTIFIER ::= { vrrpv3Conformance 2 }

-- Compliance Statements

    vrrpv3FullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
           "The compliance statement"
        MODULE -- this module
        MANDATORY-GROUPS  {
            vrrpv3OperationsGroup,
            vrrpv3StatisticsGroup,
            vrrpv3InfoGroup,
            vrrpv3NotificationsGroup
        }
        OBJECT        vrrpv3OperationsPriority
        WRITE-SYNTAX  Unsigned32 (1..254)
        DESCRIPTION  "Setable values are from 1 to 254."
        ::= { vrrpv3Compliances 1 }

    vrrpv3ReadOnlyCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
           "When this MIB module is implemented without support
           for read-create (i.e., in read-only mode), then such
           an implementation can claim read-only compliance.
           Such a device can then be monitored, but cannot be
           configured with this MIB."

        MODULE -- this module
        MANDATORY-GROUPS  {
            vrrpv3OperationsGroup,
            vrrpv3StatisticsGroup,
            vrrpv3StatisticsDiscontinuityGroup,
            vrrpv3InfoGroup,
            vrrpv3NotificationsGroup
        }

        OBJECT        vrrpv3OperationsPriority
        MIN-ACCESS    read-only
        DESCRIPTION  "Write access is not required."

        OBJECT        vrrpv3OperationsPrimaryIpAddr
        MIN-ACCESS    read-only
        DESCRIPTION  "Write access is not required."
        OBJECT        vrrpv3OperationsAdvInterval
        MIN-ACCESS    read-only
        DESCRIPTION  "Write access is not required."

        OBJECT        vrrpv3OperationsPreemptMode
        MIN-ACCESS    read-only
        DESCRIPTION  "Write access is not required."

        OBJECT        vrrpv3OperationsAcceptMode
        MIN-ACCESS    read-only
        DESCRIPTION  "Write access is not required."

        OBJECT        vrrpv3OperationsRowStatus
        MIN-ACCESS    read-only
        DESCRIPTION  "Write access is not required."

        OBJECT        vrrpv3AssociatedIpAddrRowStatus
        MIN-ACCESS    read-only
        DESCRIPTION  "Write access is not required."

        ::= { vrrpv3Compliances 2 }

-- Conformance Groups

    vrrpv3OperationsGroup   OBJECT-GROUP
        OBJECTS  {
            vrrpv3OperationsVirtualMacAddr,
            vrrpv3OperationsStatus,
            vrrpv3OperationsPriority,
            vrrpv3OperationsMasterIpAddr,
            vrrpv3OperationsAdvInterval,
            vrrpv3OperationsPreemptMode,
            vrrpv3OperationsAcceptMode,
            vrrpv3OperationsUpTime,
            vrrpv3OperationsRowStatus,
            vrrpv3OperationsAddrCount,
            vrrpv3OperationsPrimaryIpAddr,
            vrrpv3AssociatedIpAddrRowStatus
            }
        STATUS current
        DESCRIPTION
           "Conformance group for VRRPv3 operations."
        ::= { vrrpv3Groups 1 }

    vrrpv3StatisticsGroup  OBJECT-GROUP
        OBJECTS  {
            vrrpv3RouterChecksumErrors,
            vrrpv3RouterVersionErrors,
            vrrpv3RouterVrIdErrors,
            vrrpv3StatisticsMasterTransitions,
            vrrpv3StatisticsNewMasterReason,
            vrrpv3StatisticsRcvdAdvertisements,
            vrrpv3StatisticsAdvIntervalErrors,
            vrrpv3StatisticsRcvdPriZeroPackets,
            vrrpv3StatisticsSentPriZeroPackets,
            vrrpv3StatisticsRcvdInvalidTypePackets,
            vrrpv3StatisticsIpTtlErrors,
            vrrpv3StatisticsProtoErrReason,
            vrrpv3StatisticsAddressListErrors,
            vrrpv3StatisticsPacketLengthErrors,
            vrrpv3StatisticsRowDiscontinuityTime,
            vrrpv3StatisticsRefreshRate
            }
        STATUS current
        DESCRIPTION
           "Conformance group for VRRPv3 statistics."
        ::= { vrrpv3Groups 2 }

    vrrpv3StatisticsDiscontinuityGroup  OBJECT-GROUP
        OBJECTS  {
            vrrpv3GlobalStatisticsDiscontinuityTime
            }
        STATUS current
        DESCRIPTION
           "Objects providing information about counter
            discontinuities."
        ::= { vrrpv3Groups 3 }

    vrrpv3InfoGroup  OBJECT-GROUP
        OBJECTS  {
            vrrpv3StatisticsProtoErrReason,
            vrrpv3StatisticsNewMasterReason
            }
        STATUS current
        DESCRIPTION
           "Conformance group for objects contained in VRRPv3
            notifications."
        ::= { vrrpv3Groups 4 }

    vrrpv3NotificationsGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
            vrrpv3NewMaster,
            vrrpv3ProtoError
            }
        STATUS current
        DESCRIPTION
           "The VRRP MIB Notification Group."
        ::= { vrrpv3Groups 5 }

END