CURRENT MEETING REPORT
Reported by Dale Francisco, StrataCom
Minutes of the SNMP Agent Extensibility
Working Group (agentx)
At the 35th IETF in Los Angeles, March 4-8,
1996, the SNMP Agent Extensibility Working Group (agentx) had
two meetings, one on Tuesday, March 5, 19:30-22:00, and the other
on Wednesday, March 6, 15:30-17:30.
The most active participants in the discussions
(a few names were missed due to inattentiveness on the part of
the note-taker) were: Uri Blumenthal, David Bridgham, Jeff Case,
Mike Daniele, Maria Greene, Bob Natale, Dave Perkins, Randy Presuhn,
Bob Stewart, Glenn Waters, and Bert Wijnen. About 40 people were
present at the meetings.
Tuesday Session
Working Group Chair Bob Natale opened the
meeting with a brief allusion to the long history of discussions
on SNMP agent extensibility, a summary of the formation of the
working group, and a review of its charter. He called for presentations
from anyone with a prepared topic. He introduced meeting participants
who have been active in the discussion and implementation of extensible
agents. The Chair expressed the hope that the working group could
benefit from the long experience of extensible agent products
such as SMUX, DPI, eSNMP, EMANATE, Envoy, and others. He stressed
that the goal of agentx was to come up with a simple, widely applicable
protocol that would solve interoperability problems and that vendors
of existing commercial extensible agents would see as a complement,
not a threat, to their products. He asked that we focus on these
deployed solutions ("the solution space") as a starting
point, and try to avoid endless, circular discussions of the many
"interesting" problems associated with agentx. He mentioned
that there was general consensus that the original working group
schedule, which called for a final Internet-Draft by May 1996,
was unrealistically tight, and that one of the goals of this meeting
would be to agree on a new, more rational schedule that could
be presented to the Area Director for consideration.
There was a discussion of why DPI and some
other extensible agent products had chosen not to use SNMP for
communication between master and subagents, the main argument
being that writing subagents should be as simple as possible.
Some questioned whether the alternatives to SNMP (such as DPI
bit-specified messages) were really simpler. There was also a
question as to whether using a non-SNMP encoding meant that the
agentx protocol would be limited, for security reasons, to communication
among agents on the same box. It was suggested that this was really
a transport mapping issue, and that security should not be considered
explicitly in the first version of agentx.
Maria Greene gave a presentation on "Coordinating
Index Value Assignments". The problem: in order to allow
different component agents to be responsible for different rows
in the same table, a method must be agreed upon for handing out
indices to the rows of that shared table. Maria's solution involves
three MIB objects implemented in a single component agent. There
would be three such objects for each shared table. The objects
are: (1) nextIndex, the value of the next available index; (2)
Lock, a TestAndIncr or 'spin lock' object used to coordinate the
assignment of indices; and (3) numIndices, the number of indices
that the component agent wants. A component agent that wants one
or more indices temporarily takes on a manager role to manipulate
these objects, or uses some other implementation-dependent method.
Jeff Case noted that EMANATE does something
similar, but instead of having a separate set of objects for each
shared table, it has a single "reservation table" in
a single "reservation subagent". In addition to the
index coordination provided by Maria's solution, Jeff's solution
also encompasses pre-configured, "dedicated" indices
for special purposes, and the ability of the reservation subagent
to go out and find which indices are already in use when it comes
up. Jeff said that he would consider publishing his "reservation
MIB".
This led to a brief discussion of communication
between subagents, subagent-to-subagent Get requests, and the
necessity (or not) of multithreading to support this. There was
also a discussion of whether reservation functionality ought to
be in the master agent, or whether it should be left to the implementor
to decide on placing it either in the master agent or a component
agent.
A question about the agentx protocol formulation
led to Bob Natale's proposal that agentx use DPI version 2.0 as
a base document. He also suggested that three small working groups
take on the tasks of (1) specifying requirements, (2) initial
protocol specification, and (3) agentx MIB. He asked that participants
be prepared by the next day's meeting to commit to a realistic
(TBD) schedule for fulfilling the agentx charter.
Wednesday Session
The Chair opened the meeting with the announcement
that Bert Wijnen and Mike Daniele had volunteered to work on the
initial protocol specification, and Maria Greene would be working
on an agentx MIB. He then began a discussion of a list of issues
which he hoped could be refined into a firm set of requirements
for the agentx protocol.
The following issues were briefly discussed:
With a half hour remaining, the Chair asked
that the discussion of requirements be continued on the mailing
list, and that Bert Wijnen use the remaining time to give an overview
of DPI and registration issues.
Bert briefly discussed DPI subagent registration
and outlined differences between the current DPI implementation
and some of the registration strategies mentioned earlier in the
meeting. DPI supports, but does not mandate, multiple varbinds
per subagent packet. Thus a subagent cannot assume that all of
the varbinds from one SNMP request will be delivered to it in
a single subagent packet. DPI supports registration priority,
but Bert questioned whether this was an agentx requirement. His
current implementation of DPI does not support overlapping registration,
but it is not precluded by the DPI spec. Shared tables and instance
registration would be problematic under the DPI 2.0 spec.
The Chair asked for suggestions on a reasonable
schedule for completing agentx work.
Bert Wijnen volunteered to write a first
draft of an agentx protocol specification, but noted that, as
a result of all the new requirements he had just learned of, it
might take longer than he had originally planned. He had originally
hoped to have something by June 1996.
The Chair asked that we drive towards rough draft documents by June, and that discussion and resolution of requirements be continued on the mailing list.