0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 09:41:54 +00:00

OSPF state machine fix - thanx to Alexander V. Chernikov

This commit is contained in:
Ondrej Filip 2013-09-11 01:15:34 +02:00
parent 92f8878cbf
commit c404f4b968

View File

@ -205,7 +205,7 @@ ospf_lsupd_flood(struct proto_ospf *po,
en->lsa_body = NULL; en->lsa_body = NULL;
DBG("Removing from lsreq list for neigh %R\n", nn->rid); DBG("Removing from lsreq list for neigh %R\n", nn->rid);
ospf_hash_delete(nn->lsrqh, en); ospf_hash_delete(nn->lsrqh, en);
if (EMPTY_SLIST(nn->lsrql)) if ((EMPTY_SLIST(nn->lsrql)) && (nn->state == NEIGHBOR_LOADING))
ospf_neigh_sm(nn, INM_LOADDONE); ospf_neigh_sm(nn, INM_LOADDONE);
continue; continue;
break; break;
@ -216,7 +216,7 @@ ospf_lsupd_flood(struct proto_ospf *po,
en->lsa_body = NULL; en->lsa_body = NULL;
DBG("Removing from lsreq list for neigh %R\n", nn->rid); DBG("Removing from lsreq list for neigh %R\n", nn->rid);
ospf_hash_delete(nn->lsrqh, en); ospf_hash_delete(nn->lsrqh, en);
if (EMPTY_SLIST(nn->lsrql)) if ((EMPTY_SLIST(nn->lsrql)) && (nn->state == NEIGHBOR_LOADING))
ospf_neigh_sm(nn, INM_LOADDONE); ospf_neigh_sm(nn, INM_LOADDONE);
break; break;
default: default: