diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-12-14 21:17:15 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2009-12-14 21:17:15 +0100 |
commit | f75747073e45c3129568c4936c2f34fa618db41e (patch) | |
tree | 7fcb456e58722fbd2e2fccac67832bd22363a373 /proto/ospf/rt.c | |
parent | 63542845dfb6d2277f93f77ad9ca3ad8bbaddd09 (diff) | |
download | bird-f75747073e45c3129568c4936c2f34fa618db41e.tar bird-f75747073e45c3129568c4936c2f34fa618db41e.zip |
Implements route reload for OSPF.
Diffstat (limited to 'proto/ospf/rt.c')
-rw-r--r-- | proto/ospf/rt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c index ae815b3..2928326 100644 --- a/proto/ospf/rt.c +++ b/proto/ospf/rt.c @@ -1133,6 +1133,9 @@ rt_sync(struct proto_ospf *po) struct area_net *anet; int flush; + /* This is used for forced reload of routes */ + int reload = (po->calcrt == 2); + OSPF_TRACE(D_EVENTS, "Starting routing table synchronisation"); DBG("Now syncing my rt table with nest's\n"); @@ -1142,7 +1145,7 @@ again1: { nf = (ort *) nftmp; check_sum_lsa(po, nf, ORT_NET); - if (memcmp(&nf->n, &nf->o, sizeof(orta))) + if (reload || memcmp(&nf->n, &nf->o, sizeof(orta))) { /* Some difference */ net *ne; rta a0; |