diff --git a/ospfd/ospf_ase.c b/ospfd/ospf_ase.c index d84fd26ac4..0221d1e1b2 100644 --- a/ospfd/ospf_ase.c +++ b/ospfd/ospf_ase.c @@ -288,6 +288,7 @@ int ospf_ase_calculate_route(struct ospf *ospf, struct ospf_lsa *lsa) struct prefix_ipv4 asbr, p; struct route_node *rn; struct ospf_route *new, * or ; + char buf1[INET_ADDRSTRLEN]; int ret; assert(lsa); @@ -304,10 +305,14 @@ int ospf_ase_calculate_route(struct ospf *ospf, struct ospf_lsa *lsa) return 0; } - if (IS_DEBUG_OSPF(lsa, LSA)) + if (IS_DEBUG_OSPF(lsa, LSA)) { + snprintf(buf1, INET_ADDRSTRLEN, "%s", + inet_ntoa(al->header.adv_router)); zlog_debug( - "Route[External]: Calculate AS-external-LSA to %s/%d", - inet_ntoa(al->header.id), ip_masklen(al->mask)); + "Route[External]: Calculate AS-external-LSA to %s/%d adv_router %s", + inet_ntoa(al->header.id), ip_masklen(al->mask), buf1); + } + /* (1) If the cost specified by the LSA is LSInfinity, or if the LSA's LS age is equal to MaxAge, then examine the next LSA. */ if ((metric = GET_METRIC(al->e[0].metric)) >= OSPF_LS_INFINITY) { @@ -459,8 +464,9 @@ int ospf_ase_calculate_route(struct ospf *ospf, struct ospf_lsa *lsa) if (!rn || (or = rn->info) == NULL) { if (IS_DEBUG_OSPF(lsa, LSA)) - zlog_debug("Route[External]: Adding a new route %s/%d", - inet_ntoa(p.prefix), p.prefixlen); + zlog_debug("Route[External]: Adding a new route %s/%d with paths %u", + inet_ntoa(p.prefix), p.prefixlen, + listcount(asbr_route->paths)); ospf_route_add(ospf->new_external_route, &p, new, asbr_route); diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 0a7776cced..8c94a8ef99 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -111,10 +111,11 @@ static int ospf_interface_add(int command, struct zclient *zclient, if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE)) zlog_debug( - "Zebra: interface add %s vrf %s[%u] index %d flags %llx metric %d mtu %d", + "Zebra: interface add %s vrf %s[%u] index %d flags %llx metric %d mtu %d speed %u", ifp->name, ospf_vrf_id_to_name(ifp->vrf_id), ifp->vrf_id, ifp->ifindex, - (unsigned long long)ifp->flags, ifp->metric, ifp->mtu); + (unsigned long long)ifp->flags, ifp->metric, ifp->mtu, + ifp->speed); assert(ifp->info); @@ -128,6 +129,8 @@ static int ospf_interface_add(int command, struct zclient *zclient, if (!ospf) return 0; + ospf_if_recalculate_output_cost(ifp); + ospf_if_update(ospf, ifp); hook_call(ospf_if_update, ifp); @@ -448,14 +451,17 @@ void ospf_zebra_add(struct ospf *ospf, struct prefix_ipv4 *p, count++; if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) { - char buf[2][PREFIX2STR_BUFFER]; + char buf[2][INET_ADDRSTRLEN]; + struct interface *ifp; + + ifp = if_lookup_by_index(path->ifindex, ospf->vrf_id); zlog_debug( - "Zebra: Route add %s nexthop %s, ifindex=%d", + "Zebra: Route add %s nexthop %s, ifindex=%d %s", prefix2str(p, buf[0], sizeof(buf[0])), inet_ntop(AF_INET, &path->nexthop, buf[1], sizeof(buf[1])), - path->ifindex); + path->ifindex, ifp ? ifp->name : " "); } } api.nexthop_num = count;