diff --git a/proto/ospf/hello.c b/proto/ospf/hello.c index 74ae43ab..d15f5297 100644 --- a/proto/ospf/hello.c +++ b/proto/ospf/hello.c @@ -161,7 +161,7 @@ ospf_hello_rx(struct ospf_hello_packet *ps, struct proto *p, ospf_int_sm(ifa, ISM_NEICH); /* Neighbor is no more declaring itself as DR or BDR */ - if(((n->rid==olddr) && (n->dr!=olddr)) || ((n->rid==olbddr) && + if(((n->rid==olddr) && (n->dr!=olddr)) || ((n->rid==oldbdr) && (n->dr!=oldbdr))) ospf_int_sm(ifa, ISM_NEICH); } diff --git a/proto/ospf/neighbor.c b/proto/ospf/neighbor.c index 466c7ad5..9f1c7fd8 100644 --- a/proto/ospf/neighbor.c +++ b/proto/ospf/neighbor.c @@ -29,8 +29,10 @@ neigh_chstate(struct ospf_neighbor *n, u8 state) { ifa=n->ifa; n->state=state; - if(state==2WAY && oldstate<2WAY) ospf_int_sm(n->ifa, ISM_NEICH); - if(state<2WAY && oldstate>=2WAY) ospf_int_sm(n->ifa, ISM_NEICH); + if((state==NEIGHBOR_2WAY) && (oldstateifa, ISM_NEICH); + if((state=NEIGHBOR_2WAY)) + ospf_int_sm(n->ifa, ISM_NEICH); if(oldstate==NEIGHBOR_FULL) /* Decrease number of adjacencies */ { ifa->fadj--;