diff --git a/lib/ChangeLog b/lib/ChangeLog
index 1d3d3e6..00b11a1 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,5 +1,9 @@
 2005-04-08 Hasso Tepper <hasso at quagga.net>
 
+	* routemap.[ch]: Added "description ..." command.
+
+2005-04-08 Hasso Tepper <hasso at quagga.net>
+
 	* prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
 	  inet_ntoa alike.
 
diff --git a/lib/routemap.c b/lib/routemap.c
index 2906a52..dfd41bc 100644
--- a/lib/routemap.c
+++ b/lib/routemap.c
@@ -1188,6 +1188,42 @@
   return CMD_SUCCESS;
 }
 
+DEFUN (rmap_description,
+       rmap_description_cmd,
+       "description .LINE",
+       "Route-map comment\n"
+       "Comment describing this route-map rule\n")
+{
+  struct route_map_index *index;
+
+  index = vty->index;
+  if (index)
+    {
+      if (index->description)
+	XFREE (MTYPE_TMP, index->description);
+      index->description = argv_concat (argv, argc, 0);
+    }
+  return CMD_SUCCESS;
+}
+
+DEFUN (no_rmap_description,
+       no_rmap_description_cmd,
+       "no description",
+       NO_STR
+       "Route-map comment\n")
+{
+  struct route_map_index *index;
+
+  index = vty->index;
+  if (index)
+    {
+      if (index->description)
+	XFREE (MTYPE_TMP, index->description);
+      index->description = NULL;
+    }
+  return CMD_SUCCESS;
+}
+
 /* Configuration write function. */
 int
 route_map_config_write (struct vty *vty)
@@ -1211,6 +1247,9 @@
 		 route_map_type_str (index->type),
 		 index->pref, VTY_NEWLINE);
 
+	if (index->description)
+	  vty_out (vty, " description %s%s", index->description, VTY_NEWLINE);
+
 	for (rule = index->match_list.head; rule; rule = rule->next)
 	  vty_out (vty, " match %s %s%s", rule->cmd->str, 
 		   rule->rule_str ? rule->rule_str : "",
@@ -1268,6 +1307,10 @@
   /* Install the call stuff. */
   install_element (RMAP_NODE, &rmap_call_cmd);
   install_element (RMAP_NODE, &no_rmap_call_cmd);
+
+  /* Install description commands. */
+  install_element (RMAP_NODE, &rmap_description_cmd);
+  install_element (RMAP_NODE, &no_rmap_description_cmd);
    
   /* Install show command */
   install_element (ENABLE_NODE, &rmap_show_cmd);
diff --git a/lib/routemap.h b/lib/routemap.h
index 22a2b19..072526a 100644
--- a/lib/routemap.h
+++ b/lib/routemap.h
@@ -108,6 +108,7 @@
 struct route_map_index
 {
   struct route_map *map;
+  char *description;
 
   /* Preference of this route map rule. */
   int pref;
