summaryrefslogtreecommitdiff
path: root/bgpd
diff options
context:
space:
mode:
authorDenis Ovsienko <linux@pilot.org.ua>2007-12-18 15:13:06 +0000
committerDenis Ovsienko <linux@pilot.org.ua>2007-12-18 15:13:06 +0000
commita7f93f3e060fdb2dc7bf5ff4ed4563d4b689bc6c (patch)
treef21aab4a90ddc873bf39a29b5b756129b7813740 /bgpd
parentb63e60899f2eba733fadbca020cdbe98d9d58b5f (diff)
+ fixed no_set_aspath_prepend() to correctly match existing "set" statement
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/ChangeLog6
-rw-r--r--bgpd/bgp_routemap.c11
2 files changed, 16 insertions, 1 deletions
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index c1f12d67..3fa3837a 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -1,3 +1,9 @@
+2007-12-18 Denis Ovsienko
+
+ * bgp_routemap.c: (no_set_aspath_prepend) This command cancelled
+ existing "set" command regardless if "no set" matched it or not.
+ Fixed.
+
2007-11-13 Paul Jakma <paul.jakma@sun.com>
* bgp_main.c: Small fix, format string parameters should never
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index d51375b7..b246e2ab 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -3018,7 +3018,16 @@ DEFUN (no_set_aspath_prepend,
"Prepend string for a BGP AS-path attribute\n"
"Prepend to the as-path\n")
{
- return bgp_route_set_delete (vty, vty->index, "as-path prepend", NULL);
+ int ret;
+ char *str;
+
+ if (argc == 0)
+ return bgp_route_set_delete (vty, vty->index, "as-path prepend", NULL);
+
+ str = argv_concat (argv, argc, 0);
+ ret = bgp_route_set_delete (vty, vty->index, "as-path prepend", str);
+ XFREE (MTYPE_TMP, str);
+ return ret;
}
ALIAS (no_set_aspath_prepend,