Comments on IDPR MIB
Danny Lee <dlee@erg.sri.com> Fri, 20 November 1992 05:46 UTC
Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa05150; 20 Nov 92 0:46 EST
Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa05146; 20 Nov 92 0:46 EST
Received: from PIZZA.BBN.COM by CNRI.Reston.VA.US id aa23999; 20 Nov 92 0:46 EST
Received: by PIZZA.BBN.COM id aa09733; 20 Nov 92 0:44 EST
Received: from pizza by PIZZA.BBN.COM id aa09516; 20 Nov 92 0:03 EST
Received: from BBN.COM by PIZZA.BBN.COM id aa09512; 20 Nov 92 0:01 EST
Received: from bamboo.erg.sri.com by BBN.COM id aa23013; 20 Nov 92 0:01 EST
Received: by bamboo.erg.sri.com (5.65/2.7davy) id AA01110; Thu, 19 Nov 92 21:01:32 -0800
Message-Id: <9211200501.AA01110@bamboo.erg.sri.com>
Date: Thu, 19 Nov 1992 21:01:32 -0800
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Danny Lee <dlee@erg.sri.com>
To: idpr-wg@bbn.com
Subject: Comments on IDPR MIB
Greetings, We are currently implementing a MIB for the GATED implementation of IDPR, and we have come across several comments and issues which would like to discuss. Hopefully, these comments and issues are of interest to the IDPR community. The comments are organized according to the object group to which it applies. o VGP Group -- The desirability of overloading the idprPGFlags object to hold disparate types of information is not immediately obvious. As currently defined, idprPGFlags holds status and identity type information in different bit positions. Defining an object-specific encoding scheme like idprPGFlags implies that a management station needs to know how to handle an application syntax that is encoded within the description field. My impression is that objects such as idprPGFlags would be difficult for management station to map into a human readable strings in a pre-defined and consistent way, unless all possible states of the bit vector are defined. We certainly do not want the user to interpret octal or hexadecimal numbers. The above comment also applies to the idprVGFlags object, although at the current time the object holds only status information. I would like to suggest that idprPGStatus and idprPGType be defined in place of idprPGFlags, and for idprVGFlags to be renamed to idprVGStatus. The idprPGStatus and idprVGStatus objects should, of course, have an enumerated integer syntax. -- For completeness, it seems that an additional object should be defined for the VGP group. idprvgpUpDownInErrs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of invalid up/down messages received. Up/down messages improperly addressed are tabulated by this object, along with other generic errors." ::= { idprvgp x } -- The idprPGMap table does not allow many-to-many type associations. The index definition does not provide a unique key for identifying a specific row in the table. This problem will occur when a PG belongs to multiple VGs, not all which terminate at the same adjacent domain or VG. One possible solution is to extend the index field to include idprPGMapAdj and idprPGMapVG when referring to a specific object instance. If the intention was never to support many-to-many associations, then the idprPGMap table should be folded into idprvgpPGTab. There is no immediate benefit for having two tables that use the same set of indices and refer to similar types of data. o Routing Information Distribution Group -- idprridPer and idprridLif should be split up to cover the case when each parameter differs for configuration and dynamic messages. -- On the basis of the MIB description field, the idprPathFlows object appears to be redundant to idprPathMsgs. If the idprPathFlows object is not redundant, what type of flow specification is being referred to: average and/or peak bandwidth, delay, etc.? In any case, a single object is probably insufficent with respect to encoding flow spec data, even if it can be argued that a flow spec is desireable at this part of IDPR. -- idprridReqInt and idprridReqRet should probably be grouped together with the idprridReqIns, idprridReqOuts, and idprridRStab entries. This will make it clearer to the reader what idprridReqInt and idprridReqRet refer to. -- It seems that idprridReq* and idprridRStab objects should either have a group of their own or be moved into the RTREQ group. Route requesters and route servers are cooperating aspects of the same functional role. The objects in question do not appear to fit well within the RID group. -- It may be desirable in the future to redefine idpraddrSrc and idpraddrDst to have generic address structures. As presently defined, the address structure is specific to IP. The syntax of the ipaddrSrc and ipaddrDst should be generalized to support other address formats. By the same logic, perhaps the port fields should be renamed SAPs. Alternatively, it may be perhaps better to simply rename idpraddrTab to idprIpAddrTab to reflect the orientation of the table, since objects such as idpraddrSrcMask and idpraddrDstMask are IP specific. o Source Policy Table -- I think it may be useful to have a status field associated with each source policy; e.g., idprSrcPlcyStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } ACCESS read-write STATUS mandatory DESCRIPTION "Status of source policy. Writing the value inactive(2) for a defined source policy causes the policy to be ignored. Changing the state to active(1) re-enables the source policy." ::= { idprScrPlcyEntry 2 } When a source policy entry is declared inactive, the route preference attributes in the source policy definition should not be used to bias or constrain route selection. Similarly, the mapping to requested services should be defeated when a source policy is in the inactive state -- The source policy table objects should have read-write access attributes. As part of our work, we hope to be able to instantiate source policies dynamically via SNMP channels. (Yes, we're ignoring security issues :-) -- Consensus regarding the encoding of the idprSrcPlcyInfo object needs to be reached. We would like to initially propose that the ASCII syntax suggested in the IDPR configuration guide be followed. Our initial thought is to adopt the ASCII syntax, since we can tie in the existing GATED LEX/YACC parser for this function. (Yes, we realize specs should place all implementations on neutral ground. However, since there is really only one implementation of IDPR, this may be a moot issue :-) Whichever approach taken should be consistent with the idprTrnPlcyInfo object. o Transit Policy Table -- As with source policies, we think it will be useful to have a status object for transit policy table entries. idprTrnPlcyStatus OBJECT-TYPE SYNTAX INTEGER { active(1), inactive(2) } ACCESS read-write STATUS mandatory DESCRIPTION "Status of transit policy. Sending the value inactive(2) to a defined transit policy puts the policy into a state where it is no longer advertised. Note that changing the status to inactive(2) does not necessarily remove the entry from the transit policy table. Changing the state to active(1) re-enables the transit policy." ::= { idprTrnPlcyEntry 4 } -- The transit policy table objects should have read-write access attributes. As with source policies, we hope to be able to instantiate transit policies dynamically via SNMP channels. -- There are at least two possible encodings for transit policy information. The first option is to follow the syntax specified in the IDPR configuration guide. The second option is to adopt the packet format used for configuration messages. As mentioned above, the approach chosen should be consistent with the encoding for the idprSrcPlcyInfo object. I have a revised version of the IDPR MIB which takes into account the comments mentioned above, along with some other minor changes. Before sending out this revised version to the IDPR MIB working group for review, feedback on any of the above comments would be warmly welcomed. Thanks in advance, Danny Lee.
- Comments on IDPR MIB Danny Lee