Skip to content
Permalink
Browse files

Merge pull request #2908 from chiragshah6/ospf_vrf_dev

ospfd: interface speed change during intf add
  • Loading branch information...
riw777 committed Aug 25, 2018
2 parents 50af807 + 96065dc commit 34923629255fa9f458ef14e284f3a2957a0bdf32
Showing with 22 additions and 10 deletions.
  1. +11 −5 ospfd/ospf_ase.c
  2. +11 −5 ospfd/ospf_zebra.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);

@@ -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;

0 comments on commit 3492362

Please sign in to comment.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.