CURRENT MEETING REPORT Reported by Marshall T. Rose, Dover Beach Consulting, Inc. Minutes of the SMNP Agent Extensibility Working Group (AGENTX) The AGENTX Working Group met for two sessions at the 34th IETF. Session 1 The first session was held on Wednesday, December 6th. There were no changes to the agenda published on November 27. The Chair began with a presentation (also available in postscript) which: o reviewed the Working Group's charter; o described, in high-level terms, the multiple component problem; and, o reviewed previous IETF publications in this area. There was considerable discussion with respect to the high-level description of the multiple component problem. The resulting comments were incorporated into the presentation. The Chair then called for presentations by interested parties. Jim West made a presentation describing his experiences with packet- based multiplexing. He noted that the use of port 161 is driving the need for sub-agents and that independent functional entities are best implemented using packet-based multiplexing. Other points included: o the "real" snmp agent is started on a non-standard port; o the proxy-agent listens on port 161, and forwards requests to proxy- targets based on community name; and, o if the community is unknown, the request is forwarded to the original agent. Limitations to this approach are: o there is no "standard" API for component developers; and, o moving the "real" snmp agent to another port is problematic in some environments, e.g., if the agent reads a configuration file to determine its port number, then other processes on that system (e.g. management applications) will malfunction if the configuration file is altered; but, if the agent has the port number hard-coded, then its object code must be patched directly. Bert Wijnen made a presentation describing his experiences with variable-based multiplexing. He noted that too many interfaces for component developers is the driving force, and that in developing his approach, DPI, he sought to: o hide complexity from the component developer; o split the core of the agent code from the instrumentation; o require no modifications of management applications; and, o provide a "drop-in" solution for component developers. His approach is targeted for developers of non-network related components and is documented as RFC 1592. With only a few minutes left, the Chair asked for other presentations to be made in the second session. In the interim, there was some general discussion on whether management applications could support multiple community strings when communicating with the same agent. SESSION 2 The second session was held on Friday, December 8. The Chair indicated that he was stepping down at the end of this meeting, and that Bob Natale would assume the position of Chair. Jeff Case made a presentation describing his experiences with variable- based multiplexing. Jeff noted that the need for implementation standard MIB modules is the driving force, and that in developing his approach, EMANATE, he sought to: o achieve source code portability and binary interoperability; o achieve compliance with both the SMI and the protocol (e.g., support multi-phase operators); and, o achieve flexibility by utilizing the most efficient communications facilities available on the target platform. His approach supports environments in which there is interaction between multiple MIB modules which may be cooperatively realized by multiple implementation units. In addition, his approach is a programmatic rather than a protocol approach, and hence is not openly published. Randy Presuhn made a presentation describing ongoing work in the area of variable-based multiplexing. This work focused on issues of both correctness ("as if simultaneous") and performance (optimizing multi- phase operations). In addition, he suggested that the key issues were to develop: o a set of service requirements; o a service definition (i.e., an abstract api); and, o a specification for the protocol used for intra-agent communication. Brian O'Keefe made a presentation on behalf of himself, Andy Bierman, Baria Greene, and Dave Perkins, in which they suggested that the Working Group distinguish between: o logical entities, which implement functional components, and contain a system group; and, o implementation units, which are realized by sub-agents. For example, a managed system might contain four logical entities: itself, a router, and two bridges. Further, the two bridge entities might be realized by three implementational units, one of which is shared between the two logical entities. Although there needn't be any logical structure imposed on how implementation units comprise functional components, an important question is whether there is a one-to-one or a one-to-many relationship between an operational scope and a logical entity. It was noted that this dichotomy helps to explain the difficulties in implementing interMIB relationships. Prior to leaving, the new Chair presented a few thoughts on the AGENTX Working Group. He stated that he would ask the Area Director to appoint a facilitator for the Working Group, to oversee both content discussion and process. He also felt that the Working Group should: o focus on the solution space; o base approved solutions on a developed and published specification; o take a "bottom-up" approach towards a solution; and, o leverage SNMP whenever possible. Dan Romanscieu made a presentation describing his experiences with variable-based multiplexing. His approach sought to: o minimize the number of managed elements visible to management applications; o provide an alternate multiplexing agent in case of failure; and, o require only minimal configuration. He expressed concern over the difficulty of mapping MIB modules onto implementational units. And, in view of his experiences, he felt that the Working Group's goals were ambitious. Finally, there was group discussion on the issues presented. One thread dealt with the issue as to the merits of the information hiding approach implicit with variable-based multiplexing, versus the information publication approach implicit with packet-based multiplexing. In particular, Dave Bridgham and Randy Presuhn presented conflicting arguments as to these merits. A voluntary action has been assigned asking each participant to post concise summaries of their positions. A second thread dealt with the issues as to the difference between the information selection inherent with packet-based multiplexing versus the information integration inherent with variable-based multiplexing. For example, a service provider might provision a customer-specific subset of the available management information based on community string. Further, a third thread dealt with the goal of the Working Group, viz. to allow multiple, independent contributors to implement a single system. In addition, three functional requirements were identified: o applicable system types (outside the scope of the Working Group); o consistency with overall framework; and, o end-to-end performance. ACTION ITEMS The Chair assigned the following voluntary actions: Aleksey Romanov: Please provide the Working Group with a URL for the proposal on agent extensibility that you posted some time ago (his response). Bert Wijnen, Jeff Case, and Dan Romanscieu: Please send ASCII, Postscript, or HTML versions of your presentation to the Chair so that your presentation may be included in the ftp archive. Dave Bridgham and Randy Presuhn: Please post concise summaries of your position with respect to the efficacy of the proxy approach to the mailing list. Andy Bierman, Editor for the entity mib Working Group: Please consider the relationship between packet-based multiplexing and the logical entity table, especially how proxy relates to chaining or referral of requests to logical entities.