diff --git a/ospf6d/ospf6_lsdb.c b/ospf6d/ospf6_lsdb.c
index 707afc6..b5a4587 100644
--- a/ospf6d/ospf6_lsdb.c
+++ b/ospf6d/ospf6_lsdb.c
@@ -485,22 +485,29 @@
 }
 
 void
-ospf6_lsdb_show (struct vty *vty, int level,
+ospf6_lsdb_show (struct vty *vty, enum ospf_lsdb_show_level level,
                  u_int16_t *type, u_int32_t *id, u_int32_t *adv_router,
                  struct ospf6_lsdb *lsdb)
 {
   struct ospf6_lsa *lsa;
   void (*showfunc) (struct vty *, struct ospf6_lsa *) = NULL;
 
-  if (level == OSPF6_LSDB_SHOW_LEVEL_NORMAL)
-    showfunc = ospf6_lsa_show_summary;
-  else if (level == OSPF6_LSDB_SHOW_LEVEL_DETAIL)
-    showfunc = ospf6_lsa_show;
-  else if (level == OSPF6_LSDB_SHOW_LEVEL_INTERNAL)
-    showfunc = ospf6_lsa_show_internal;
-  else if (level == OSPF6_LSDB_SHOW_LEVEL_DUMP)
-    showfunc = ospf6_lsa_show_dump;
-
+  switch (level)
+  {
+    case OSPF6_LSDB_SHOW_LEVEL_DETAIL:
+      showfunc = ospf6_lsa_show;
+      break;
+    case OSPF6_LSDB_SHOW_LEVEL_INTERNAL:
+      showfunc = ospf6_lsa_show_internal;
+      break;
+    case OSPF6_LSDB_SHOW_LEVEL_DUMP:
+      showfunc = ospf6_lsa_show_dump;
+      break;
+    case OSPF6_LSDB_SHOW_LEVEL_NORMAL:
+    default:
+      showfunc = ospf6_lsa_show_summary;
+  }
+  
   if (type && id && adv_router)
     {
       lsa = ospf6_lsdb_lookup (*type, *id, *adv_router, lsdb);
diff --git a/ospf6d/ospf6_lsdb.h b/ospf6d/ospf6_lsdb.h
index a124adb..425f615 100644
--- a/ospf6d/ospf6_lsdb.h
+++ b/ospf6d/ospf6_lsdb.h
@@ -66,12 +66,15 @@
 extern void ospf6_lsdb_remove_all (struct ospf6_lsdb *lsdb);
 extern void ospf6_lsdb_lsa_unlock (struct ospf6_lsa *lsa);
 
-#define OSPF6_LSDB_SHOW_LEVEL_NORMAL   0
-#define OSPF6_LSDB_SHOW_LEVEL_DETAIL   1
-#define OSPF6_LSDB_SHOW_LEVEL_INTERNAL 2
-#define OSPF6_LSDB_SHOW_LEVEL_DUMP     3
+enum ospf_lsdb_show_level {
+ OSPF6_LSDB_SHOW_LEVEL_NORMAL = 0,
+ OSPF6_LSDB_SHOW_LEVEL_DETAIL,
+ OSPF6_LSDB_SHOW_LEVEL_INTERNAL,
+ OSPF6_LSDB_SHOW_LEVEL_DUMP,
+};
 
-extern void ospf6_lsdb_show (struct vty *vty, int level, u_int16_t *type,
+extern void ospf6_lsdb_show (struct vty *vty,
+                             enum ospf_lsdb_show_level level, u_int16_t *type,
                              u_int32_t *id, u_int32_t *adv_router,
                              struct ospf6_lsdb *lsdb);
 
