mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-11-03 10:13:15 +00:00
Merge pull request #704 from chiragshah6/pim_dev_3_0
ospfd: ospf bandwidth handling
This commit is contained in:
commit
a1781c9347
@ -59,7 +59,13 @@ 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;
|
||||
/* ifp speed and bw can be 0 in some platforms, use ospf default bw
|
||||
if bw is configured under interface it would be used.
|
||||
*/
|
||||
if (!oi->ifp->bandwidth && oi->ifp->speed)
|
||||
bw = oi->ifp->speed;
|
||||
else
|
||||
bw = oi->ifp->bandwidth ? oi->ifp->bandwidth : OSPF_DEFAULT_BANDWIDTH;
|
||||
refbw = oi->ospf->ref_bandwidth;
|
||||
|
||||
/* A specifed ip ospf cost overrides a calculated one. */
|
||||
|
||||
@ -3252,6 +3252,7 @@ show_ip_ospf_interface_sub (struct vty *vty, struct ospf *ospf, struct interface
|
||||
int is_up;
|
||||
struct ospf_neighbor *nbr;
|
||||
struct route_node *rn;
|
||||
uint32_t bandwidth = ifp->bandwidth ? ifp->bandwidth : ifp->speed;
|
||||
|
||||
/* Is interface up? */
|
||||
if (use_json)
|
||||
@ -3264,7 +3265,7 @@ show_ip_ospf_interface_sub (struct vty *vty, struct ospf *ospf, struct interface
|
||||
|
||||
json_object_int_add(json_interface_sub, "ifIndex", ifp->ifindex);
|
||||
json_object_int_add(json_interface_sub, "mtuBytes", ifp->mtu);
|
||||
json_object_int_add(json_interface_sub, "bandwidthMbit", ifp->bandwidth);
|
||||
json_object_int_add(json_interface_sub, "bandwidthMbit", bandwidth);
|
||||
json_object_string_add(json_interface_sub, "ifFlags", if_flag_dump(ifp->flags));
|
||||
}
|
||||
else
|
||||
@ -3272,7 +3273,7 @@ show_ip_ospf_interface_sub (struct vty *vty, struct ospf *ospf, struct interface
|
||||
vty_out (vty, "%s is %s%s", ifp->name,
|
||||
((is_up = if_is_operative(ifp)) ? "up" : "down"), VTY_NEWLINE);
|
||||
vty_out (vty, " ifindex %u, MTU %u bytes, BW %u Mbit %s%s",
|
||||
ifp->ifindex, ifp->mtu, ifp->bandwidth, if_flag_dump(ifp->flags),
|
||||
ifp->ifindex, ifp->mtu, bandwidth, if_flag_dump(ifp->flags),
|
||||
VTY_NEWLINE);
|
||||
}
|
||||
|
||||
|
||||
@ -188,16 +188,10 @@ ospf_interface_state_up (int command, struct zclient *zclient,
|
||||
zebra_interface_if_set_value (zclient->ibuf, ifp);
|
||||
|
||||
if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
|
||||
zlog_debug ("Zebra: Interface[%s] state update.", ifp->name);
|
||||
zlog_debug ("Zebra: Interface[%s] state update speed %u -> %u, bw %d -> %d",
|
||||
ifp->name, if_tmp.speed, ifp->speed, if_tmp.bandwidth, ifp->bandwidth);
|
||||
|
||||
if (if_tmp.bandwidth != ifp->bandwidth)
|
||||
{
|
||||
if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
|
||||
zlog_debug ("Zebra: Interface[%s] bandwidth change %d -> %d.",
|
||||
ifp->name, if_tmp.bandwidth, ifp->bandwidth);
|
||||
|
||||
ospf_if_recalculate_output_cost (ifp);
|
||||
}
|
||||
ospf_if_recalculate_output_cost (ifp);
|
||||
|
||||
if (if_tmp.mtu != ifp->mtu)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user