diff options
author | Arturo Borrero Gonzalez <arturo@debian.org> | 2017-05-09 09:41:10 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2017-05-15 12:39:10 +0200 |
commit | d31baccc493ec6484bfcb51d6bce78ff8c3ddc64 (patch) | |
tree | 8aac32cd5f5f804dbfcf5092171abdb641024245 | |
parent | 131df891f77dc75515d5eabdedd9818105d29f5a (diff) |
conntrackd: consolidate more code to use resync_send()
These digest_msg() functions can use resync_send() as well.
While at it, bring back a call to kernel_resync() in notrack_local() which was
lost in a previous commit.
Fixes: 131df891f77dc75515d5eabdedd9818105d29f5a ("conntrackd: factorize resync operations")
Signed-off-by: Arturo Borrero Gonzalez <arturo@debian.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/sync-ftfw.c | 5 | ||||
-rw-r--r-- | src/sync-notrack.c | 15 |
2 files changed, 8 insertions, 12 deletions
diff --git a/src/sync-ftfw.c b/src/sync-ftfw.c index 6fdb058..6dca3dc 100644 --- a/src/sync-ftfw.c +++ b/src/sync-ftfw.c @@ -313,10 +313,7 @@ static int digest_msg(const struct nethdr *net) } else if (IS_RESYNC(net)) { dlog(LOG_NOTICE, "resync requested by other node"); - cache_iterate(STATE(mode)->internal->ct.data, NULL, - do_cache_to_tx); - cache_iterate(STATE(mode)->internal->exp.data, NULL, - do_cache_to_tx); + resync_send(do_cache_to_tx); return MSG_CTL; } else if (IS_ALIVE(net)) diff --git a/src/sync-notrack.c b/src/sync-notrack.c index 7ce62d9..1b53e1b 100644 --- a/src/sync-notrack.c +++ b/src/sync-notrack.c @@ -107,7 +107,10 @@ static int notrack_local(int fd, int type, void *data) resync_req(); break; case SEND_BULK: - resync_send(do_cache_to_tx); + if (CONFIG(sync).internal_cache_disable) + kernel_resync(); + else + resync_send(do_cache_to_tx); break; default: ret = 0; @@ -124,14 +127,10 @@ static int digest_msg(const struct nethdr *net) if (IS_RESYNC(net)) { dlog(LOG_NOTICE, "resync requested by other node"); - if (CONFIG(sync).internal_cache_disable) { + if (CONFIG(sync).internal_cache_disable) kernel_resync(); - } else { - cache_iterate(STATE(mode)->internal->ct.data, - NULL, do_cache_to_tx); - cache_iterate(STATE(mode)->internal->exp.data, - NULL, do_cache_to_tx); - } + else + resync_send(do_cache_to_tx); return MSG_CTL; } |