Temporary OSPFv3 commit.

This commit is contained in:
Ondrej Zajicek 2009-12-11 00:31:56 +01:00
parent 9807690b41
commit be2d38b7e9
3 changed files with 4 additions and 2 deletions

View file

@ -263,6 +263,7 @@ ospf_iface_sm(struct ospf_iface *ifa, int event)
hello_timer_hook(ifa->hello_timer); hello_timer_hook(ifa->hello_timer);
} }
schedule_link_lsa(ifa);
schedule_rt_lsa(ifa->oa); schedule_rt_lsa(ifa->oa);
break; break;
case ISM_BACKS: case ISM_BACKS:
@ -283,6 +284,7 @@ ospf_iface_sm(struct ospf_iface *ifa, int event)
case ISM_DOWN: case ISM_DOWN:
ospf_iface_chstate(ifa, OSPF_IS_DOWN); ospf_iface_chstate(ifa, OSPF_IS_DOWN);
ospf_iface_down(ifa); ospf_iface_down(ifa);
schedule_link_lsa(ifa);
schedule_rt_lsa(oa); schedule_rt_lsa(oa);
break; break;
case ISM_LOOP: /* Useless? */ case ISM_LOOP: /* Useless? */
@ -387,7 +389,6 @@ ospf_iface_add(struct object_lock *lock)
ifa->state = OSPF_IS_DOWN; ifa->state = OSPF_IS_DOWN;
ospf_iface_sm(ifa, ISM_UP); ospf_iface_sm(ifa, ISM_UP);
schedule_link_lsa(ifa);
} }
void void

View file

@ -639,7 +639,7 @@ ospf_lsupd_receive(struct ospf_packet *ps_i, struct ospf_iface *ifa,
DBG("New LSA installed in DB\n"); DBG("New LSA installed in DB\n");
#ifdef OSPFv3 #ifdef OSPFv3
/* Events 6,7 from 4.4.3. */ /* Events 6,7 from RFC5340 4.4.3. */
if ((lsatmp.type == LSA_T_LINK) && if ((lsatmp.type == LSA_T_LINK) &&
(ifa->state == OSPF_IS_DR)) (ifa->state == OSPF_IS_DR))
schedule_net_lsa(ifa); schedule_net_lsa(ifa);

View file

@ -493,6 +493,7 @@ ospf_ifa_notify(struct proto *p, unsigned flags, struct ifa *a)
if (ifa->iface == a->iface) if (ifa->iface == a->iface)
{ {
schedule_rt_lsa(ifa->oa); schedule_rt_lsa(ifa->oa);
/* Event 5 from RFC5340 4.4.3. */
schedule_link_lsa(ifa); schedule_link_lsa(ifa);
return; return;
} }