bgpd: fix for route-maps with "match peer local" statements
A route-map with a 'match peer local' statement it's shown like
'match peer (null)' on config output...
... and it's unparsable on daemon startup.
Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: David Lamparter <equinox@diac24.net>
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index abb85fd..f95cab1 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -172,7 +172,7 @@
su = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (union sockunion));
- ret = str2sockunion ( (arg)? arg : "0.0.0.0", su);
+ ret = str2sockunion (strcmp(arg, "local") ? arg : "0.0.0.0", su);
if (ret < 0) {
XFREE (MTYPE_ROUTE_MAP_COMPILED, su);
return NULL;
@@ -2430,7 +2430,7 @@
"Match peer address\n"
"Static or Redistributed routes\n")
{
- return bgp_route_match_add (vty, vty->index, "peer", NULL);
+ return bgp_route_match_add (vty, vty->index, "peer", "local");
}
DEFUN (no_match_peer,