Commit 9c94583a authored by Ondřej Zajíček's avatar Ondřej Zajíček

OSPF: DD seqnum should be initialized only for first attempts

After SeqNumberMismatch/BadLSReq, we should continue with the old
seqnum++. The old code tries to do that by n->adj, but it was set
nowhere.
parent 267da813
...@@ -176,8 +176,8 @@ ospf_neigh_chstate(struct ospf_neighbor *n, u8 state) ...@@ -176,8 +176,8 @@ ospf_neigh_chstate(struct ospf_neighbor *n, u8 state)
if (state == NEIGHBOR_EXSTART) if (state == NEIGHBOR_EXSTART)
{ {
/* First time adjacency */ /* First time adjacency attempt */
if (n->adj == 0) if (old_state < NEIGHBOR_EXSTART)
n->dds = random_u32(); n->dds = random_u32();
n->dds++; n->dds++;
......
...@@ -353,7 +353,6 @@ struct ospf_neighbor ...@@ -353,7 +353,6 @@ struct ospf_neighbor
u32 rid; /* Router ID */ u32 rid; /* Router ID */
ip_addr ip; /* IP of it's interface */ ip_addr ip; /* IP of it's interface */
u8 priority; /* Priority */ u8 priority; /* Priority */
u8 adj; /* built adjacency? */
u32 options; /* Options received */ u32 options; /* Options received */
/* Entries dr and bdr store IP addresses in OSPFv2 and router IDs in /* Entries dr and bdr store IP addresses in OSPFv2 and router IDs in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment