2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
* lib/filer.c: show protocol name in filter_show()
* lib/plist.c: show protocol name in vty_show_prefix_entry()
* routemap.c: show protocol name in vty_show_route_map_entry()
* lib/vty.c: in vty_command(), show protocol name if command unknown
* zebra/zserv.c: Always provide distance fo route add
* ripd/rip_snmp.c: rip2IfConfReceive() sends values in conformance
with RFC. Also PeerDomain is now set to a STRING type.
* ripd/ripd.h: rip_redistribute_add() API includes metric and distance
* ripd/ripd.c: rip_redistribute_add() API i.e. stores metric and distance
Now allows a RIP-route to overcome a redistributed route coming
from a protocol with worse (higher) administrative distance
Metrics from redistribution are shown in show ip rip
* ripd/rip_zebra.c: adapt to the rip_redistribute_add() API, i.e.
provide distance and metric
* ripd/rip_interface.c: adapt to the rip_redistribute_add() API
* ripd/rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage
rather a CMD_WARNING, because set metric ius shared with other
protocols using larger values (such as OSPF)
The match metric action takes first external metric if present
(from redistribution) then RIP metric.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 8a92df3..e060502 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,10 @@
+2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
+
+ * filer.c: show protocol name in filter_show()
+ * plist.c: show protocol name in vty_show_prefix_entry()
+ * routemap.c: show protocol name in vty_show_route_map_entry()
+ * vty.c: in vty_command(), show protocol name if command unknown
+
2005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
* md5-gnu.h: removed
diff --git a/lib/filter.c b/lib/filter.c
index 55bcdf4..069919b 100644
--- a/lib/filter.c
+++ b/lib/filter.c
@@ -27,6 +27,7 @@
#include "command.h"
#include "sockunion.h"
#include "buffer.h"
+#include "log.h"
struct filter_cisco
{
@@ -1580,6 +1581,11 @@
if (master == NULL)
return 0;
+ /* Print the name of the protocol */
+ if (zlog_default)
+ vty_out (vty, "%s:%s",
+ zlog_proto_names[zlog_default->protocol], VTY_NEWLINE);
+
for (access = master->num.head; access; access = access->next)
{
if (name && strcmp (access->name, name) != 0)
diff --git a/lib/plist.c b/lib/plist.c
index 97d254f..83c5aa0 100644
--- a/lib/plist.c
+++ b/lib/plist.c
@@ -28,6 +28,7 @@
#include "sockunion.h"
#include "buffer.h"
#include "stream.h"
+#include "log.h"
/* Each prefix-list's entry. */
struct prefix_list_entry
@@ -918,6 +919,10 @@
{
struct prefix_list_entry *pentry;
+ /* Print the name of the protocol */
+ if (zlog_default)
+ vty_out (vty, "%s: ", zlog_proto_names[zlog_default->protocol]);
+
if (dtype == normal_display)
{
vty_out (vty, "ip%s prefix-list %s: %d entries%s",
diff --git a/lib/routemap.c b/lib/routemap.c
index 0a4eeb9..a9d94f2 100644
--- a/lib/routemap.c
+++ b/lib/routemap.c
@@ -205,6 +205,11 @@
struct route_map_index *index;
struct route_map_rule *rule;
+ /* Print the name of the protocol */
+ if (zlog_default)
+ vty_out (vty, "%s:%s", zlog_proto_names[zlog_default->protocol],
+ VTY_NEWLINE);
+
for (index = map->head; index; index = index->next)
{
vty_out (vty, "route-map %s, %s, sequence %d%s",
diff --git a/lib/vty.c b/lib/vty.c
index 540f7b9..2f0bd3f 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -388,6 +388,7 @@
{
int ret;
vector vline;
+ const char *protocolname;
/* Split readline string up into the vector */
vline = cmd_make_strvec (buf);
@@ -406,6 +407,12 @@
ret = cmd_execute_command (vline, vty, NULL, 0);
+ /* Get the name of the protocol if any */
+ if (zlog_default)
+ protocolname = zlog_proto_names[zlog_default->protocol];
+ else
+ protocolname = zlog_proto_names[ZLOG_NONE];
+
#ifdef CONSUMED_TIME_CHECK
GETRUSAGE(&after);
if ((realtime = thread_consumed_time(&after, &before, &cputime)) >
@@ -427,7 +434,7 @@
vty_out (vty, "%% Ambiguous command.%s", VTY_NEWLINE);
break;
case CMD_ERR_NO_MATCH:
- vty_out (vty, "%% Unknown command.%s", VTY_NEWLINE);
+ vty_out (vty, "%% [%s] Unknown command: %s%s", protocolname, buf, VTY_NEWLINE);
break;
case CMD_ERR_INCOMPLETE:
vty_out (vty, "%% Command incomplete.%s", VTY_NEWLINE);