Re: [VRRP] AD review of draft-ietf-vrrp-unified-mib

"Kalyan (Srinivas)Tata" <> Thu, 03 March 2011 00:29 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4ED3F3A6906 for <>; Wed, 2 Mar 2011 16:29:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.596
X-Spam-Status: No, score=-8.596 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, TRACKER_ID=2.003]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id alYtrxfrKccF for <>; Wed, 2 Mar 2011 16:29:03 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 0082C3A67F5 for <>; Wed, 2 Mar 2011 16:29:02 -0800 (PST)
X-CheckPoint: {4D6EE111-0-8AF0C8D8-FFFF}
Received: from ( []) by (8.14.4/8.14.4) with ESMTP id p230U3Kg017708; Wed, 2 Mar 2011 16:30:03 -0800
Received: from ([]) by ([]) with mapi; Wed, 2 Mar 2011 16:30:41 -0800
From: "Kalyan (Srinivas)Tata" <>
To: "" <>, "" <>
Date: Wed, 2 Mar 2011 16:30:01 -0800
Thread-Topic: [VRRP] AD review of draft-ietf-vrrp-unified-mib
Thread-Index: Acuva0OcqLfS66ZMQcaBNWv0h/TCQwnwlXvQ
Message-ID: <>
References: <00a701cbaf6b$6dfdc460$49f94d20$>
In-Reply-To: <00a701cbaf6b$6dfdc460$49f94d20$>
Accept-Language: en-US
Content-Language: en-US
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "" <>, "" <>
Subject: Re: [VRRP] AD review of draft-ietf-vrrp-unified-mib
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual Router Redundancy Protocol <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 03 Mar 2011 00:29:04 -0000

Hi Adrian,
Thanks again for the review - I made most of the changes suggested by you - I listed some of the changes for any comments &
I have couple of questions/clarifications inline:


Creation and deletion of a vrrpv3OperationsTable row

[kalyan>>>] This is what i have based on your suggestions. Please comment if this looks OK

    vrrpv3OperationsEntry OBJECT-TYPE 
        SYNTAX       Vrrpv3OperationsEntry 
        MAX-ACCESS   not-accessible 
        STATUS       current 
            "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 a 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, 
        ::= { vrrpv3OperationsTable 1 }

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

            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 

            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 
               2. Create one or more corresponding rows in
            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 
            3. set vrrpv3OperationsRowStatus to destroy(6) to 
            delete the entry." 
        ::= { vrrpv3OperationsEntry 13 }



You should add a statement the description that says that the content of the object is to be interpreted in the context of the setting of vrrpv3OperationsInetAddrType in the index of this row.

[kalyan>>>]  Following is what i added :
    vrrpv3AssociatedIpAddrAddress OBJECT-TYPE 
        SYNTAX       InetAddress (SIZE (0|4|16))
        MAX-ACCESS   not-accessible 
        STATUS       current 
            "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
        REFERENCE " RFC 5798 "
        ::= { vrrpv3AssociatedIpAddrEntry 1 }


VRRP Router Statistics  

Do you need a discontinuity timer for the three global objects:
- vrrpv3RouterChecksumErrors
- vrrpv3RouterVersionErrors
- vrrpv3RouterVrIdErrors

[kalyan>>>]  I added the following :

   vrrpv3GlobalStatisticsDiscontinuityTime OBJECT-TYPE 
       SYNTAX     TimeStamp 
       MAX-ACCESS read-only 
       STATUS     current 
           "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  

In the presence of an attack or a broken router or host nearby, is it possible that Countr32 will not be large enough for the up-time of this router?

You can choose to use Counter64 or describe wrapping conditions.

[kalyan>>>] Changed all the statistics counters to Counter64 except for 


               "The total number of VRRP advertisement packets  
               received for which the advertisement interval is  
               different than the one configured for the local virtual 

Can you add a reference to vrrpv3OperationsAdvInterval

[kalyan>>>]  Following is the new text i have :

           The total number of VRRP advertisement packets 
            received for which the advertisement interval is 
            different from the vrrpv3OperationsAdvInterval 
            configured on this virtual router.


Don't you think this is a *really* dangerous notification?

If a VR is under attack or receiving packets from a faulty speaker, it will spew notifications.

You should probably either add some thresholding objects (which is a fair bit of work) or a single object to turn notifications on and off (with the default being "off").

[kalyan>>>] I agree.  I had a notification control object in  earlier drafts but was asked to be removed  during MIB DR. review. Following is the 
cut and paste of the comments:

>> * vrrpTrapNewMasterCntl, vrrpTrapProtoErrorCntl
>> Could notifications be generated or not, using
>> RFC3413?
> [Kalyan>] Notifications could be filtered/generated using RFC3413. I added
> these to conveniently control notifications within this MIB (Based on
> request from some one on the mailing list) You suggest we get rid of these?

Yes, I think that most operators would likely use rfc3413.  Having this in 2
may create some confusion...



As currently specified, both of the notifications will come from the management agent which will identify the physical router that sourced the notification, but not the VR.

Don't you need to add some index values to the notifications as well?

[kalyan>>>] Good point. Added the Following to uniquely identify row in vrrpv3OperationsTable:

    vrrpv3NewMaster NOTIFICATION-TYPE 
        OBJECTS      { ifIndex,
        STATUS       current 
            "The newMaster notification indicates that the sending
            agent has transitioned to 'Master' state." 
        ::= { vrrpv3Notifications 1 } 
    vrrpv3ProtoError NOTIFICATION-TYPE 
        OBJECTS      { ifIndex,
        STATUS       current 
            "The notification indicates that the sending agent has 
            encountered the protocol error indicated by 
        ::= { vrrpv3Notifications 2 }


Section 11                                                                    

Since you are obsoleting RFC 2787, is it your intention to ask IANA to deprecate {mib-2 68} ?

[kalyan>>>] Yes.  I added the following to IANA considerations :

   [Editor's Note (to be removed prior to publication):  The IANA is 
   requested to assign a value for "ZZZ" under the 'mib-2' subtree 
   and to record the assignment in the SMI Numbers registry. When 
   the assignment has been made, the RFC Editor is asked to replace 
   "ZZZ" (here and in the MIB module) with the assigned value.

   This document obsoletes RFC 2787 and the IANA is requested to
   deprecate the value 68 under 'mib-2' assigned to VRRP-MIB.]


Would you please consider adding a short section on migrating from VRRP-MIB to VRRPV3-MIB?

[kalyan>>>] I am not sure there is a smooth migration path from VRRP-MIB to VRRPV3-MIB - I think we made a conscious decision 
	that VRRV3 MIB will only support RFC5798 and will not support earlier versions.  

	The way i see it -  Routers that implement  RFC2338 and VRRP-MIB will have to first migrate to RFC5798 and then make changes to 
	VRRP-MIB implementation  to conform to  VRRPv3-MIB. 

	Should i mention this fact in the section? 

vrrp mailing list

Scanned by Check Point Total Security Gateway.