mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-14 14:46:57 +00:00
2004-05-05 Paul Jakma <paul@dishone.st>
* ospf_interface.c: (ospf_vl_set_params) Catch changes of interface address for either end of a virtual-link, and hence potential cost changes.
This commit is contained in:
parent
d3f0d62101
commit
cd59da682f
@ -12,7 +12,10 @@
|
|||||||
not by peer_addr (which breaks for asymmetric vlinks)
|
not by peer_addr (which breaks for asymmetric vlinks)
|
||||||
(ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
|
(ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
|
||||||
above.
|
above.
|
||||||
|
* ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
|
||||||
|
address for either end of a virtual-link, and hence potential cost
|
||||||
|
changes.
|
||||||
|
|
||||||
2004-04-22 Hasso Tepper <hasso@estpak.ee>
|
2004-04-22 Hasso Tepper <hasso@estpak.ee>
|
||||||
|
|
||||||
* ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
|
* ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
|
||||||
|
@ -917,6 +917,7 @@ ospf_vl_set_params (struct ospf_vl_data *vl_data, struct vertex *v)
|
|||||||
|
|
||||||
if (voi->output_cost != v->distance)
|
if (voi->output_cost != v->distance)
|
||||||
{
|
{
|
||||||
|
|
||||||
voi->output_cost = v->distance;
|
voi->output_cost = v->distance;
|
||||||
changed = 1;
|
changed = 1;
|
||||||
}
|
}
|
||||||
@ -924,12 +925,16 @@ ospf_vl_set_params (struct ospf_vl_data *vl_data, struct vertex *v)
|
|||||||
for (node = listhead (v->nexthop); node; nextnode (node))
|
for (node = listhead (v->nexthop); node; nextnode (node))
|
||||||
if ((nh = getdata (node)) != NULL)
|
if ((nh = getdata (node)) != NULL)
|
||||||
{
|
{
|
||||||
vl_data->out_oi = (struct ospf_interface *) nh->oi;
|
vl_data->out_oi = (struct ospf_interface *) nh->oi;
|
||||||
|
|
||||||
|
if (!IPV4_ADDR_SAME(&voi->address->u.prefix4,
|
||||||
|
&vl_data->out_oi->address->u.prefix4))
|
||||||
|
changed = 1;
|
||||||
|
|
||||||
|
voi->address->u.prefix4 = vl_data->out_oi->address->u.prefix4;
|
||||||
|
voi->address->prefixlen = vl_data->out_oi->address->prefixlen;
|
||||||
|
|
||||||
voi->address->u.prefix4 = vl_data->out_oi->address->u.prefix4;
|
break; /* We take the first interface. */
|
||||||
voi->address->prefixlen = vl_data->out_oi->address->prefixlen;
|
|
||||||
|
|
||||||
break; /* We take the first interface. */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rl = (struct router_lsa *)v->lsa;
|
rl = (struct router_lsa *)v->lsa;
|
||||||
@ -961,9 +966,12 @@ ospf_vl_set_params (struct ospf_vl_data *vl_data, struct vertex *v)
|
|||||||
zlog_info ("found back link through VL");
|
zlog_info ("found back link through VL");
|
||||||
case LSA_LINK_TYPE_TRANSIT:
|
case LSA_LINK_TYPE_TRANSIT:
|
||||||
case LSA_LINK_TYPE_POINTOPOINT:
|
case LSA_LINK_TYPE_POINTOPOINT:
|
||||||
|
if (!IPV4_ADDR_SAME (&vl_data->peer_addr,
|
||||||
|
&rl->link[i].link_data))
|
||||||
|
changed = 1;
|
||||||
vl_data->peer_addr = rl->link[i].link_data;
|
vl_data->peer_addr = rl->link[i].link_data;
|
||||||
if (IS_DEBUG_OSPF_EVENT)
|
if (IS_DEBUG_OSPF_EVENT)
|
||||||
zlog_info ("%s peer address is %s\n",
|
zlog_info ("ospf_vl_set_params: %s peer address is %s\n",
|
||||||
vl_data->vl_oi->ifp->name,
|
vl_data->vl_oi->ifp->name,
|
||||||
inet_ntoa(vl_data->peer_addr));
|
inet_ntoa(vl_data->peer_addr));
|
||||||
return changed;
|
return changed;
|
||||||
@ -1030,9 +1038,10 @@ ospf_vl_up_check (struct ospf_area *area, struct in_addr rid,
|
|||||||
if (ospf_vl_set_params (vl_data, v))
|
if (ospf_vl_set_params (vl_data, v))
|
||||||
{
|
{
|
||||||
if (IS_DEBUG_OSPF (ism, ISM_EVENTS))
|
if (IS_DEBUG_OSPF (ism, ISM_EVENTS))
|
||||||
zlog_info ("ospf_vl_up_check: VL cost change, scheduling router lsa refresh");
|
zlog_info ("ospf_vl_up_check: VL cost change,"
|
||||||
|
" scheduling router lsa refresh");
|
||||||
if(ospf->backbone)
|
if(ospf->backbone)
|
||||||
ospf_router_lsa_timer_add(ospf->backbone);
|
ospf_router_lsa_timer_add (ospf->backbone);
|
||||||
else if (IS_DEBUG_OSPF (ism, ISM_EVENTS))
|
else if (IS_DEBUG_OSPF (ism, ISM_EVENTS))
|
||||||
zlog_info ("ospf_vl_up_check: VL cost change, no backbone!");
|
zlog_info ("ospf_vl_up_check: VL cost change, no backbone!");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user