[netfilter-cvslog] r7415 - branches/ulog/ulogd2/input/flow

pablo at netfilter.org pablo at netfilter.org
Tue Mar 25 11:09:06 CET 2008


Author: pablo at netfilter.org
Date: 2008-03-25 11:09:06 +0100 (Tue, 25 Mar 2008)
New Revision: 7415

Modified:
   branches/ulog/ulogd2/input/flow/ulogd_inpflow_NFCT.c
Log:
This patch adds support for duplication of the message to be
able to use multiple time the same instance of NFCT.

Signed-off-by: Eric Leblond <eric at inl.fr>


Modified: branches/ulog/ulogd2/input/flow/ulogd_inpflow_NFCT.c
===================================================================
--- branches/ulog/ulogd2/input/flow/ulogd_inpflow_NFCT.c	2008-03-25 10:06:15 UTC (rev 7414)
+++ branches/ulog/ulogd2/input/flow/ulogd_inpflow_NFCT.c	2008-03-25 10:09:06 UTC (rev 7415)
@@ -559,8 +559,10 @@
 {
 	struct nfct_conntrack *ct = arg;
 	struct ulogd_pluginstance *upi = data;
+	struct ulogd_pluginstance *npi = NULL;
 	struct nfct_pluginstance *cpi = 
 				(struct nfct_pluginstance *) upi->private;
+	int ret = 0;
 
 	if (type == NFCT_MSG_NEW) {
 		if (usehash_ce(upi->config_kset).u.value != 0)
@@ -571,6 +573,14 @@
 		if (usehash_ce(upi->config_kset).u.value != 0)
 			ts = ct_hash_get(cpi->ct_active, ct->id);
 
+		/* since we support the re-use of one instance in
+		 * several different stacks, we duplicate the message
+		 * to let them know */
+		llist_for_each_entry(npi, &upi->plist, plist) {
+			ret = propagate_ct(npi, ct, flags, ts);
+			if (ret != 0)
+				return ret;
+		}
 		return propagate_ct(upi, ct, flags, ts);
 	}
 	return 0;




More information about the netfilter-cvslog mailing list