* isis_lsp.c (lsp_update): Remove LSP from database before updating
	  its data and put it back after. Database entry MUST contain at least
	  correct pointers to the sysid to get correct compare results.
	* isis_lsp.[ch], isis_pdu.c: Pass level to the lsp_update() function.
diff --git a/isisd/isis_lsp.h b/isisd/isis_lsp.h
index 8e45066..fb6f1d8 100644
--- a/isisd/isis_lsp.h
+++ b/isisd/isis_lsp.h
@@ -114,7 +114,7 @@
 int lsp_compare (char *areatag, struct isis_lsp *lsp, u_int32_t seq_num,
 		 u_int16_t checksum, u_int16_t rem_lifetime);
 void lsp_update (struct isis_lsp *lsp, struct isis_link_state_hdr *lsp_hdr,
-		 struct stream *stream, struct isis_area *area);
+		 struct stream *stream, struct isis_area *area, int level);
 void lsp_inc_seqnum (struct isis_lsp *lsp, u_int32_t seq_num);
 int lsp_print_all (struct vty *vty, dict_t * lspdb, char detail,
 		   char dynhost);