Commit ac9dc669 authored by Ondrej Zajicek's avatar Ondrej Zajicek
Browse files

Bugfix in latest OSPF changes.

parent cd3b7003
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -281,10 +281,16 @@ void
ospf_iface_remove(struct ospf_iface *ifa)
{
  struct ospf_proto *p = ifa->oa->po;
  int i;

  if (ifa->type == OSPF_IT_VLINK)
    OSPF_TRACE(D_EVENTS, "Removing vlink to %R via area %R", ifa->vid, ifa->voa->areaid);

  /* Release LSAs from flood queue */
  if (!ifa->stub)
    for (i = 0; i < ifa->flood_queue_used; i++)
      ifa->flood_queue[i]->ret_count--;

  ospf_iface_sm(ifa, ISM_DOWN);
  rem_node(NODE ifa);
  rfree(ifa->pool);
+1 −3
Original line number Diff line number Diff line
@@ -1177,9 +1177,7 @@ use_gw_for_fwaddr(struct ospf_proto *p, ip_addr gw, struct iface *iface)

  WALK_LIST(ifa, p->iface_list)
    if ((ifa->iface == iface) &&
	((ifa->type == OSPF_IT_BCAST) || (ifa->type == OSPF_IT_NBMA)) &&
	(!ospf_is_v2(p) || ipa_in_net(gw, ifa->addr->prefix, ifa->addr->pxlen)) &&
	(!ifa->cf->stub))
	(!ospf_is_v2(p) || ipa_in_net(gw, ifa->addr->prefix, ifa->addr->pxlen)))
      return 1;

  return 0;