aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/oam
diff options
context:
space:
mode:
Diffstat (limited to 'system/doc/oam')
-rw-r--r--system/doc/oam/Makefile102
-rw-r--r--system/doc/oam/book.xml43
-rw-r--r--system/doc/oam/make.dep26
-rw-r--r--system/doc/oam/note.gifbin0 -> 1539 bytes
-rw-r--r--system/doc/oam/oam_intro.xml269
-rw-r--r--system/doc/oam/part.xml36
-rw-r--r--system/doc/oam/snmp_model_1.fig42
-rw-r--r--system/doc/oam/snmp_model_1.gifbin0 -> 2343 bytes
-rw-r--r--system/doc/oam/snmp_model_1.ps160
-rw-r--r--system/doc/oam/snmp_model_2.fig52
-rw-r--r--system/doc/oam/snmp_model_2.gifbin0 -> 2239 bytes
-rw-r--r--system/doc/oam/snmp_model_2.ps168
-rw-r--r--system/doc/oam/snmp_model_3.fig56
-rw-r--r--system/doc/oam/snmp_model_3.gifbin0 -> 3134 bytes
-rw-r--r--system/doc/oam/snmp_model_3.ps182
-rw-r--r--system/doc/oam/terminology.fig37
-rw-r--r--system/doc/oam/terminology.gifbin0 -> 1406 bytes
-rw-r--r--system/doc/oam/terminology.ps154
-rw-r--r--system/doc/oam/warning.gifbin0 -> 1498 bytes
-rw-r--r--system/doc/oam/xmlfiles.mk19
20 files changed, 1346 insertions, 0 deletions
diff --git a/system/doc/oam/Makefile b/system/doc/oam/Makefile
new file mode 100644
index 0000000000..e3288c9182
--- /dev/null
+++ b/system/doc/oam/Makefile
@@ -0,0 +1,102 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1997-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include $(ERL_TOP)/erts/vsn.mk
+#VSN=$(SYSTEM_VSN)
+
+APPLICATION=otp-system-documentation
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/doc/oam
+
+# ----------------------------------------------------
+# Target Specs
+# ----------------------------------------------------
+XML_PART_FILES = part.xml
+
+include xmlfiles.mk
+
+XML_CHAPTER_FILES=$(OAM_CHAPTER_FILES)
+
+TOPDOCDIR=..
+
+BOOK_FILES = book.xml
+
+GIF_FILES = \
+ snmp_model_1.gif \
+ snmp_model_2.gif \
+ snmp_model_3.gif \
+ terminology.gif
+
+XML_FILES = \
+ $(BOOK_FILES) $(XML_CHAPTER_FILES) \
+ $(XML_PART_FILES)
+# ----------------------------------------------------
+
+HTMLDIR = ../html/oam
+
+HTML_UG_FILE = $(HTMLDIR)/users_guide.html
+
+
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+XML_FLAGS +=
+DVIPS_FLAGS +=
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+$(HTMLDIR)/%.gif: %.gif
+ $(INSTALL_DATA) $< $@
+
+docs: html
+
+local_docs: PDFDIR=../../pdf
+
+html: $(HTML_UG_FILE) gifs
+
+gifs: $(GIF_FILES:%=$(HTMLDIR)/%)
+
+debug opt:
+
+clean clean_docs:
+ rm -rf $(HTMLDIR)
+ rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo)
+ rm -f errs core *~
+
+# ----------------------------------------------------
+# Release Target
+# ----------------------------------------------------
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_docs_spec: docs
+ $(INSTALL_DIR) $(RELSYSDIR)
+ $(INSTALL_DATA) $(GIF_FILES) $(HTMLDIR)/*.html \
+ $(RELSYSDIR)
+
+release_spec:
+
+
diff --git a/system/doc/oam/book.xml b/system/doc/oam/book.xml
new file mode 100644
index 0000000000..a2596b7fbe
--- /dev/null
+++ b/system/doc/oam/book.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE book SYSTEM "book.dtd">
+
+<book xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header titlestyle="normal">
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>OAM Principles</title>
+ <prepared>Martin Bj&ouml;rklund</prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ <file></file>
+ </header>
+ <insidecover>
+ </insidecover>
+ <pagetext>OAM Principles</pagetext>
+ <preamble>
+ <contents level="2"></contents>
+ </preamble>
+ <parts lift="no">
+ <xi:include href="part.xml"/>
+ </parts>
+ <listofterms></listofterms>
+ <index></index>
+</book>
+
diff --git a/system/doc/oam/make.dep b/system/doc/oam/make.dep
new file mode 100644
index 0000000000..3694df9f1b
--- /dev/null
+++ b/system/doc/oam/make.dep
@@ -0,0 +1,26 @@
+# ----------------------------------------------------
+# >>>> Do not edit this file <<<<
+# This file was automaticly generated by
+# /home/otp/bin/docdepend
+# ----------------------------------------------------
+
+
+# ----------------------------------------------------
+# TeX files that the DVI file depend on
+# ----------------------------------------------------
+
+book.dvi: book.tex oam_intro.tex part.tex
+
+# ----------------------------------------------------
+# Source inlined when transforming from source to LaTeX
+# ----------------------------------------------------
+
+oam_intro.tex: ../../../system/doc/definitions/term.defs
+
+# ----------------------------------------------------
+# Pictures that the DVI file depend on
+# ----------------------------------------------------
+
+book.dvi: snmp_model_1.ps snmp_model_2.ps snmp_model_3.ps \
+ terminology.ps
+
diff --git a/system/doc/oam/note.gif b/system/doc/oam/note.gif
new file mode 100644
index 0000000000..6fffe30419
--- /dev/null
+++ b/system/doc/oam/note.gif
Binary files differ
diff --git a/system/doc/oam/oam_intro.xml b/system/doc/oam/oam_intro.xml
new file mode 100644
index 0000000000..bd7369b84c
--- /dev/null
+++ b/system/doc/oam/oam_intro.xml
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>Introduction</title>
+ <prepared>Martin Bj&ouml;rklund</prepared>
+ <docno></docno>
+ <date>1997-11-01</date>
+ <rev>A</rev>
+ <file>oam_intro.xml</file>
+ </header>
+ <p>The operation and maintenance support in OTP consists of a
+ generic model for management subsystems in OTP, and some
+ components to be used in these subsystems. This document
+ describes the model.
+ </p>
+ <p>The main idea in the model is that it is management protocol
+ independent. Thus, it is not tied to any specific management
+ protocol. An API is defined which can be used to write
+ adaptations for specific management protocols.
+ </p>
+ <p>Each OAM component in OTP is implemented as one sub application,
+ which can be included in a management application for the system.
+ Note that such a complete management application is not in the
+ scope of this generic functionality. Examples illustrating how such an
+ application can be built are included however.
+ </p>
+
+ <section>
+ <title>Terminology</title>
+ <p>The protocol independent architectural model on the network
+ level is the well-known <term id="Manager-Agent model"><termdef>Client-Server model for management operations</termdef></term>. This model is based on the client-server
+ principle, where the manager (client) sends <term id="requests"><termdef>A request is sent from a manager to an agent when it accesses management information.</termdef></term>to the
+ agent (server), the agent sends <term id="replies"><termdef>A reply is sent from the agent as a response to a request from a manager.</termdef></term>back to the manager. There are two main
+ differences to the normal client-server model. First, there are
+ usually a few managers that communicate with many agents; and
+ second, the agent may spontaneously send <term id="notifications"><termdef>A notification is sent spontaneously from an agent to a manager, e.g. an alarm.</termdef></term>to the
+ manager. The picture below illustrates the idea.</p>
+ <image file="../oam/terminology.gif">
+ <icaption>Terminology</icaption>
+ </image>
+ <p>The manager is often referred to as the <term id="NMS"></term>, to
+ emphasize that it usually is realized as a program that presents
+ data to an operator.
+ </p>
+ <p>The agent is an entity that executes within a <term id="NE"></term>.
+ In OTP, the network element may be a distributed system, meaning
+ that the distributed system is managed as one entity. Of
+ course, the agent may be configured to be able to run on one of
+ several nodes, making it a distributed OTP application.
+ </p>
+ <p>The management information is defined in an <term id="MIB"></term>.
+ It is a formal definition of which information the agent makes
+ available to the manager. The manager accesses the MIB through
+ a management protocol, such as SNMP, CMIP, HTTP or CORBA. Each
+ of these protocols have their own MIB definition language. In
+ SNMP, it is a subset of ASN.1, in CMIP it is GDMO, in HTTP it is
+ implicit, and using CORBA, it is IDL. Usually, the entities
+ defined in the MIB are called <term id="MO"></term>, although these
+ objects do not have to be objects in the OO way,for example, a simple
+ scalar variable defined in an MIB is called a Managed Object.
+ The Managed Objects are logical objects, not necessarily with a
+ one-to-one mapping to the resources.
+ </p>
+ </section>
+
+ <section>
+ <title>Model</title>
+ <p>In this section, the generic protocol independent model for use
+ within an OTP based network element is presented. This model is
+ used by all operation and maintenance components, and may be
+ used by the applications. The advantage of the model is that it
+ clearly separates the resources from the management protocol.
+ The resources do not need to be aware of which management
+ protocol is used to manage the system. This makes it possible
+ to manage the same resources with different protocols.
+ </p>
+ <p>The different entities involved in this model are the <term id="agent"></term>which terminates the management protocol, and the
+ <term id="resources"></term>which is to be managed, i.e. the actual
+ application entities. The resources should in general have no
+ knowledge of the management protocol used, and the agent should
+ have no knowledge of the managed resources. This implies that
+ some sort of translation mechanism must be used, to translate
+ the management operations to operations on the resources. This
+ translation mechanism is usually called
+ <em>instrumentation</em>, and the function that implements it is
+ called <term id="instrumentation function"></term>. The
+ instrumentation functions are written for each combination of
+ management protocol and resource to be managed. For example, if
+ an application is to be managed by SNMP and HTTP, two sets of
+ instrumentation functions are defined; one that maps SNMP
+ requests to the resources, and one that e.g. generates an HTML
+ page for some resources.
+ </p>
+ <p>When a manager makes a request to the agent, we have the
+ following picture:</p>
+ <image file="../oam/snmp_model_1.gif">
+ <icaption>Request to an agent by a manager</icaption>
+ </image>
+ <p>Note that the mapping between instrumentation function and
+ resource is not necessarily 1-1. It is also possible to write
+ one instrumentation function for each resource, and use that
+ function from different protocols.
+ </p>
+ <p>The agent receives a request and maps this request to calls to
+ one or several instrumentation functions. The instrumentation
+ functions perform operations on the resources to implement the
+ semantics associated with the managed object.
+ </p>
+ <p>For example, a system that is managed with SNMP and HTTP may be
+ structured in the following way:</p>
+ <image file="../oam/snmp_model_2.gif">
+ <icaption>Structure of a system managed with SNMP and HTTP</icaption>
+ </image>
+ <p>The resources may send notifications to the manager as well.
+ Examples of notifications are events and alarms. There is a
+ need for the resource to generate protocol independent
+ notifications. The following picture illustrates how this is
+ achieved:</p>
+ <image file="../oam/snmp_model_3.gif">
+ <icaption>Notification handling</icaption>
+ </image>
+ <p>The main idea is that the resource sends the notfications as
+ Erlang terms to a dedicated <c>gen_event</c> process. Into this
+ process, handlers for the different management protocols are
+ installed. When an event is received by this process, it is
+ forwarded to each installed handler. The handlers are
+ responsible for translating the event into a notification to be
+ sent over the management protocol. For example, a handler for
+ SNMP would translate each event into an SNMP trap.
+ </p>
+ </section>
+
+ <section>
+ <title>SNMP based OAM</title>
+ <p>For all OAM components, SNMP adaptations are provided. Other
+ adaptations may be defined in the future.
+ </p>
+ <p>The OAM components, and some other OTP applications, define
+ SNMP MIBs. All these MIBs are written in SNMPv2 SMI syntax, as
+ defined in RFC1902. For convenience we also deliver the SNMPv1
+ SMI equivalent. All MIBs are designed to be v1/v2 compatible,
+ i.e. the v2 MIBs do not use any construct not available in v1.
+ </p>
+
+ <section>
+ <title>MIB structure</title>
+ <p>The top-level OTP MIB is called <c>OTP-REG</c>, and it is
+ included in the <c>sasl</c> application. All other OTP mibs
+ import some objects from this MIB.
+ </p>
+ <p>Each MIB is contained in one application. The MIB text files
+ are stored under <c><![CDATA[mibs/<MIB>.mib]]></c> in the application
+ directory. The generated <c>.hrl</c> files with constant
+ declarations are stored under <c><![CDATA[include/<MIB>.hrl]]></c>, and
+ the compiled MIBs are stored under
+ <c><![CDATA[priv/mibs/<MIB>.bin]]></c>. For example, the <c>OTP-MIB</c>
+ is included in the <c>sasl</c> application:
+ </p>
+ <code type="none">
+sasl-1.3/mibs/OTP-MIB.mib
+ include/OTP-MIB.hrl
+ priv/mibs/OTP-MIB.bin</code>
+ <p>An application that needs to IMPORT this mib into another
+ MIB, should use the <c>il</c> option to the snmp mib compiler:
+ </p>
+ <code type="none">
+snmp:c("MY-MIB", [{il, ["sasl/priv/mibs"]}]).</code>
+ <p>If the application needs to include the generated
+ <c>.hrl</c> file, it should use the <c>-include_lib</c>
+ directive to the Erlang compiler.
+ </p>
+ <code type="none">
+-module(my_mib).
+
+-include_lib("sasl/include/OTP-MIB.hrl").</code>
+ <p>The following MIBs are defined in the OTP system:
+ </p>
+ <taglist>
+ <tag>OTP-REG (sasl)</tag>
+ <item>
+ <p>This MIB contains the top-level OTP registration
+ objects, used by all other MIBs.
+ </p>
+ </item>
+ <tag>OTP-TC (sasl)</tag>
+ <item>
+ <p>This MIB contains the general Textual Conventions,
+ which can be used by any other MIB.
+ </p>
+ </item>
+ <tag>OTP-MIB (sasl)</tag>
+ <item>
+ <p>This MIB contains objects for instrumentation of the
+ Erlang nodes, the Erlang machines and the applications in
+ the system.
+ </p>
+ </item>
+ <tag>OTP-OS-MON-MIB (os_mon)</tag>
+ <item>
+ <p>This MIB contains objects for instrumentation of disk,
+ memory and cpu usage of the nodes in the system.
+ </p>
+ </item>
+ <tag>OTP-SNMPEA-MIB (snmp)</tag>
+ <item>
+ <p>This MIB contains objects for instrumentation and
+ control of the extensible snmp agent itself. Note that
+ the agent also implements the standard SNMPv2-MIB (or v1
+ part of MIB-II, if SNMPv1 is used).
+ </p>
+ </item>
+ <tag>OTP-EVA-MIB (eva)</tag>
+ <item>
+ <p>This MIB contains objects for instrumentation and
+ control of the events and alarms in the system.
+ </p>
+ </item>
+ <tag>OTP-LOG-MIB (eva)</tag>
+ <item>
+ <p>This MIB contains objects for instrumentation and
+ control of the logs and FTP transfer of logs.
+ </p>
+ </item>
+ <tag>OTP-EVA-LOG-MIB (eva)</tag>
+ <item>
+ <p>This MIB contains objects for instrumentation and
+ control of the events and alarm logs in the system.
+ </p>
+ </item>
+ <tag>OTP-SNMPEA-LOG-MIB (eva)</tag>
+ <item>
+ <p>This MIB contains objects for instrumentation and
+ control of the snmp audit trail log in the system.
+ </p>
+ </item>
+ </taglist>
+ <p>The different applications use different strategies for
+ loading the MIBs into the agent. Some MIB implementations are
+ code-only, while others need a server. One way, used by the
+ code-only mib implementations, is for the user to call a
+ function such as <c>otp_mib:init(Agent)</c> to load the MIB,
+ and <c>otp_mib:stop(Agent)</c> to unload the MIB. See the
+ application manual page for each application for a description
+ of how to load each MIB.
+ </p>
+ </section>
+ </section>
+</chapter>
+
diff --git a/system/doc/oam/part.xml b/system/doc/oam/part.xml
new file mode 100644
index 0000000000..8e3acb6e0d
--- /dev/null
+++ b/system/doc/oam/part.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE part SYSTEM "part.dtd">
+
+<part xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>OAM Principles</title>
+ <prepared>Martin Bj&ouml;rklund</prepared>
+ <responsible></responsible>
+ <docno></docno>
+ <approved></approved>
+ <checked></checked>
+ <date>1997-11-01</date>
+ <rev>A</rev>
+ <file></file>
+ </header>
+ <xi:include href="oam_intro.xml"/>
+</part>
+
diff --git a/system/doc/oam/snmp_model_1.fig b/system/doc/oam/snmp_model_1.fig
new file mode 100644
index 0000000000..ab5ec76eaf
--- /dev/null
+++ b/system/doc/oam/snmp_model_1.fig
@@ -0,0 +1,42 @@
+#FIG 3.1
+Portrait
+Center
+Inches
+1200 2
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 3900 2850 5625 2850 5625 3600 3900 3600 3900 2850
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1500 2850 3225 2850 3225 3600 1500 3600 1500 2850
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2775 1500 4575 1500 4575 2325 2775 2325 2775 1500
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 5025 4200 6225 4200 6225 4800 5025 4800 5025 4200
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1650 4200 2850 4200 2850 4800 1650 4800 1650 4200
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
+ 0 0 1.00 60.00 120.00
+ 3600 825 3600 1500
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 3150 2325 2325 2850
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 4200 2325 4800 2850
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 2250 3600 2250 4200
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 4500 3600 4050 4200
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 5175 3600 5700 4200
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
+ 0 0 1.00 60.00 120.00
+ 6975 1050 6975 4350
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 3450 4200 4650 4200 4650 4800 3450 4800 3450 4200
+4 0 -1 0 0 0 12 0.0000 4 135 1110 1875 3300 Instrumentation\001
+4 0 -1 0 0 0 12 0.0000 4 135 1110 4200 3300 Instrumentation\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 2025 4575 Res1\001
+4 0 -1 0 0 0 12 0.0000 4 135 345 3450 525 NET\001
+4 0 -1 0 0 0 12 0.0000 4 180 435 3375 1950 Agent\001
+4 0 -1 0 0 0 12 0.0000 4 135 330 6825 600 flow\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 3825 4575 Res2\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 5475 4575 Res3\001
+4 0 -1 0 0 0 12 0.0000 4 135 240 1500 2175 NE\001
diff --git a/system/doc/oam/snmp_model_1.gif b/system/doc/oam/snmp_model_1.gif
new file mode 100644
index 0000000000..cf44d0fcc4
--- /dev/null
+++ b/system/doc/oam/snmp_model_1.gif
Binary files differ
diff --git a/system/doc/oam/snmp_model_1.ps b/system/doc/oam/snmp_model_1.ps
new file mode 100644
index 0000000000..1e4307cd09
--- /dev/null
+++ b/system/doc/oam/snmp_model_1.ps
@@ -0,0 +1,160 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: snmp_model_1.fig
+%%Creator: fig2dev Version 3.1 Patchlevel 2
+%%CreationDate: Wed Jan 12 11:13:58 2000
+%%For: nibe@gundor (Bengt Nilsson, ETX/DN/SP)
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 341 264
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-89.0 289.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
+ 0.06000 0.06000 sc
+7.500 slw
+% Polyline
+n 3900 2850 m 5625 2850 l 5625 3600 l 3900 3600 l cp gs col-1 s gr
+% Polyline
+n 1500 2850 m 3225 2850 l 3225 3600 l 1500 3600 l cp gs col-1 s gr
+% Polyline
+n 2775 1500 m 4575 1500 l 4575 2325 l 2775 2325 l cp gs col-1 s gr
+% Polyline
+n 5025 4200 m 6225 4200 l 6225 4800 l 5025 4800 l cp gs col-1 s gr
+% Polyline
+n 1650 4200 m 2850 4200 l 2850 4800 l 1650 4800 l cp gs col-1 s gr
+% Polyline
+gs clippath
+3630 1353 m 3600 1473 l 3570 1353 l 3570 1515 l 3630 1515 l cp clip
+n 3600 825 m 3600 1500 l gs col-1 s gr gr
+
+% arrowhead
+n 3630 1353 m 3600 1473 l 3570 1353 l col-1 s
+% Polyline
+n 3150 2325 m 2325 2850 l gs col-1 s gr
+% Polyline
+n 4200 2325 m 4800 2850 l gs col-1 s gr
+% Polyline
+n 2250 3600 m 2250 4200 l gs col-1 s gr
+% Polyline
+n 4500 3600 m 4050 4200 l gs col-1 s gr
+% Polyline
+n 5175 3600 m 5700 4200 l gs col-1 s gr
+% Polyline
+gs clippath
+7005 4203 m 6975 4323 l 6945 4203 l 6945 4365 l 7005 4365 l cp clip
+n 6975 1050 m 6975 4350 l gs col-1 s gr gr
+
+% arrowhead
+n 7005 4203 m 6975 4323 l 6945 4203 l col-1 s
+% Polyline
+n 3450 4200 m 4650 4200 l 4650 4800 l 3450 4800 l cp gs col-1 s gr
+/Times-Roman ff 180.00 scf sf
+1875 3300 m
+gs 1 -1 sc (Instrumentation) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+4200 3300 m
+gs 1 -1 sc (Instrumentation) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+2025 4575 m
+gs 1 -1 sc (Res1) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3450 525 m
+gs 1 -1 sc (NET) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3375 1950 m
+gs 1 -1 sc (Agent) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+6825 600 m
+gs 1 -1 sc (flow) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3825 4575 m
+gs 1 -1 sc (Res2) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+5475 4575 m
+gs 1 -1 sc (Res3) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+1500 2175 m
+gs 1 -1 sc (NE) col-1 sh gr
+$F2psEnd
+rs
diff --git a/system/doc/oam/snmp_model_2.fig b/system/doc/oam/snmp_model_2.fig
new file mode 100644
index 0000000000..7719ea58bf
--- /dev/null
+++ b/system/doc/oam/snmp_model_2.fig
@@ -0,0 +1,52 @@
+#FIG 3.1
+Landscape
+Center
+Inches
+1200 2
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1200 1200 2475 1200 2475 1800 1200 1800 1200 1200
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2475 1800 2475 1800 2475 1800 2475 1800 2475 1800
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 3600 1200 4875 1200 4875 1800 3600 1800 3600 1200
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 3600 1200 4875 1200 4875 1800 3600 1800 3600 1200
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1050 2400 2550 2400 2550 3000 1050 3000 1050 2400
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 3450 2400 4950 2400 4950 3000 3450 3000 3450 2400
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1200 3600 2400 3600 2400 4125 1200 4125 1200 3600
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2400 4125 2400 4125 2400 4125 2400 4125 2400 4125
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2775 3600 3900 3600 3900 4125 2775 4125 2775 3600
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 4275 3600 5400 3600 5400 4125 4275 4125 4275 3600
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 1800 1800 1800 2400
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 4200 1800 4200 2400
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 1800 3000 1800 3600
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 3
+ 4125 3000 3300 3600 3375 3600
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 4350 3000 4875 3600
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 2250 3000 3150 3600
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 3600 3000 2100 3600
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
+ 0 0 1.00 60.00 120.00
+ 6225 1200 6225 3600
+4 0 -1 0 0 0 12 0.0000 4 135 510 1500 1425 SNMP\001
+4 0 -1 0 0 0 12 0.0000 4 135 450 3825 1425 HTTP\001
+4 0 -1 0 0 0 12 0.0000 4 135 465 3825 1665 Server\001
+4 0 -1 0 0 0 12 0.0000 4 135 465 1500 1665 Server\001
+4 0 -1 0 0 0 12 0.0000 4 135 1110 1275 2775 Instrumentation\001
+4 0 -1 0 0 0 12 0.0000 4 135 1110 3675 2775 Instrumentation\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 1575 3900 Res1\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 3150 3900 Res2\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 4500 3900 Res3\001
+4 0 -1 0 0 0 12 0.0000 4 135 330 6075 1050 flow\001
diff --git a/system/doc/oam/snmp_model_2.gif b/system/doc/oam/snmp_model_2.gif
new file mode 100644
index 0000000000..79c6ef1af5
--- /dev/null
+++ b/system/doc/oam/snmp_model_2.gif
Binary files differ
diff --git a/system/doc/oam/snmp_model_2.ps b/system/doc/oam/snmp_model_2.ps
new file mode 100644
index 0000000000..a58b061690
--- /dev/null
+++ b/system/doc/oam/snmp_model_2.ps
@@ -0,0 +1,168 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: snmp_model_2.fig
+%%Creator: fig2dev Version 3.1 Patchlevel 2
+%%CreationDate: Wed Jan 12 12:16:38 2000
+%%For: nibe@gundor (Bengt Nilsson, ETX/DN/SP)
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 323 193
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-62.0 249.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
+ 0.06000 0.06000 sc
+7.500 slw
+% Polyline
+n 1200 1200 m 2475 1200 l 2475 1800 l 1200 1800 l cp gs col-1 s gr
+% Polyline
+n 2475 1800 m 2475 1800 l 2475 1800 l 2475 1800 l cp gs col-1 s gr
+% Polyline
+n 3600 1200 m 4875 1200 l 4875 1800 l 3600 1800 l cp gs col-1 s gr
+% Polyline
+n 3600 1200 m 4875 1200 l 4875 1800 l 3600 1800 l cp gs col-1 s gr
+% Polyline
+n 1050 2400 m 2550 2400 l 2550 3000 l 1050 3000 l cp gs col-1 s gr
+% Polyline
+n 3450 2400 m 4950 2400 l 4950 3000 l 3450 3000 l cp gs col-1 s gr
+% Polyline
+n 1200 3600 m 2400 3600 l 2400 4125 l 1200 4125 l cp gs col-1 s gr
+% Polyline
+n 2400 4125 m 2400 4125 l 2400 4125 l 2400 4125 l cp gs col-1 s gr
+% Polyline
+n 2775 3600 m 3900 3600 l 3900 4125 l 2775 4125 l cp gs col-1 s gr
+% Polyline
+n 4275 3600 m 5400 3600 l 5400 4125 l 4275 4125 l cp gs col-1 s gr
+% Polyline
+n 1800 1800 m 1800 2400 l gs col-1 s gr
+% Polyline
+n 4200 1800 m 4200 2400 l gs col-1 s gr
+% Polyline
+n 1800 3000 m 1800 3600 l gs col-1 s gr
+% Polyline
+n 4125 3000 m 3300 3600 l 3375 3600 l gs col-1 s gr
+% Polyline
+n 4350 3000 m 4875 3600 l gs col-1 s gr
+% Polyline
+n 2250 3000 m 3150 3600 l gs col-1 s gr
+% Polyline
+n 3600 3000 m 2100 3600 l gs col-1 s gr
+% Polyline
+gs clippath
+6255 3453 m 6225 3573 l 6195 3453 l 6195 3615 l 6255 3615 l cp clip
+n 6225 1200 m 6225 3600 l gs col-1 s gr gr
+
+% arrowhead
+n 6255 3453 m 6225 3573 l 6195 3453 l col-1 s
+/Times-Roman ff 180.00 scf sf
+1500 1425 m
+gs 1 -1 sc (SNMP) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3825 1425 m
+gs 1 -1 sc (HTTP) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3825 1665 m
+gs 1 -1 sc (Server) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+1500 1665 m
+gs 1 -1 sc (Server) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+1275 2775 m
+gs 1 -1 sc (Instrumentation) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3675 2775 m
+gs 1 -1 sc (Instrumentation) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+1575 3900 m
+gs 1 -1 sc (Res1) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3150 3900 m
+gs 1 -1 sc (Res2) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+4500 3900 m
+gs 1 -1 sc (Res3) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+6075 1050 m
+gs 1 -1 sc (flow) col-1 sh gr
+$F2psEnd
+rs
diff --git a/system/doc/oam/snmp_model_3.fig b/system/doc/oam/snmp_model_3.fig
new file mode 100644
index 0000000000..b2356c7cfe
--- /dev/null
+++ b/system/doc/oam/snmp_model_3.fig
@@ -0,0 +1,56 @@
+#FIG 3.1
+Landscape
+Center
+Inches
+1200 2
+6 1800 1500 2325 1950
+4 0 -1 0 0 0 12 0.0000 4 135 465 1800 1890 Server\001
+4 0 -1 0 0 0 12 0.0000 4 135 510 1800 1650 SNMP\001
+-6
+6 4200 1425 4725 1875
+4 0 -1 0 0 0 12 0.0000 4 135 450 4200 1575 HTTP\001
+4 0 -1 0 0 0 12 0.0000 4 135 465 4200 1815 Server\001
+-6
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1200 1200 3000 1200 3000 2250 1200 2250 1200 1200
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 3600 1200 5400 1200 5400 2250 3600 2250 3600 1200
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1200 3000 3000 3000 3000 3825 1200 3825 1200 3000
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 3600 3000 5400 3000 5400 3825 3600 3825 3600 3000
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2475 4500 4200 4500 4200 5400 2475 5400 2475 4500
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 4200 6000 5400 6000 5400 6600 4200 6600 4200 6000
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1200 6000 2400 6000 2400 6600 1200 6600 1200 6000
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2700 6000 3900 6000 3900 6600 2700 6600 2700 6000
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 2100 2250 2100 3000
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 4500 2250 4500 3000
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 2100 3825 3000 4500
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 4500 3825 3600 4500
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
+ 0 0 1.00 60.00 120.00
+ 1800 6000 3000 5400
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
+ 0 0 1.00 60.00 120.00
+ 3300 6000 3300 5400
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
+ 0 0 1.00 60.00 120.00
+ 4800 6000 3600 5400
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 1 2
+ 2 1 1.00 60.00 120.00
+ 6600 1575 6600 5850
+4 0 -1 0 0 0 12 0.0000 4 135 1110 3900 3450 Instrumentation\001
+4 0 -1 0 0 0 12 0.0000 4 135 1110 1500 3450 Instrumentation\001
+4 0 -1 0 0 0 12 0.0000 4 165 720 3000 4950 gen_event\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 3150 6375 Res2\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 4650 6375 Res3\001
+4 0 -1 0 0 0 12 0.0000 4 135 360 1650 6375 Res1\001
+4 0 -1 0 0 0 12 0.0000 4 135 330 6450 1275 flow\001
diff --git a/system/doc/oam/snmp_model_3.gif b/system/doc/oam/snmp_model_3.gif
new file mode 100644
index 0000000000..dbc8157ed1
--- /dev/null
+++ b/system/doc/oam/snmp_model_3.gif
Binary files differ
diff --git a/system/doc/oam/snmp_model_3.ps b/system/doc/oam/snmp_model_3.ps
new file mode 100644
index 0000000000..c615918cca
--- /dev/null
+++ b/system/doc/oam/snmp_model_3.ps
@@ -0,0 +1,182 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: snmp_model_3.fig
+%%Creator: fig2dev Version 3.1 Patchlevel 2
+%%CreationDate: Wed Jan 12 12:37:37 2000
+%%For: nibe@gundor (Bengt Nilsson, ETX/DN/SP)
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 337 327
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-71.0 397.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
+ 0.06000 0.06000 sc
+/Times-Roman ff 180.00 scf sf
+1800 1890 m
+gs 1 -1 sc (Server) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+1800 1650 m
+gs 1 -1 sc (SNMP) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+4200 1575 m
+gs 1 -1 sc (HTTP) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+4200 1815 m
+gs 1 -1 sc (Server) col-1 sh gr
+7.500 slw
+% Polyline
+n 1200 1200 m 3000 1200 l 3000 2250 l 1200 2250 l cp gs col-1 s gr
+% Polyline
+n 3600 1200 m 5400 1200 l 5400 2250 l 3600 2250 l cp gs col-1 s gr
+% Polyline
+n 1200 3000 m 3000 3000 l 3000 3825 l 1200 3825 l cp gs col-1 s gr
+% Polyline
+n 3600 3000 m 5400 3000 l 5400 3825 l 3600 3825 l cp gs col-1 s gr
+% Polyline
+n 2475 4500 m 4200 4500 l 4200 5400 l 2475 5400 l cp gs col-1 s gr
+% Polyline
+n 4200 6000 m 5400 6000 l 5400 6600 l 4200 6600 l cp gs col-1 s gr
+% Polyline
+n 1200 6000 m 2400 6000 l 2400 6600 l 1200 6600 l cp gs col-1 s gr
+% Polyline
+n 2700 6000 m 3900 6000 l 3900 6600 l 2700 6600 l cp gs col-1 s gr
+% Polyline
+n 2100 2250 m 2100 3000 l gs col-1 s gr
+% Polyline
+n 4500 2250 m 4500 3000 l gs col-1 s gr
+% Polyline
+n 2100 3825 m 3000 4500 l gs col-1 s gr
+% Polyline
+n 4500 3825 m 3600 4500 l gs col-1 s gr
+% Polyline
+gs clippath
+2855 5439 m 2975 5412 l 2882 5493 l 3027 5420 l 3000 5366 l cp clip
+n 1800 6000 m 3000 5400 l gs col-1 s gr gr
+
+% arrowhead
+n 2855 5439 m 2975 5412 l 2882 5493 l col-1 s
+% Polyline
+gs clippath
+3270 5547 m 3300 5427 l 3330 5547 l 3330 5385 l 3270 5385 l cp clip
+n 3300 6000 m 3300 5400 l gs col-1 s gr gr
+
+% arrowhead
+n 3270 5547 m 3300 5427 l 3330 5547 l col-1 s
+% Polyline
+gs clippath
+3718 5493 m 3624 5412 l 3745 5439 l 3600 5366 l 3573 5420 l cp clip
+n 4800 6000 m 3600 5400 l gs col-1 s gr gr
+
+% arrowhead
+n 3718 5493 m 3624 5412 l 3745 5439 l col-1 s
+% Polyline
+gs clippath
+6570 1746 m 6600 1602 l 6630 1746 l 6630 1560 l 6570 1560 l cp clip
+n 6600 1575 m 6600 5850 l gs col-1 s gr gr
+
+% arrowhead
+n 6570 1746 m 6600 1602 l 6630 1746 l 6600 1722 l 6570 1746 l cp gs 0.00 setgray ef gr col-1 s
+/Times-Roman ff 180.00 scf sf
+3900 3450 m
+gs 1 -1 sc (Instrumentation) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+1500 3450 m
+gs 1 -1 sc (Instrumentation) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3000 4950 m
+gs 1 -1 sc (gen_event) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+3150 6375 m
+gs 1 -1 sc (Res2) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+4650 6375 m
+gs 1 -1 sc (Res3) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+1650 6375 m
+gs 1 -1 sc (Res1) col-1 sh gr
+/Times-Roman ff 180.00 scf sf
+6450 1275 m
+gs 1 -1 sc (flow) col-1 sh gr
+$F2psEnd
+rs
diff --git a/system/doc/oam/terminology.fig b/system/doc/oam/terminology.fig
new file mode 100644
index 0000000000..5a3638764a
--- /dev/null
+++ b/system/doc/oam/terminology.fig
@@ -0,0 +1,37 @@
+#FIG 3.1
+Portrait
+Center
+Inches
+1200 2
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2400 525 3600 525 3600 1050 2400 1050 2400 525
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 2400 1950 3600 1950 3600 2475 2400 2475 2400 1950
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 5
+ 1575 3075 2775 3075 2775 3600 1575 3600 1575 3075
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1
+ 3000 2475
+2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 2
+ 3600 750 3600 825
+2 2 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
+ 3075 3075 4275 3075 4275 3600 3075 3600 3075 3075
+2 1 1 1 -1 7 0 0 -1 4.000 0 0 7 0 0 2
+ 3000 2475 3675 3075
+2 1 1 1 -1 7 0 0 -1 4.000 0 0 7 0 0 2
+ 3000 2475 2175 3075
+2 1 1 1 -1 7 0 0 -1 4.000 0 0 7 0 0 2
+ 3000 1050 3000 1950
+2 1 1 1 -1 7 0 0 -1 4.000 0 0 7 0 0 2
+ 3600 750 4275 1350
+2 1 1 1 -1 7 0 0 -1 4.000 0 0 7 0 0 2
+ 3600 2175 4275 1650
+4 0 -1 0 0 0 14 0.0000 4 105 330 3975 2100 sees\001
+4 0 -1 0 0 0 14 0.0000 4 150 450 1275 750 NMS\001
+4 0 -1 0 0 0 14 0.0000 4 150 420 1275 1575 NET\001
+4 0 -1 0 0 0 14 0.0000 4 150 285 1350 2700 NE\001
+4 0 -1 0 0 0 14 0.0000 4 105 330 3975 975 sees\001
+4 0 -1 0 0 0 14 0.0000 4 150 390 4125 1575 MIB\001
+4 0 -1 0 0 0 14 0.0000 4 150 405 1950 3375 Res1\001
+4 0 -1 0 0 0 14 0.0000 4 150 405 3450 3375 Res2\001
+4 0 -1 0 0 0 14 0.0000 4 195 510 2775 2325 Agent\001
+4 0 -1 0 0 0 14 0.0000 4 195 735 2625 825 Manager\001
diff --git a/system/doc/oam/terminology.gif b/system/doc/oam/terminology.gif
new file mode 100644
index 0000000000..89f071abf6
--- /dev/null
+++ b/system/doc/oam/terminology.gif
Binary files differ
diff --git a/system/doc/oam/terminology.ps b/system/doc/oam/terminology.ps
new file mode 100644
index 0000000000..525fa24f88
--- /dev/null
+++ b/system/doc/oam/terminology.ps
@@ -0,0 +1,154 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: terminology.fig
+%%Creator: fig2dev Version 3.1 Patchlevel 2
+%%CreationDate: Fri Dec 17 10:43:21 1999
+%%For: nibe@gundor (Bengt Nilsson, ETX/DN/SP)
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 196 187
+%%Pages: 0
+%%BeginSetup
+%%IncludeFeature: *PageSize Letter
+%%EndSetup
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-76.0 217.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
+ 0.06000 0.06000 sc
+7.500 slw
+% Polyline
+n 2400 525 m 3600 525 l 3600 1050 l 2400 1050 l cp gs col-1 s gr
+% Polyline
+n 2400 1950 m 3600 1950 l 3600 2475 l 2400 2475 l cp gs col-1 s gr
+% Polyline
+n 1575 3075 m 2775 3075 l 2775 3600 l 1575 3600 l cp gs col-1 s gr
+% Polyline
+n 3000 2475 m 3000 2475 l gs col-1 s gr
+% Polyline
+n 3600 750 m 3600 825 l gs col-1 s gr
+% Polyline
+n 3075 3075 m 4275 3075 l 4275 3600 l 3075 3600 l cp gs col-1 s gr
+% Polyline
+ [66.7] 0 sd
+n 3000 2475 m 3675 3075 l gs col-1 s gr [] 0 sd
+% Polyline
+ [66.7] 0 sd
+n 3000 2475 m 2175 3075 l gs col-1 s gr [] 0 sd
+% Polyline
+ [66.7] 0 sd
+n 3000 1050 m 3000 1950 l gs col-1 s gr [] 0 sd
+% Polyline
+ [66.7] 0 sd
+n 3600 750 m 4275 1350 l gs col-1 s gr [] 0 sd
+% Polyline
+ [66.7] 0 sd
+n 3600 2175 m 4275 1650 l gs col-1 s gr [] 0 sd
+/Times-Roman ff 210.00 scf sf
+3975 2100 m
+gs 1 -1 sc (sees) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+1275 750 m
+gs 1 -1 sc (NMS) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+1275 1575 m
+gs 1 -1 sc (NET) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+1350 2700 m
+gs 1 -1 sc (NE) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+3975 975 m
+gs 1 -1 sc (sees) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+4125 1575 m
+gs 1 -1 sc (MIB) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+1950 3375 m
+gs 1 -1 sc (Res1) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+3450 3375 m
+gs 1 -1 sc (Res2) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+2775 2325 m
+gs 1 -1 sc (Agent) col-1 sh gr
+/Times-Roman ff 210.00 scf sf
+2625 825 m
+gs 1 -1 sc (Manager) col-1 sh gr
+$F2psEnd
+rs
diff --git a/system/doc/oam/warning.gif b/system/doc/oam/warning.gif
new file mode 100644
index 0000000000..96af52360e
--- /dev/null
+++ b/system/doc/oam/warning.gif
Binary files differ
diff --git a/system/doc/oam/xmlfiles.mk b/system/doc/oam/xmlfiles.mk
new file mode 100644
index 0000000000..0610bdb989
--- /dev/null
+++ b/system/doc/oam/xmlfiles.mk
@@ -0,0 +1,19 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+OAM_CHAPTER_FILES = oam_intro.xml