summaryrefslogtreecommitdiff
path: root/bgpd/bgp_zebra.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_zebra.c')
-rw-r--r--bgpd/bgp_zebra.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index f3baeee0..d7af349a 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -281,7 +281,8 @@ zebra_read_ipv4 (int command, struct zclient *zclient, zebra_size_t length)
inet_ntop(AF_INET, &nexthop, buf[1], sizeof(buf[1])),
api.metric);
}
- bgp_redistribute_add((struct prefix *)&p, &nexthop, api.metric, api.type);
+ bgp_redistribute_add((struct prefix *)&p, &nexthop, NULL,
+ api.metric, api.type);
}
else
{
@@ -356,23 +357,29 @@ zebra_read_ipv6 (int command, struct zclient *zclient, zebra_size_t length)
{
if (BGP_DEBUG(zebra, ZEBRA))
{
- char buf[INET6_ADDRSTRLEN];
- zlog_debug("Zebra rcvd: IPv6 route add %s %s/%d metric %u",
+ char buf[2][INET6_ADDRSTRLEN];
+ zlog_debug("Zebra rcvd: IPv6 route add %s %s/%d nexthop %s metric %u",
zebra_route_string(api.type),
- inet_ntop(AF_INET6, &p.prefix, buf, sizeof(buf)),
- p.prefixlen, api.metric);
+ inet_ntop(AF_INET6, &p.prefix, buf[0], sizeof(buf[0])),
+ p.prefixlen,
+ inet_ntop(AF_INET, &nexthop, buf[1], sizeof(buf[1])),
+ api.metric);
}
- bgp_redistribute_add ((struct prefix *)&p, NULL, api.metric, api.type);
+ bgp_redistribute_add ((struct prefix *)&p, NULL, &nexthop,
+ api.metric, api.type);
}
else
{
if (BGP_DEBUG(zebra, ZEBRA))
{
- char buf[INET6_ADDRSTRLEN];
- zlog_debug("Zebra rcvd: IPv6 route delete %s %s/%d metric %u",
+ char buf[2][INET6_ADDRSTRLEN];
+ zlog_debug("Zebra rcvd: IPv6 route delete %s %s/%d "
+ "nexthop %s metric %u",
zebra_route_string(api.type),
- inet_ntop(AF_INET6, &p.prefix, buf, sizeof(buf)),
- p.prefixlen, api.metric);
+ inet_ntop(AF_INET6, &p.prefix, buf[0], sizeof(buf[0])),
+ p.prefixlen,
+ inet_ntop(AF_INET6, &nexthop, buf[1], sizeof(buf[1])),
+ api.metric);
}
bgp_redistribute_delete ((struct prefix *) &p, api.type);
}