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      |
      +--------------+                        +-----------+
      |//////////////|                        |///////////|
      +--------------+                        +-----------+
