diff --git a/ospf6d/ospf6_damp.c b/ospf6d/ospf6_damp.c
index 4e807a7..878c48f 100644
--- a/ospf6d/ospf6_damp.c
+++ b/ospf6d/ospf6_damp.c
@@ -567,8 +567,8 @@
   return CMD_SUCCESS;
 }
 
-DEFUN (flap_damping_route,
-       flap_damping_route_cmd,
+DEFUN (ospf6_flap_damping_route,
+       ospf6_flap_damping_route_cmd,
        "flap-damping route <0-4294967295> <0-4294967295> "
                           "<0-4294967295> <0-4294967295>",
        "enable flap dampening\n"
@@ -734,7 +734,7 @@
   install_element (VIEW_NODE, &show_ipv6_ospf6_route_flapping_cmd);
   install_element (ENABLE_NODE, &show_ipv6_ospf6_route_flapping_cmd);
   install_element (ENABLE_NODE, &show_ipv6_ospf6_camp_config_cmd);
-  install_element (OSPF6_NODE, &flap_damping_route_cmd);
+  install_element (OSPF6_NODE, &ospf6_flap_damping_route_cmd);
 
   install_element (ENABLE_NODE, &show_debug_ospf6_damp_cmd);
   install_element (CONFIG_NODE, &debug_ospf6_damp_cmd);
diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c
index dbe7a88..d7b1aa3 100644
--- a/ospf6d/ospf6d.c
+++ b/ospf6d/ospf6d.c
@@ -281,8 +281,8 @@
 }
 
 /* change Router_ID commands. */
-DEFUN (router_id,
-       router_id_cmd,
+DEFUN (ospf6_router_id,
+       ospf6_router_id_cmd,
        "router-id ROUTER_ID",
        "Configure ospf Router-ID.\n"
        V4NOTATION_STR)
@@ -403,8 +403,8 @@
   return CMD_SUCCESS;
 }
 
-DEFUN (interface_area_plist,
-       interface_area_plist_cmd,
+DEFUN (ospf6_interface_area_plist,
+       ospf6_interface_area_plist_cmd,
        "interface IFNAME area A.B.C.D prefix-list WORD",
        "Enable routing on an IPv6 interface\n"
        IFNAME_STR
@@ -421,8 +421,8 @@
   return ospf6_interface_bind_area (vty, argv[0], argv[1], argv[2], 0);
 }
 
-DEFUN (interface_area_plist_passive,
-       interface_area_plist_passive_cmd,
+DEFUN (ospf6_interface_area_plist_passive,
+       ospf6_interface_area_plist_passive_cmd,
        "interface IFNAME area A.B.C.D prefix-list WORD passive",
        "Enable routing on an IPv6 interface\n"
        IFNAME_STR
@@ -441,8 +441,8 @@
   return ospf6_interface_bind_area (vty, argv[0], argv[1], argv[2], 1);
 }
 
-DEFUN (interface_area,
-       interface_area_cmd,
+DEFUN (ospf6_interface_area,
+       ospf6_interface_area_cmd,
        "interface IFNAME area A.B.C.D",
        "Enable routing on an IPv6 interface\n"
        IFNAME_STR
@@ -476,8 +476,8 @@
                                     plist_name, passive);
 }
 
-DEFUN (interface_area_passive,
-       interface_area_passive_cmd,
+DEFUN (ospf6_interface_area_passive,
+       ospf6_interface_area_passive_cmd,
        "interface IFNAME area A.B.C.D passive",
        "Enable routing on an IPv6 interface\n"
        IFNAME_STR
@@ -493,8 +493,8 @@
   return ospf6_interface_bind_area (vty, argv[0], argv[1], NULL, 1);
 }
 
-DEFUN (no_interface_area,
-       no_interface_area_cmd,
+DEFUN (no_ospf6_interface_area,
+       no_ospf6_interface_area_cmd,
        "no interface IFNAME area A.B.C.D",
        NO_STR
        "Disable routing on an IPv6 interface\n"
@@ -538,8 +538,8 @@
   return CMD_SUCCESS;
 }
 
-DEFUN (area_range,
-       area_range_cmd,
+DEFUN (ospf6_area_range,
+       ospf6_area_range_cmd,
        "area A.B.C.D range X:X::X:X/M",
        "OSPFv3 area parameters\n"
        "OSPFv3 area ID in IPv4 address format\n"
@@ -570,8 +570,8 @@
   return CMD_SUCCESS;
 }
 
-DEFUN (passive_interface,
-       passive_interface_cmd,
+DEFUN (ospf6_passive_interface,
+       ospf6_passive_interface_cmd,
        "passive-interface IFNAME",
        OSPF6_PASSIVE_STR
        IFNAME_STR)
@@ -596,8 +596,8 @@
   return CMD_SUCCESS;
 }
 
-DEFUN (no_passive_interface,
-       no_passive_interface_cmd,
+DEFUN (no_ospf6_passive_interface,
+       no_ospf6_passive_interface_cmd,
        "no passive-interface IFNAME",
        NO_STR
        OSPF6_PASSIVE_STR
@@ -740,15 +740,15 @@
 #endif /* HAVE_SETPROCTITLE */
 
   install_default (OSPF6_NODE);
-  install_element (OSPF6_NODE, &router_id_cmd);
-  install_element (OSPF6_NODE, &interface_area_cmd);
-  install_element (OSPF6_NODE, &interface_area_passive_cmd);
-  install_element (OSPF6_NODE, &interface_area_plist_cmd);
-  install_element (OSPF6_NODE, &interface_area_plist_passive_cmd);
-  install_element (OSPF6_NODE, &no_interface_area_cmd);
-  install_element (OSPF6_NODE, &passive_interface_cmd);
-  install_element (OSPF6_NODE, &no_passive_interface_cmd);
-  install_element (OSPF6_NODE, &area_range_cmd);
+  install_element (OSPF6_NODE, &ospf6_router_id_cmd);
+  install_element (OSPF6_NODE, &ospf6_interface_area_cmd);
+  install_element (OSPF6_NODE, &ospf6_interface_area_passive_cmd);
+  install_element (OSPF6_NODE, &ospf6_interface_area_plist_cmd);
+  install_element (OSPF6_NODE, &ospf6_interface_area_plist_passive_cmd);
+  install_element (OSPF6_NODE, &no_ospf6_interface_area_cmd);
+  install_element (OSPF6_NODE, &ospf6_passive_interface_cmd);
+  install_element (OSPF6_NODE, &no_ospf6_passive_interface_cmd);
+  install_element (OSPF6_NODE, &ospf6_area_range_cmd);
 
   /* Make empty list of top list. */
   if_init ();
