diff options
Diffstat (limited to 'ospfd/ospf_interface.c')
| -rw-r--r-- | ospfd/ospf_interface.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index 137df16a05..2c270c5ca2 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -59,7 +59,12 @@ ospf_if_get_output_cost (struct ospf_interface *oi) u_int32_t cost; u_int32_t bw, refbw; - bw = oi->ifp->bandwidth ? oi->ifp->bandwidth : OSPF_DEFAULT_BANDWIDTH; + if (oi->ifp->bandwidth) + bw = oi->ifp->bandwidth; + if (!oi->ifp->bandwidth && oi->ifp->speed) + bw = oi->ifp->speed; + else + bw = OSPF_DEFAULT_BANDWIDTH; refbw = oi->ospf->ref_bandwidth; /* A specifed ip ospf cost overrides a calculated one. */ |
