Subject: RE: Review of draft-ietf-agentx-rfc-update-01.txt

From: "Strahm, Bill" <[email-masked]>
Date: Wed, 29 Sep 1999 08:59:28 -0700

My comments are inline.

The issues that I raised have more to do with only scanning Agent X over the
last few years rather than fully reading it...

I hope that my first comment saying that I thought it was ready was taken as
my evaluation... 

Bill

> -----Original Message-----
> From: Mike Daniele [mailto:[email-masked]]
> Sent: Wednesday, September 29, 1999 6:31 AM
> To: Strahm, Bill
> Cc: [email-masked]; 'Bert Wijnen'; 'Bob Natale'
> Subject: Re: Review of draft-ietf-agentx-rfc-update-01.txt
> 
> 
> Hi Bill,
> 
> Thank you for a timely review.  Some comments follow.
> 
> "Strahm, Bill" wrote:
> 
> > It looks good, I don't see any real reasons why this can 
> not recycle at
> > proposed standard.
> >
> > Now onto some nit picking
> > Issue 1:
> > I am very confused at a possible conflict between section 
> 4.1 saying that
> > the role of the master agent is to
> > " - Provides instrumentation for the MIB objects defined in 
> RFC 1907 [17],
> > and for any MIB objects relevant to any administrative framework it
> > supports"
> > and later under 4.2 where it is said
> > "1) A general architectural division of labor between 
> master agent and
> > subagent:  The master agent is MIB ignorant and SNMP 
> omniscient, while ... "
> > (Ok I understand, but a little more clarification might be helpful)
> >
> 
> I personally think what's there is just the right amount of detail.
> I don't think we've had much confusion on this point, fyi.
> But if you want to suggest some additional text, please do.
> 
If implementors aren't confused that is fine, I thought it was confusing the
first time I read it, then it makes sense on the second...  No problems with
me here...

> >
> > Issue 2:
> > Page 11
> > last line is a header include, next page starts off with 
> the definition...
> > can you  move the last line of page 11 down
> > (I did say nits here)
> >
> > Issue 3:
> > I would prefer having the AgentX PDU header (Section 6.1) 
> placed before the
> > AgentX Encodings (Section 5)
> >
> > Issue 4:
> > I would like railroad diagrams if possible for many of the Protocol
> > definitions, especially the SET PDUs to show what is passed 
> and when. ( All
> > though the number of examples looks to be pretty good )
> >
> > Issue 5:
> > page 34
> > definition of n.vb.
> > "-snmpTrapOID.0 must be present, as the second varbind if 
> sysUpTime.0 was
> > supplied, as the first if it was not."
> > This seems to be cumbersome, of course I don't have any 
> better wording :(
> >
> > Issue 6:
> > 7.1.4.1 Handling Duplicate and Overlapping Subtrees
> > An example here please, I think this is going to be an area 
> of error ( real
> > implementors tell me if this isn't the case )
> 
> There is an example at the end of section 7.2.5.3 that goes 
> into overlapping registrations
> and who is authoratative.  This doesn't seem to have been 
> confusing to implementors
> from the feedback so far.  "Most specific wins" is common to 
> existing non-AgentX
> architectures.
> 
Works for me... 

> >
> > It also seems that if I register a less specific subtree, 
> even if I have
> > priority 1, I will be taken over by a subAgent that 
> registers a small subset
> > of my range...  Is this really the behaviour that we want ?
> >
> 
> Yes!
> 
Works for me... just wanted to be sure...

> >
> > Issue 7:
> > 7.1.4.2.2 Index Allocation
> > It doesn't look like AgentX is targetting MIBs where 
> indexes are implemented
> > as TestandIncr variables.  I could see the need for a 
> subagent to push
> > control of a TestandIncr variable to the Index Allocation 
> routines... YMMV.
> > (PS good set of examples after this too)
> >
> 
> Is that even permitted?  (An INDEX object with  read-write or 
> read-create ACCESS?)
> 
What I was refering to was an index that was allocated through a TestandIncr
variable.  We use something like this in the RTP MIB to create rows in the
session table.  When you have successfully written to  the TestandIncr
variable a row with that index is "created" for your use in the table.  I
was wondering if there would be a way of getting the master agent to control
this behavior (or not)

> This would only be an issue if multiple subagents need to 
> share such a table,
> and hence register instances. (A single subagent implementing 
> the table would simply register
> the oid of the table.)  Further, since the subagents know 
> what the value of their index objects is,
> there would be no need to use AgentX index allocation.
> 
> (There would be AgentX registration considerations on the 
> implementation.)
> 
> >
> > Issue 8:
> > 7.2.4 Subagent Processing of agentx-TestSet, -CommitSet, -UndoSet,
> > -CleanupSet-PDUs
> > Is there a time value that a subagent can use to cleanup 
> after a TestSet is
> > performed if no other PDUs come from the Master Agent.  Or is this
> > implementation specific, if I don't see the next step in n 
> amount of time,
> > ping the master agent and if it is still alive it will get 
> around, if not,
> > then cleanup anyway ???
> >
> 
> Implementation-specific.  Could just do cleanup when you get 
> the next AgentX
> message, or ping as you've described.  But with 
> connection-oriented transport under us,
> if the master doesn't send anything you're probably going 
> into "loss of link" mode
> anyway.
> 
> >
> > Issue 9:
> > 7.2.4.1 Subagent Processing of agentx-TestSet-PDU
> > There has been a lot of talk on both the SNMPv3 list and 
> here about this
> > issue.  I am not really certain that it has bottomed out, I 
> will bow to
> > concensus of the WG to determine this (I am not sure I 
> "FULLY" understand
> > the agruements Pro/Con)
> >
> 
> I think Bob N answered this correctly.  If and when there is 
> a change to 1905
> (or anything else that affects us), we'll figure out what to do.
> 
> Actually I think Russ just declared this closed.
I saw that...

> 
> >
> > Issue 10:
> > 9 Security Considerations
> > Page 75
> > Why did you list the questions in one order, and answer 
> them in the other
> > order,
> 
> For artistic effect.  To highlight that the only control 
> mechanism there is,
> is on connection establishment.
> 
> 
> > I think more than a simple "no" as the answer to question 2 
> is needed
> > (I know it is true however)
> >
> 
> Why?  Suggestions?
> 
> >
> > Also you recomend that the subagents run on the local host, 
> but you have
> > defined a port (705) to potentially allow remote operation, 
> is this an
> > inconsistancy ?
> >
> 
> No, some implementations may wish to use TCP,  we simply recommend
> against it.  As such, it was the architecturally correct 
> thing to register a port number.
> 
> (This is of major help during bakeoffs and remote testing.)
> 
> Regards,
> Mike
> 
> >
> > Bill
> > _____________________________________________
> > Bill Strahm        Programming today is a race between
> > bill.strahm@      software engineers striving to build
> > intel.com           bigger and better idiot-proof programs,
> > (503) 264-4632   and the Universe trying to produce
> >             bigger and better idiots.  So far, the
> >                         Universe is winning.--Rich Cook
> > I am not speaking for Intel.  And Intel rarely speaks for me
>

---

From: Mike Daniele <[email-masked]>
Date: Wed, 29 Sep 1999 12:11:29 -0400

> I hope that my first comment saying that I thought it was ready was taken as

Yes, thanks.

>variable a row with that index is "created" for your use in the table.

Ah, I see.

>I was wondering if there would be a way of getting the master agent to control
>this behavior (or not)

No.  In general, the master agent has no idea what instances of what objects you have.
All it knows about are what OIDs you registered, and for which of those
you are authoratative.

Mike