summaryrefslogtreecommitdiff
path: root/src/sync-alarm.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2012-01-04 14:28:50 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2012-01-10 01:54:26 +0100
commit65be3d49b0f4350a227dedd70ac17c7c9cf6274e (patch)
treeebe1954323cc40b05d1772f46b5a54d4948c2918 /src/sync-alarm.c
parent1f29809eac0b9d8c711c97e8fcec6833fcd30248 (diff)
downloadconntrack-tools-65be3d49b0f4350a227dedd70ac17c7c9cf6274e.tar.gz
conntrack-tools-65be3d49b0f4350a227dedd70ac17c7c9cf6274e.zip
conntrackd: generalize caching infrastructure
This patch generalizes the caching infrastructure to store different object types. This patch is the first in the series to prepare support for the synchronization of expectations. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/sync-alarm.c')
-rw-r--r--src/sync-alarm.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/sync-alarm.c b/src/sync-alarm.c
index b555dd5..8d6b34d 100644
--- a/src/sync-alarm.c
+++ b/src/sync-alarm.c
@@ -1,6 +1,7 @@
/*
- * (C) 2006-2007 by Pablo Neira Ayuso <pablo@netfilter.org>
- *
+ * (C) 2006-2011 by Pablo Neira Ayuso <pablo@netfilter.org>
+ * (C) 2011 by Vyatta Inc. <http://www.vyatta.com>
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -110,7 +111,7 @@ static int alarm_recv(const struct nethdr *net)
static void alarm_enqueue(struct cache_object *obj, int query)
{
struct cache_alarm *ca =
- cache_get_extra(STATE(mode)->internal->data, obj);
+ cache_get_extra(STATE(mode)->internal->ct.data, obj);
if (queue_add(STATE_SYNC(tx_queue), &ca->qnode) > 0)
cache_object_get(obj);
}
@@ -135,9 +136,9 @@ static int tx_queue_xmit(struct queue_node *n, const void *data)
int type;
ca = (struct cache_alarm *)n;
- obj = cache_data_get_object(STATE(mode)->internal->data, ca);
+ obj = cache_data_get_object(STATE(mode)->internal->ct.data, ca);
type = object_status_to_network_type(obj->status);
- net = BUILD_NETMSG(obj->ct, type);
+ net = obj->cache->ops->build_msg(obj, type);
multichannel_send(STATE_SYNC(channel), net);
cache_object_put(obj);
break;