diff --git a/doc/mpls/ChangeLog.opaque.txt b/doc/mpls/ChangeLog.opaque.txt
new file mode 100644
index 0000000..68ddf4c
--- /dev/null
+++ b/doc/mpls/ChangeLog.opaque.txt
@@ -0,0 +1,179 @@
+----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * -----
+Changes 2001.12.03
+
+1. Bug fixes
+
+  1.1 Though a new member "oi" has added to "struct ospf_lsa" to control
+      flooding scope of type-9 Opaque-LSAs, the value was always NULL
+      because no one set it.
+
+  1.2 In the function "show_ip_ospf_database_summary()" and "show_lsa_
+      detail_adv_router()", VTY output for type-11 Opaque-LSAs did not
+      work properly.
+
+  1.3 URL for the opaque-type assignment reference has changed.
+
+  1.4 In the file "ospf_mpls_te.c", printf formats have changed to
+      avoid compiler warning messages; "%lu" -> "%u", "%lx" -> "%x".
+      Note that this hack depends on OS, compiler and their versions. 
+
+  1.5 One of attached documentation "opaque_lsa.txt" has changed to
+      reflect the latest coding.
+
+2. Feature enhancements
+
+  2.1 Knowing that it is an ugly hack, an "officially unallocated"
+      opaque-type value 0 has newly introduced as a "wildcard",
+      which matches to all opaque-type.
+      This value must not be flooded to the network, of course.
+
+  2.2 The Opaque-core module makes use of newly introduced hooks to
+      dispatch every LSDB change (LSA installation and deletion) to
+      preregistered opaque users.
+      Therefore, by providing appropriate callback functions as new
+      parameters of "ospf_register_opaque_functab()", an opaque user
+      can refer to every LSA instance to be installed into, or to be
+      deleted from, the LSDB.
+
+----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * -----
+Changes 2001.10.31
+
+1. Bug fixes
+
+  1.1 Since each LSA has their own lifetime, they will remain in a
+      routing domain (being stored in LSDB of each router), until their
+      age naturally reach to MaxAge or explicitly being flushed by the
+      originated router. Therefore, if a router restarted with a short
+      downtime, it is possible that previously flooded self-originated
+      LSAs might received if the NSM status is not less than Exchange.
+
+      There were some problems in the way of handling self-originated
+      Opaque-LSAs if they are contained in a received LSUpd message,
+      but not installed to the local LSDB yet.
+      Regardless of some conditions to start originating Opaque-LSAs
+      (there should be at least one opaque-capable full-state neighbor),
+      the function "ospf_flood()" will be called to flood and install
+      this brand-new looking LSA.
+      As the result, when the NSM of an opaque-capable neighbor gets
+      full, internal state inconsistency happens; a user of Opaque-LSA
+      such as MPLS-TE can refer to self-originated LSAs in the local
+      LSDB, but cannot modify their contents...
+
+      Above problems have fixed with a policy "flush it from the whole
+      routing domain and keep silent until the flushing completed".
+      By using this sweeping technique, we can be free from confusion
+      caused by self-originated LSAs received via network. 
+
+  1.2 The function "ospf_opaque_type_name()" contained massive ifdefs
+      corresponding to each "opaque-type".
+      These unnecessary ifdefs are removed completely.
+
+  1.3 In the function "ospf_delete_opaque_functab()", there was an
+      improper loop control that causes illegal memory access.
+      Original coding was "next = nextnode (node)".
+
+  1.4 The function "ospf_mpls_te_ism_change()" could not handle the
+      case when the ISM changes from Waiting to DR/BDR/Other.
+      So, there was a case that even if one of an ISM become
+      operational and MPLS-TE module has started, the corresponding
+      Opaque-LSA cannot be originated.
+
+  1.5 The function "ospf_opaque_lsa_reoriginate_schedule()" did not
+      allow to be called multiple times, simply because handling
+      module for the given "lsa-type & opaque-type" already exists.
+      But this assumption seems to be wrong.
+      Change the policy to allow this function to be called multiple
+      times and let the caller to decide what should do when the
+      corresponding callback function "(* functab->lsa_originator)()"
+      is called.
+
+2. Feature enhancements
+
+  2.1 The global bitmap "opaque" has introduced instead of former flag
+      "OpaqueCapable", to store complex conditions to handle Opaque-LSAs.
+
+  2.2 The MPLS-TE module now referes to "draft-katz-yeung-ospf-traffic
+      -06.txt", no significant changes with 05 version, though.
+
+----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * -----
+Changes 2001.08.03
+
+1. Bug fixes
+
+  1.1 Even if the ospfd started with opaque capability enabled, when
+      the ospfd receives an unknown opaque-type (unregistered by the
+      function "ospf_register_opaque_functab()" beforehand), the LSA
+      was discarded. As the result, only the opaque-LSAs that have
+      commonly registered by opaque-capable ospf routers can be
+      flooded in a routing domain.
+
+      This behavior has fixed so that arbitrary opaque-type LSAs can
+      be flooded among opaque-capable ospf routers.
+      If the ospfd has opaque-LSA capability but disabled at runtime,
+      received opaque-LSAs can be accepted and registered to LSDB as
+      is, but not be flooded to the network; those opaque LSAs will
+      remain in LSDB until explicitly flushed by incoming LSUpd
+      messages with MaxAge, or their age naturally reaches to MaxAge.
+
+  1.2 The function "ospf_register_opaque_functab()" did not check
+      if the entry corresponding to the given "lsa-type, opaque-type"
+      combination already exists or not.
+      This problem has fixed not to allow multiple registration.
+
+  1.3 Since type-11 (AS external) LSAs will be flooded beyond areas,
+      there is little relationship between "struct lsa" and "struct
+      area". More specifically, the pointer address "lsa->area" can
+      be NULL if the lsa-type is 11, thus an illegal memory access
+      will happen. This problem has fixed.
+
+  1.4 When self-originated opaque-LSAs are received via network and
+      if the corresponding opaque-type functions are not available
+      (they have already deleted) at that time, those LSAs were
+      dropped due to "unknown opaque-type" error.
+      After the problem 1.1 has fixed, those "self-originated" LSAs
+      were registered to LSDB and then flooded to the network, even
+      if the processing functions did not exist...
+
+      After all, this problem has fixed so that those LSAs should
+      explicitly be flushed from the routing domain immediately, if
+      the processing functions cannot find at that time.
+
+  1.5 Some typo have fixed.
+
+      --- EXAMPLE ---
+      static int
+      opaque_lsa_originate_callback (list funclist, void *lsa_type_dependent)
+                                                          ^^^^^
+      --- EXAMPLE ---
+
+2. Feature enhancements
+
+  2.1 According to the description of rfc2328 in section 10.8, any
+      change in the router's optional capabilities should trigger
+      the option re-negotiation procedures with neighbors.
+
+      --- EXCERPT ---
+                              If for some reason the router's optional
+        capabilities change, the Database Exchange procedure should be
+        restarted by reverting to neighbor state ExStart.
+      --- EXCERPT ---
+
+      For the opaque-capability changes, this feature has implemented.
+      More specifically, if "ospf opaque-lsa" or "no ospf opaque-lsa"
+      VTY command is given at runtime, all self-originated LSAs will
+      be flushed immediately and then all neighbor status will be
+      forced to ExStart by generating SeqNumberMismatch events.
+
+  2.1 When we change opaque-capability dynamically (ON -> OFF -> ON),
+      there was no trigger at "OFF->ON" timing to reactivate opaque
+      LSA handling modules (such as MPLS-TE) that have once forcibly
+      stopped at "ON->OFF" timing.
+      Now this dynamic reactivation feature has added.
+
+  2.2 The MPLS-TE module now referes to "draft-katz-yeung-ospf-traffic
+      -05.txt", no significant changes with 04 version, though.
+
+----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * ----- * -----
+Changes 2001.03.28
+
+  Initial release of Opaque-LSA/MPLS-TE extensions for the zebra/ospfd.
diff --git a/doc/mpls/cli_summary.txt b/doc/mpls/cli_summary.txt
new file mode 100644
index 0000000..c60d0ae
--- /dev/null
+++ b/doc/mpls/cli_summary.txt
@@ -0,0 +1,90 @@
+Summary of CLI commands, expanded for Opaque-LSA/MPLS-TE.
+---------------------------------------------------------
+
+router>
+
+  show ip ospf database (asbr-summary|external|max-age|network|router|self-originate|summary|opaque-link|opaque-area|opaque-external)
+
+  show ip ospf database (asbr-summary|external|network|router|summary|opaque-link|opaque-area|opaque-external) (self-originate|)
+
+  show ip ospf database (asbr-summary|external|network|router|summary|opaque-link|opaque-area|opaque-external) A.B.C.D
+
+  show ip ospf database (asbr-summary|external|network|router|summary|opaque-link|opaque-area|opaque-external) A.B.C.D (self-originate|)
+
+  show ip ospf database (asbr-summary|external|network|router|summary|opaque-link|opaque-area|opaque-external) A.B.C.D adv-router A.B.C.D
+
+  show ip ospf database (asbr-summary|external|network|router|summary|opaque-link|opaque-area|opaque-external) adv-router A.B.C.D
+
+  --> Add database items: opaque-link, opaque-area, opaque-external
+
+  show mpls-te interface [INTERFACE]
+
+  --> Show current MPLS-TE link-TLV parameters.
+      If [INTERFACE] is omitted, all interfaces will be displayed.
+
+  show mpls-te router
+
+  --> Show current MPLS-TE Router-TLV parameters.
+
+router> enable
+router#
+router# configure terminal
+router(config)# interface [INTERFACE]
+router(config-if)#
+
+  mpls-te link max-bw BANDWIDTH
+
+  --> Set MPLS-TE link-TLV parameter: Maximum Bandwidth (Bytes/sec).
+      In integer or floating point format (1000, or 1.0e3)
+
+  mpls-te link max-rsv-bw BANDWIDTH
+
+  --> Set MPLS-TE link-TLV parameter: Maximum Reservable Bandwidth (Bytes/sec).
+      In integer or floating point format (1000, or 1.0e3)
+
+  mpls-te link metric <0-4294967295>
+
+  --> Set MPLS-TE link-TLV parameter: MPLS-TE metric.
+
+  mpls-te link rsc-clsclr BITPATTERN
+
+  --> Set MPLS-TE link-TLV parameter: Resource Class/Color.
+      In 32-bit hexadecimal format, with leading "0x" (0x0 - 0xffffffff)
+
+  mpls-te link unrsv-bw <0-7> BANDWIDTH
+
+  --> Set MPLS-TE link-TLV parameter: Unreserved Bandwidth (Bytes/sec).
+      In integer or floating point format (1000, or 1.0e3)
+
+router(config-if)# exit
+router(config)# router ospf
+router(config-router)#
+
+  mpls-te
+
+  --> Enable MPLS-TE functionality.
+      Note that master-switch "ospf opaque-lsa" must also be specified.
+
+  mpls-te on
+
+  --> Alias of "mpls-te" command.
+
+  mpls-te router-address A.B.C.D
+
+  --> Set MPLS-TE Router-TLV parameter: Router Address.
+
+  no mpls-te
+
+  --> Disable MPLS-TE functionality.
+
+  no ospf opaque-lsa
+
+  --> Disable Opaque-LSAs capability.
+      This node behaves Opaque-incapable node.
+
+  ospf opaque-lsa
+
+  --> Enable Opaque-LSAs capability.
+      This is the master-switch to make this node Opaque-capable.
+
+router# exit
diff --git a/doc/mpls/opaque_lsa.txt b/doc/mpls/opaque_lsa.txt
new file mode 100644
index 0000000..7d5c7fe
--- /dev/null
+++ b/doc/mpls/opaque_lsa.txt
@@ -0,0 +1,365 @@
+1. List of "opaque-type dependent" callback functions per LSA-type.
+
+ <ospf_opaque_lsaN_functab>  (N = 9,10,11)
+      |
+      |    struct
+      |    list            struct                        struct
+      +-> +-------+        listnode                      listnode
+          | head  |-----> +------+                      +------
+          | tail  |       | next |--------------------> | next 
+          | count |    /--| prev |<---------------------| prev
+          +-------+       | data |----+                 |
+          |///////|       +------+    |
+          +-------+                   |
+                                      |
+           struct                     |
+           ospf_opaque_tabent         |
+          +----------------------+ <--+
+          | opaque_type          |
+          +----------------------+
+          | (Callback functions) |
+          +----------------------+
+
+
+2. Self-originated Opaque-LSAs per LSA-type.
+
+2.1 Type-11 (AS-external) Opaque-LSAs
+
+               struct
+               ospf
+        +---> +-------------------+
+        |     |///////////////////|
+        |     +-------------------+
+        |     | opaque            |
+        |     +-------------------+
+        |     |///////////////////|
+        |     +-------------------+
+        |     | opaque_lsa_self   |---+
+        |     +-------------------+   |
+        |     |///////////////////|   |
+        |     +-------------------+   |
+        |                             |
+  ......|.............................|.......................................
+  :     |                             |   Almost common for type-9,10,11 LSA :
+  :     |     +-----------------------+                                      :
+  :     |     |                                                              :
+  :     |     |    struct                                                    :
+  :     |     |    list            struct                        struct      :
+  :     |     +-> +-------+        listnode                      listnode    :
+  :     |         | head  |-----> +------+                      +------      :
+  :     |         | tail  |       | next |--------------------> | next       :
+  :     |         | count |    /--| prev |<---------------------| prev       :
+  :     |         +-------+       | data |---+                  |            :
+  :     |         |///////|       +------+   |                               :
+  :     |         +-------+                  |                               :
+  :     |                                    |                               :
+  :     |      struct                        |                               :
+  :     |      opaque_info_per_type          |                               :
+  :     |     +-------------------+ <--------+                               :
+  :     |     | opaque_type       | <------------+                           :
+  :     |     +-------------------+              |                           :
+  :     |     | status            |              |                           :
+  :     |     +-------------------+              |                           :
+  :     |     | t_opaque_lsa_self |              |                           :
+  :     |     +-------------------+              |                           :
+  :     +-----| owner             |              |       struct              :
+  :           +-------------------+              |       ospf_opaque_tabent  :
+  :           | functab           |-------------------> +----------------    :
+  :           +-------------------+              |      | opaque_type        :
+  :           | id_list           |---+          |      |(Callback Funcs)    :
+  :           +-------------------+   |          |      |                    :
+  :                                   |          |                           :
+  :           +-----------------------+          |                           :
+  :           |                                  |                           :
+  :           |    struct                        |                           :
+  :           |    list            struct        |               struct      :
+  :           +-> +-------+        listnode      |               listnode    :
+  :               | head  |-----> +------+       |              +------      :
+  :               | tail  |       | next |--------------------> | next       :
+  :               | count |    /--| prev |<---------------------| prev       :
+  :               +-------+       | data |---+   |              |            :
+  :               |///////|       +------+   |   |                           :
+  :               +-------+                  |   |                           :
+  :                                          |   |                           :
+  :            struct                        |   |                           :
+  :            opaque_info_per_id            |   |                           :
+  :           +-------------------+ <--------+   |                           :
+  :           | opaque_id         |              |                           :
+  :           +-------------------+              |                           :
+  :           | t_opaque_lsa_self |              |                           :
+  :           +-------------------+              |                           :
+  :           | opqctl_type       |--------------+                           :
+  :           +-------------------+                                          :
+  :           | lsa               |---+                                      :
+  :           +-------------------+   |                                      :
+  :                                   |                                      :
+  :            struct                 |                                      :
+  :            ospf_lsa               |                                      :
+  :           +-------------+ <-------+                                      :
+  :           |/////////////|                 struct                         :
+  :           +-------------+                 lsa_header                     :
+  :           | data        |--------------> +--------                       :
+  :           +-------------+                |                               :
+  :           |/////////////|                                                :
+  :           +-------------+                                                :
+  :  +--------| area        |                                                :
+  :  |        +-------------+                                                :
+  : ---       |/////////////|                                                :
+  :           +-------------+                                                :
+  :     +-----| oi          |                                                :
+  :     |     +-------------+                                                :
+  :    ---                                                                   :
+  :..........................................................................:
+
+2.2 Type-10 (area-local) Opaque-LSAs
+
+               struct
+               ospf
+              +---------+ <-----------+
+              |/////////|             |
+              +---------+             |
+                                      |
+               struct                 |
+               ospf_area              |
+     +--+---> +-----------------+     |
+     |  |     | top             |-----+
+     |  |     +-----------------+
+     |  |     |/////////////////|              struct
+     |  |     +-----------------+              ospf_lsa
+     |  |     | router_lsa_self |-----------> +---------
+     |  |     +-----------------+             |
+     |  |     | opaque_lsa_self |-----+       |
+     |  |     +-----------------+     |
+     |  |     |/////////////////|     |
+     |  |     +-----------------+     |
+     |  |                             |
+  ...|..|.............................|.......................................
+  :  |  |                             |   Almost common for type-9,10,11 LSA :
+  :  |  |     +-----------------------+                                      :
+  :  |  |     |                                                              :
+  :  |  |     |    struct                                                    :
+  :  |  |     |    list            struct                        struct      :
+  :  |  |     +-> +-------+        listnode                      listnode    :
+  :  |  |         | head  |-----> +------+                      +------      :
+  :  |  |         | tail  |       | next |--------------------> | next       :
+  :  |  |         | count |    /--| prev |<---------------------| prev       :
+  :  |  |         +-------+       | data |---+                  |            :
+  :  |  |         |///////|       +------+   |                               :
+  :  |  |         +-------+                  |                               :
+  :  |  |                                    |                               :
+  :  |  |      struct                        |                               :
+  :  |  |      opaque_info_per_type          |                               :
+  :  |  |     +-------------------+ <--------+                               :
+  :  |  |     | opaque_type       | <------------+                           :
+  :  |  |     +-------------------+              |                           :
+  :  |  |     | status            |              |                           :
+  :  |  |     +-------------------+              |                           :
+  :  |  |     | t_opaque_lsa_self |              |                           :
+  :  |  |     +-------------------+              |                           :
+  :  |  +-----| owner             |              |       struct              :
+  :  |        +-------------------+              |       ospf_opaque_tabent  :
+  :  |        | functab           |-------------------> +----------------    :
+  :  |        +-------------------+              |      | opaque_type        :
+  :  |        | id_list           |---+          |      |(Callback Funcs)    :
+  :  |        +-------------------+   |          |      |                    :
+  :  |                                |          |                           :
+  :  |        +-----------------------+          |                           :
+  :  |        |                                  |                           :
+  :  |        |    struct                        |                           :
+  :  |        |    list            struct        |               struct      :
+  :  |        +-> +-------+        listnode      |               listnode    :
+  :  |            | head  |-----> +------+       |              +------      :
+  :  |            | tail  |       | next |--------------------> | next       :
+  :  |            | count |    /--| prev |<---------------------| prev       :
+  :  |            +-------+       | data |---+   |              |            :
+  :  |            |///////|       +------+   |   |                           :
+  :  |            +-------+                  |   |                           :
+  :  |                                       |   |                           :
+  :  |         struct                        |   |                           :
+  :  |         opaque_info_per_id            |   |                           :
+  :  |        +-------------------+ <--------+   |                           :
+  :  |        | opaque_id         |              |                           :
+  :  |        +-------------------+              |                           :
+  :  |        | t_opaque_lsa_self |              |                           :
+  :  |        +-------------------+              |                           :
+  :  |        | opqctl_type       |--------------+                           :
+  :  |        +-------------------+                                          :
+  :  |        | lsa               |---+                                      :
+  :  |        +-------------------+   |                                      :
+  :  |                                |                                      :
+  :  |         struct                 |                                      :
+  :  |         ospf_lsa               |                                      :
+  :  |        +-------------+ <-------+                                      :
+  :  |        |/////////////|                 struct                         :
+  :  |        +-------------+                 lsa_header                     :
+  :  |        | data        |--------------> +--------                       :
+  :  |        +-------------+                |                               :
+  :  |        |/////////////|                                                :
+  :  |        +-------------+                                                :
+  :  +--------| area        |                                                :
+  :           +-------------+                                                :
+  :           |/////////////|                                                :
+  :           +-------------+                                                :
+  :     +-----| oi          |                                                :
+  :     |     +-------------+                                                :
+  :    ---                                                                   :
+  :..........................................................................:
+
+2.3 Type-9 (link-local) Opaque-LSAs
+
+               struct
+               ospf_area
+     +------> +---------+ <---------+
+     |        |/////////|           |
+     |        +---------+           |
+     |                              |
+     |         struct               |
+     |         ospf_interface       |
+     |  +-+-> +-----------------+   |
+     |  | |   |/////////////////|   |
+     |  | |   +-----------------+   |
+     |  | |   | area            |---+
+     |  | |   +-----------------+
+     |  | |   |/////////////////|              struct
+     |  | |   +-----------------+              ospf_lsa
+     |  | |   |network_lsa_self |-----------> +---------
+     |  | |   +-----------------+             |
+     |  | |   | opaque_lsa_self |-----+       |
+     |  | |   +-----------------+     |
+     |  | |   |/////////////////|     |
+     |  | |   +-----------------+     |
+     |  | |                           |
+  ...|..|.|...........................|.......................................
+  :  |  | |                           |   Almost common for type-9,10,11 LSA :
+  :  |  | |   +-----------------------+                                      :
+  :  |  | |   |                                                              :
+  :  |  | |   |    struct                                                    :
+  :  |  | |   |    list            struct                        struct      :
+  :  |  | |   +-> +-------+        listnode                      listnode    :
+  :  |  | |       | head  |-----> +------+                      +------      :
+  :  |  | |       | tail  |       | next |--------------------> | next       :
+  :  |  | |       | count |    /--| prev |<---------------------| prev       :
+  :  |  | |       +-------+       | data |---+                  |            :
+  :  |  | |       |///////|       +------+   |                               :
+  :  |  | |       +-------+                  |                               :
+  :  |  | |                                  |                               :
+  :  |  | |    struct                        |                               :
+  :  |  | |    opaque_info_per_type          |                               :
+  :  |  | |   +-------------------+ <--------+                               :
+  :  |  | |   | opaque_type       | <------------+                           :
+  :  |  | |   +-------------------+              |                           :
+  :  |  | |   | status            |              |                           :
+  :  |  | |   +-------------------+              |                           :
+  :  |  | |   | t_opaque_lsa_self |              |                           :
+  :  |  | |   +-------------------+              |                           :
+  :  |  | +---| owner             |              |       struct              :
+  :  |  |     +-------------------+              |       ospf_opaque_tabent  :
+  :  |  |     | functab           |-------------------> +----------------    :
+  :  |  |     +-------------------+              |      | opaque_type        :
+  :  |  |     | id_list           |---+          |      |(Callback Funcs)    :
+  :  |  |     +-------------------+   |          |      |                    :
+  :  |  |                             |          |                           :
+  :  |  |     +-----------------------+          |                           :
+  :  |  |     |                                  |                           :
+  :  |  |     |    struct                        |                           :
+  :  |  |     |    list            struct        |               struct      :
+  :  |  |     +-> +-------+        listnode      |               listnode    :
+  :  |  |         | head  |-----> +------+       |              +------      :
+  :  |  |         | tail  |       | next |--------------------> | next       :
+  :  |  |         | count |    /--| prev |<---------------------| prev       :
+  :  |  |         +-------+       | data |---+   |              |            :
+  :  |  |         |///////|       +------+   |   |                           :
+  :  |  |         +-------+                  |   |                           :
+  :  |  |                                    |   |                           :
+  :  |  |      struct                        |   |                           :
+  :  |  |      opaque_info_per_id            |   |                           :
+  :  |  |     +-------------------+ <--------+   |                           :
+  :  |  |     | opaque_id         |              |                           :
+  :  |  |     +-------------------+              |                           :
+  :  |  |     | t_opaque_lsa_self |              |                           :
+  :  |  |     +-------------------+              |                           :
+  :  |  |     | opqctl_type       |--------------+                           :
+  :  |  |     +-------------------+                                          :
+  :  |  |     | lsa               |---+                                      :
+  :  |  |     +-------------------+   |                                      :
+  :  |  |                             |                                      :
+  :  |  |      struct                 |                                      :
+  :  |  |      ospf_lsa               |                                      :
+  :  |  |     +-------------+ <-------+                                      :
+  :  |  |     |/////////////|                 struct                         :
+  :  |  |     +-------------+                 lsa_header                     :
+  :  |  |     | data        |--------------> +--------                       :
+  :  |  |     +-------------+                |                               :
+  :  |  |     |/////////////|                                                :
+  :  |  |     +-------------+                                                :
+  :  +--|-----| area        |                                                :
+  :     |     +-------------+                                                :
+  :     |     |/////////////|                                                :
+  :     |     +-------------+                                                :
+  :     +-----| oi          |                                                :
+  :           +-------------+                                                :
+  :..........................................................................:
+
+
+3. Internal structures for MPLS-TE parameter management.
+
+       struct                         
+       ospf_mpls_te
+      +-------------+
+      | status      |
+      +-------------+
+      | iflist      |---+
+      +-------------+   |
+      |(Router-TLV) |   |
+      +-------------+   |
+                        |
+  +---------------------+
+  |  
+  |      struct                     
+  |      list            struct                        struct
+  +---> +-------+        listnode                      listnode
+        | head  |-----> +------+                      +------
+        | tail  |       | next |--------------------> | next 
+        | count |    /--| prev |<---------------------| prev
+        +-------+       | data |---+                  |
+        |///////|       +------+   |
+        +-------+                  |
+                                   |
+  +--------------------------------+
+  |
+  |    struct
+  |    ospf_mpls_te_linkparms
+  +-> +----------------+
+      | instance       |                       struct
+      +----------------+                       interface
+      | ifp            |--------------------> +----------+
+      +----------------+               +----> |//////////|
+      | area           |----+          |      +----------+
+      +----------------+    |          |      | info     |-----+
+      | flags          |    |          |      +----------+     |
+      +----------------+    |          |      |//////////|     |
+      | (Link-TLV)     |    |          |      +----------+     |
+      +----------------+    |          |                       |
+      | (Link-SubTLVs) |    |          |       struct          |
+      +----------------+    |          |       ospf_if_info    |
+                            |          |      +----------+ <---+
+                            |          |      |//////////|
+       struct               |          |      +----------+
+       ospf_area            |          |      | oifs     |-----+
+  +-> +--------------+ <----+          |      +----------+     |
+  |   |//////////////|                 |                       |
+  |   +--------------+                 |       struct          |
+  |                                    |       route_table     |
+  |    struct                          |      +-----------+ <--+
+  |    ospf_interface                  |      | route_top | - - - - -.
+  |   +--------------+ <----+          |      +-----------+          .
+  |   |//////////////|      |          |                             .
+  |   +--------------+      |          |       struct                .
+  |   | ifp          |------|----------+       route_node            .
+  |   +--------------+      |                 +-----------+ < - - - - 
+  |   |//////////////|      |                 |///////////|
+  |   +--------------+      |                 +-----------+
+  +---| area         |      +-----------------| info      |
+      +--------------+                        +-----------+
+      |//////////////|                        |///////////|
+      +--------------+                        +-----------+
diff --git a/doc/mpls/ospfd.conf b/doc/mpls/ospfd.conf
new file mode 100644
index 0000000..6be11f9
--- /dev/null
+++ b/doc/mpls/ospfd.conf
@@ -0,0 +1,75 @@
+!
+! Zebra configuration saved from vty
+!   2001/03/16 22:07:53
+!
+hostname HOSTNAME
+password PASSWORD
+log file /var/log/ospfd.log
+!
+debug ospf ism
+debug ospf nsm
+debug ospf lsa
+debug ospf zebra
+debug ospf event
+debug ospf packet all detail
+!
+!
+interface fxp0
+ ip ospf hello-interval 60
+ ip ospf dead-interval 240
+ mpls-te link metric 999
+ mpls-te link max-bw 1.25e+06
+ mpls-te link max-rsv-bw 1.25e+06
+ mpls-te link unrsv-bw 0 1.25e+06
+ mpls-te link unrsv-bw 1 1.25e+06
+ mpls-te link unrsv-bw 2 1.25e+06
+ mpls-te link unrsv-bw 3 1.25e+06
+ mpls-te link unrsv-bw 4 1.25e+06
+ mpls-te link unrsv-bw 5 1.25e+06
+ mpls-te link unrsv-bw 6 1.25e+06
+ mpls-te link unrsv-bw 7 1.25e+06
+ mpls-te link rsc-clsclr 0xab
+!
+interface de1
+ ip ospf hello-interval 60
+ ip ospf dead-interval 240
+ mpls-te link metric 111
+ mpls-te link max-bw 1.25e+06
+ mpls-te link max-rsv-bw 1.25e+06
+ mpls-te link unrsv-bw 0 1.25e+06
+ mpls-te link unrsv-bw 1 1.25e+06
+ mpls-te link unrsv-bw 2 1.25e+06
+ mpls-te link unrsv-bw 3 1.25e+06
+ mpls-te link unrsv-bw 4 1.25e+06
+ mpls-te link unrsv-bw 5 1.25e+06
+ mpls-te link unrsv-bw 6 1.25e+06
+ mpls-te link unrsv-bw 7 1.25e+06
+ mpls-te link rsc-clsclr 0xcd
+!
+interface de0
+ mpls-te link metric 0
+ mpls-te link rsc-clsclr 0x0
+!
+interface lp0
+ ip ospf network point-to-point
+!
+interface tun0
+ ip ospf network point-to-point
+!
+interface sl0
+ ip ospf network point-to-point
+!
+interface ppp0
+ ip ospf network point-to-point
+!
+interface lo0
+!
+router ospf
+ compatible rfc1583
+ network 192.168.0.0/16 area 1
+ ospf opaque-lsa
+  mpls-te
+  mpls-te router-address 1.2.3.4
+!
+line vty
+!
