diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-02-03 17:31:27 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-02-03 17:31:27 +0100 |
commit | 16605f2fdad730b8bb570e17192dc5f45cf15d3f (patch) | |
tree | d463373e209fd4cacdd621e56527ada6d3664a14 /proto/ospf/neighbor.c | |
parent | 9c94583a3ded3b2792bd08d88beb10100a82d7b4 (diff) |
OSPF: Reject duplicate DBDES packets after dead interval
Master may free last DBDES packet immediately. Slave must wait dead
interval before freeing last DBDES packet and then reject duplicate
DBDES packets with SeqNumberMismatch.
Diffstat (limited to 'proto/ospf/neighbor.c')
-rw-r--r-- | proto/ospf/neighbor.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/proto/ospf/neighbor.c b/proto/ospf/neighbor.c index 54d643c6..c143b130 100644 --- a/proto/ospf/neighbor.c +++ b/proto/ospf/neighbor.c @@ -608,6 +608,12 @@ dbdes_timer_hook(timer *t) if ((n->state == NEIGHBOR_EXCHANGE) && (n->myimms & DBDES_MS)) ospf_rxmt_dbdes(p, n); + + if ((n->state > NEIGHBOR_LOADING) && !(n->myimms & DBDES_MS)) + { + ospf_reset_ldd(p, n); + tm_stop(n->dbdes_timer); + } } static void |