Editor's note: These minutes have not been edited. Reported by: Dale Francisco Software Engineering StrataCom 93 South La Patera Lane Santa Barbara CA 93117 voice: (805) 961-3642 fax: (805) 961-3600 e-mail: dfrancisco@santa.stratacom.com Agentx WG at 35th IETF, March 4-8, 1996 --------------------------------------- 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. Meeting notes were taken by Dale Francisco, wg editor. Meeting 1 (Tue, March 5, 19:30-22:00) ------------------------------------- WG 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 agentx wg, 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 agentx wg 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 wg 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. Meeting 2 (Wednesday, March 6, 15:30-17:30) ------------------------------------------- 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: GetNext across subagents. A requirement. Tables shared across subagents. A requirement. Subagent MIB. Probably a requirement--Maria Greene to investigate. Multiphase Set for "as if simultaneous" Sets. Disposition unclear. Randy Presuhn volunteered to post a summary of an off-list discussion of multiphase Set. Problems with sysUpTime across subagents, possibly on different physical systems; detecting counter discontinuities; and timestamps for event logs. Disposition unclear. How much (if any) of the header information in the SNMP PDU received by the master agent should be visible to subagents. Disagreement on this. Access control. Should be concentrated in the master agent. Effect of subagents dying and restarting on sysUpTime, subagent-specific timestamps, and registration. Disposition unclear. Cross-subagent communication. Disagreement over whether this is a requirement. Some felt that it was a prerequisite for index reservation. There was disagreement over whether it necessitated support for multithreading in subagents. SNMPv2 compatibility. A requirement. Per varbind vs. per packet. Previously decided in favor of per varbind. Use of ASN.1 and BER in agentx protocol specification. Disagreement on this. Some argued that ASN.1 should be used as a description language, but not mandate use of BER for actual encoding. What is subject to registration? Subtrees, ranges, partial indexes, objects, instances? Are overlapping registrations required? Disposition unclear. Dispatch policy, priorities. Disposition unclear. Reservation protocol. Are some pre-reserved indices a requirement? 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. [LA IETF minutes, final revision: Wed Mar 20 10:07:17 PST 1996]