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:
paul 2004-05-05 17:26:55 +00:00
parent d3f0d62101
commit cd59da682f
2 changed files with 21 additions and 9 deletions

View File

@ -12,6 +12,9 @@
not by peer_addr (which breaks for asymmetric vlinks)
(ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
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>

View File

@ -917,6 +917,7 @@ ospf_vl_set_params (struct ospf_vl_data *vl_data, struct vertex *v)
if (voi->output_cost != v->distance)
{
voi->output_cost = v->distance;
changed = 1;
}
@ -926,6 +927,10 @@ ospf_vl_set_params (struct ospf_vl_data *vl_data, struct vertex *v)
{
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;
@ -961,9 +966,12 @@ ospf_vl_set_params (struct ospf_vl_data *vl_data, struct vertex *v)
zlog_info ("found back link through VL");
case LSA_LINK_TYPE_TRANSIT:
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;
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,
inet_ntoa(vl_data->peer_addr));
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 (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)
ospf_router_lsa_timer_add(ospf->backbone);
ospf_router_lsa_timer_add (ospf->backbone);
else if (IS_DEBUG_OSPF (ism, ISM_EVENTS))
zlog_info ("ospf_vl_up_check: VL cost change, no backbone!");
}