diff --git a/isisd/isis_tlv.h b/isisd/isis_tlv.h
new file mode 100644
index 0000000..79c0c46
--- /dev/null
+++ b/isisd/isis_tlv.h
@@ -0,0 +1,268 @@
+/*
+ * IS-IS Rout(e)ing protocol - isis_tlv.h
+ *                             IS-IS TLV related routines
+ *
+ * Copyright (C) 2001,2002   Sampo Saaristo
+ *                           Tampere University of Technology      
+ *                           Institute of Communications Engineering
+ *
+ * This program is free software; you can redistribute it and/or modify it 
+ * under the terms of the GNU General Public Licenseas published by the Free 
+ * Software Foundation; either version 2 of the License, or (at your option) 
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,but WITHOUT 
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along 
+ * with this program; if not, write to the Free Software Foundation, Inc., 
+ * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#ifndef _ZEBRA_ISIS_TLV_H
+#define _ZEBRA_ISIS_TLV_H
+
+/*
+ * Structures found in TLV's.
+ * this header is fully complient with
+ * draft-ietf-isis-wg-tlv-codepoints-02.txt
+ 1.  TLV Codepoints reserved
+     ____________________________________________________
+     Name                 Value   IIH   LSP  SNP   Status
+     ____________________________________________________
+
+     Area Addresses            1  y     y    n  ISO 10589
+     IIS Neighbors             2  n     y    n  ISO 10589
+     ES Neighbors              3  n     y    n  ISO 10589
+     Part. DIS                 4  n     y    n  ISO 10589
+     Prefix Neighbors          5  n     y    n  ISO 10589
+     IIS Neighbors             6  y     n    n  ISO 10589
+     Padding                   8  y     n    n  ISO 10589
+     LSP Entries               9  n     n    y  ISO 10589
+     Authentication           10  y     y    y  ISO 10589
+     Opt. Checksum            12  y     n    y  IETF-draft
+     LSPBufferSize            14  n     y    n  ISO 10589 Rev 2 Draft
+     TE IIS Neigh.            22  n     y    n  IETF-draft
+     DECnet Phase IV          42  y     n    n  DEC (ancient)
+     IP Int. Reach           128  n     y    n  RFC 1195
+     Prot. Supported         129  y     y    n  RFC 1195
+     IP Ext. Address         130  n     y    n  RFC 1195
+     IDRPI                   131  n     y    y  RFC 1195
+     IP Intf. Address        132  y     y    n  RFC 1195
+     Illegal                 133  n     n    n  RFC 1195 (not used)
+     Router ID               134  n     y    n  IETF-draft
+     TE IP. Reach            135  n     y    n  IETF-draft
+     Dynamic Name            137  n     y    n  RFC 2763
+     Nortel Proprietary      176  n     y    n
+     Nortel Proprietary      177  n     y    n
+     Restart TLV             211  y     n    n  IETF-draft
+     MT-ISN                  222  n     y    n  IETF-draft
+     M-Topologies            229  y     y    n  IETF-draft
+     IPv6 Intf. Addr.        232  y     y    n  IETF-draft
+     MT IP. Reach            235  n     y    n  IETF-draft
+     IPv6 IP. Reach          236  n     y    n  IETF-draft
+     MT IPv6 IP. Reach       237  n     y    n  IETF-draft
+     P2P Adjacency State     240  y     n    n  IETF-draft
+
+ */
+
+#define AREA_ADDRESSES            1
+#define IS_NEIGHBOURS             2
+#define ES_NEIGHBOURS             3
+#define PARTITION_DESIG_LEVEL2_IS 4
+#define PREFIX_NEIGHBOURS         5
+#define LAN_NEIGHBOURS            6
+#define PADDING                   8
+#define LSP_ENTRIES               9
+#define AUTH_INFO                 10
+#define CHECKSUM                  12
+#define TE_IS_NEIGHBOURS          22
+#define IPV4_INT_REACHABILITY     128
+#define IPV4_EXT_REACHABILITY     130
+#define PROTOCOLS_SUPPORTED       129
+#define IDRP_INFO                 131
+#define IPV4_ADDR                 132
+#define TE_ROUTER_ID              134
+#define TE_IPV4_REACHABILITY      135
+#define DYNAMIC_HOSTNAME          137
+#define IPV6_REACHABILITY         236
+#define IPV6_ADDR                 232
+#define WAY3_HELLO                240
+
+#define IS_NEIGHBOURS_LEN (ISIS_SYS_ID_LEN + 5)
+#define LAN_NEIGHBOURS_LEN 6
+#define LSP_ENTRIES_LEN (10 + ISIS_SYS_ID_LEN) /* FIXME: should be entry */
+#define IPV4_REACH_LEN 12
+#define IPV6_REACH_LEN 22
+
+/* struct for neighbor */
+struct is_neigh{
+  struct metric                        metrics;
+  u_char         neigh_id[ISIS_SYS_ID_LEN + 1];
+};
+
+/* struct for te is neighbor */
+struct te_is_neigh{
+  u_char         neigh_id[ISIS_SYS_ID_LEN + 1];
+  u_char                          te_metric[3];
+  u_char                       sub_tlvs_length;
+};
+
+/* struct for es neighbors */
+struct es_neigh{
+  struct metric                        metrics;
+  /* approximate position of first, we use the
+   * length ((uchar*)metric-1) to know all     */
+  u_char       first_es_neigh[ISIS_SYS_ID_LEN]; 
+                                                 
+};
+
+struct partition_desig_level2_is{
+  struct list                 *isis_system_ids;
+};
+
+/* struct for lan neighbors */
+struct lan_neigh{
+  u_char             LAN_addr[6];
+};
+
+/* struct for LSP entry */
+struct lsp_entry {
+  u_int16_t                  rem_lifetime;
+  u_char      lsp_id[ISIS_SYS_ID_LEN + 2];
+  u_int32_t                       seq_num;
+  u_int16_t                      checksum;
+} __attribute__((packed));
+
+/* struct for checksum */
+struct checksum {
+  u_int16_t checksum;
+};
+
+/* ipv4 reachability */
+struct ipv4_reachability {
+  struct metric metrics;
+  struct in_addr prefix;
+  struct in_addr   mask;
+};
+
+/* te router id */
+struct te_router_id {
+  struct in_addr     id;
+};
+
+/* te ipv4 reachability */
+struct te_ipv4_reachability {
+  u_int32_t    te_metric;
+  u_char         control;
+  u_char    prefix_start; /* since this is variable length by nature it only */
+};			  /* points to an approximate location */ 
+
+
+
+struct idrp_info {
+  u_char len;
+  u_char *value;
+};
+
+#ifdef HAVE_IPV6
+struct ipv6_reachability {
+  u_int32_t          metric;
+  u_char             control_info; 
+  u_char             prefix_len;
+  u_char             prefix[16];
+};
+#endif /* HAVE_IPV6 */
+
+/* bits in control_info */
+#define CTRL_INFO_DIRECTION    0x80
+#define DIRECTION_UP           0
+#define DIRECTION_DOWN         1
+#define CTRL_INFO_DISTRIBUTION 0x40
+#define DISTRIBUTION_INTERNAL  0
+#define DISTRIBUTION_EXTERNAL  1
+#define CTRL_INFO_SUBTLVS      0x20
+
+/*
+ * Pointer to each tlv type, filled by parse_tlvs()
+ */
+struct tlvs {
+  struct list                           *area_addrs;
+  struct list                            *is_neighs;
+  struct list                         *te_is_neighs;
+  struct list                            *es_neighs;
+  struct list                          *lsp_entries;
+  struct list                        *prefix_neighs;
+  struct list                           *lan_neighs;
+  struct checksum                         *checksum;
+  struct nlpids                             *nlpids;
+  struct list                           *ipv4_addrs;
+  struct list                      *ipv4_int_reachs;
+  struct list                      *ipv4_ext_reachs;
+  struct list                       *te_ipv4_reachs;
+  struct hostname                         *hostname;
+  struct te_router_id                    *router_id;
+#ifdef HAVE_IPV6
+  struct list                           *ipv6_addrs;
+  struct list                          *ipv6_reachs;
+#endif
+  struct isis_passwd                      auth_info;
+};
+
+/*
+ * Own definitions - used to bitmask found and expected
+ */
+
+#define TLVFLAG_AREA_ADDRS                (1<<0)
+#define TLVFLAG_IS_NEIGHS                 (1<<1)
+#define TLVFLAG_ES_NEIGHS                 (1<<2)
+#define TLVFLAG_PARTITION_DESIG_LEVEL2_IS (1<<3)
+#define TLVFLAG_PREFIX_NEIGHS             (1<<4)
+#define TLVFLAG_LAN_NEIGHS                (1<<5)
+#define TLVFLAG_LSP_ENTRIES               (1<<6)
+#define TLVFLAG_PADDING                   (1<<7)
+#define TLVFLAG_AUTH_INFO                 (1<<8)
+#define TLVFLAG_IPV4_INT_REACHABILITY     (1<<9)
+#define TLVFLAG_NLPID                     (1<<10)
+#define TLVFLAG_IPV4_EXT_REACHABILITY     (1<<11)
+#define TLVFLAG_IPV4_ADDR                 (1<<12)
+#define TLVFLAG_DYN_HOSTNAME              (1<<13)
+#define TLVFLAG_IPV6_ADDR                 (1<<14)
+#define TLVFLAG_IPV6_REACHABILITY         (1<<15)
+#define TLVFLAG_TE_IS_NEIGHS              (1<<16)
+#define TLVFLAG_TE_IPV4_REACHABILITY      (1<<17)
+#define TLVFLAG_3WAY_HELLO                (1<<18)
+#define TLVFLAG_TE_ROUTER_ID              (1<<19)
+#define TLVFLAG_CHECKSUM                  (1<<20)
+
+void init_tlvs  (struct tlvs *tlvs, uint32_t expected);
+void free_tlvs  (struct tlvs *tlvs);
+int  parse_tlvs (char *areatag, u_char *stream, int size, u_int32_t *expected, 
+                 u_int32_t *found, struct tlvs *tlvs);
+void free_tlv   (void *val);
+
+int tlv_add_area_addrs       (struct list *area_addrs, struct stream *stream);
+int tlv_add_is_neighs        (struct list *is_neighs, struct stream *stream);
+int tlv_add_lan_neighs       (struct list *lan_neighs, struct stream *stream);
+int tlv_add_nlpid            (struct nlpids *nlpids, struct stream *stream);
+int tlv_add_checksum         (struct checksum *checksum, 
+			      struct stream *stream);
+int tlv_add_authinfo         (char auth_type, char authlen, char *auth_value,
+			      struct stream *stream);
+int tlv_add_ip_addrs         (struct list *ip_addrs, struct stream *stream);
+int tlv_add_dynamic_hostname (struct hostname *hostname,struct stream *stream);
+int tlv_add_lsp_entries      (struct list *lsps, struct stream *stream);
+int tlv_add_ipv4_reachs      (struct list *ipv4_reachs, struct stream *stream);
+#ifdef HAVE_IPV6
+int tlv_add_ipv6_addrs       (struct list *ipv6_addrs, struct stream *stream);
+int tlv_add_ipv6_reachs      (struct list *ipv6_reachs, struct stream *stream);
+#endif /* HAVE_IPV6 */
+
+int tlv_add_padding          (struct stream *stream);
+
+#endif /* _ZEBRA_ISIS_TLV_H */
+
+
+
