Subject: RE: LSR MIB comments and questions

From: "Cucchiara, Joan" <[email-masked]>
Date: Thu, 6 Apr 2000 20:21:38 -0400

Hi Tom,

>          Is it really a big deal for an implementation to support
> this just by setting the value to 0? The DEFVAL specifies 0 as
> a default value, so most implementations will not have to do anything
> here, and can support it as read-only, so it will never be
> changed.

If no one else minds that they support this
object for LDP implementations then it is okay with me.

> >Are you planning on specifying in the enum the
> >other possibilities (cli, config file, web, etc...)?
> >
> >         No.
> >
> >Joan's question in ():
> >(why? don't you think you need these other
> >ways of configuring for completeness of this object?)
> 
>          What the intent was with this object was to
> identify either the signaling protocol, policy agent
> (i.e.: COPS), agent (SNMP) or "other" configuration of this
> object. The point here was to let external sources know
> that if they did not create an object, that they may not
> be allowed to delete/modify it depending on the implementation.
> We distinguished SNMP since it seemed obvious. We also provided
> "other" for managers who did not want to use "SNMP", but wanted
> to note that something else configured the object (i.e.: cli,
> web, etc...).
> 
> >Also, why is policyAgent one of the choices, this is
> >a MIB and it was my understanding that policyAgent's used
> >PIBs.  PolicyAgents can't support RowStatus, so I believe
> >that choice should be removed.
> >
> >         The PIB may not support RowStatus, but the agent which
> >interacts with the PIB/PolicyAgent may create an entry. It
> >is our intent for this enumeration to note this case.
> >
> >Joan's comments in ():
> >(This may or may not be the case, it is not yet
> >defined what the interactions between the Policy Agent and
> >the SNMP Agent are going to be.  You have no way to know
> >if the Policy Agent will be able to inform the SNMP Agent
> >to create a Row or any other MIB entries for that matter.
> 
>          As you pointed out, it may or may not be the case. We
> are focusing on the "may" case. I believe the original request
> for this object came from one of the reference implementations.

It is not acceptable to put enums like this in a standard mib
which "may" be defined.  If the interaction between a policyAgent
and an SNMP Agent for row-creation is ever defined, it is a long
long way off (YEARS).  By then this MIB will be on its 57th revision :)

There is not one other standard's track MIB which indicates whether a
row was created by a policyAgent/PIB vs. a snmpAgent/MIB.
If someone really wants this enum then it belongs in their enterprise
MIB and NOT in a standard MIB.

Could you take this policyAgent enum out now and put it in
when someone describes how a Policy Agent instructs an SNMP agent
to create a row? 

If you could remove the policyAgent enum and the SNMP enum and
just use a generic "mgmt" enum, that would be an acceptable
alternative. 

Also, I disagree with the premise that the row needs to be destroyed
by the same protocol which created it.  If a human being wants to
take down an LSP which was created via signalling what is the problem
with that?  I would also like to understand what the agent is supposed
to return for an error code in this situation?

    -Thanks, Joan

---

From: Keith McCloghrie <[email-masked]>
Date: Thu, 6 Apr 2000 18:06:15 -0700 (PDT)

> long way off (YEARS).  By then this MIB will be on its 57th revision :)

Actually, the "interaction between a policyAgent and an SNMP Agent
for row-creation" is already defined.

> MIB and NOT in a standard MIB.
 
Actually, Kwok Ho Chan ([email-masked]) proposed included
similar information in the DiffServ MIB some time ago.  If multiple
vendors want it, then perhaps it does belong in some standard MIB.

> when someone describes how a Policy Agent instructs an SNMP agent
 
A Policy Agent does *not* instruct an SNMP agent to create a row.
Rather, the Policy Agent creates the underlying instrumentation, i.e.,
a DiffServ Classifier, or an LSP, or whatever, based on instructions
it receives using the features of whatever protocol it happens to be
using.  Once it is created, it shows up in the SNMP MIB.  RowStatus
is needed only when a row is to be created/modified/deleted using
SNMP Sets.

For example, some people (but not me) believe that a Policy Agent
should extract policies directly out of a Directory using LDAP, but
that doesn't mean the LDAP schema needs a RowStatus in it.

> to return for an error code in this situation?

I agree with this.

Keith.