[netfilter-cvslog] r7414 - branches/ulog/ulogd2/input/packet

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


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

Modified:
   branches/ulog/ulogd2/input/packet/ulogd_inppkt_ULOG.c
Log:
A specific instance of NFLOG can now be use in multiple stacks. This is done
by duplicating the interpretation of the message.

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


Modified: branches/ulog/ulogd2/input/packet/ulogd_inppkt_ULOG.c
===================================================================
--- branches/ulog/ulogd2/input/packet/ulogd_inppkt_ULOG.c	2008-03-25 10:01:34 UTC (rev 7413)
+++ branches/ulog/ulogd2/input/packet/ulogd_inppkt_ULOG.c	2008-03-25 10:06:15 UTC (rev 7414)
@@ -215,6 +215,7 @@
 static int ulog_read_cb(int fd, unsigned int what, void *param)
 {
 	struct ulogd_pluginstance *upi = (struct ulogd_pluginstance *)param;
+	struct ulogd_pluginstance *npi = NULL;
 	struct ulog_input *u = (struct ulog_input *) &upi->private;
 	ulog_packet_msg_t *upkt;
 	int len;
@@ -239,6 +240,11 @@
 		while ((upkt = ipulog_get_packet(u->libulog_h,
 						 u->libulog_buf, len))) {
 			ulogd_log(ULOGD_DEBUG, "==> ulog packet received\n");
+			/* 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)
+				interp_packet(npi, upkt);
 			interp_packet(upi, upkt);
 		}
 	}




More information about the netfilter-cvslog mailing list