patch-2.4.27 linux-2.4.27/net/ipv4/netfilter/ipt_ULOG.c
Next file: linux-2.4.27/net/ipv4/netfilter/ipt_helper.c
Previous file: linux-2.4.27/net/ipv4/netfilter/ipt_REJECT.c
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
2004-08-07 16:26:06.994442928 -0700
- Orig file:
linux-2.4.26/net/ipv4/netfilter/ipt_ULOG.c
- Orig date:
2003-08-25 04:44:44.000000000 -0700
diff -urN linux-2.4.26/net/ipv4/netfilter/ipt_ULOG.c linux-2.4.27/net/ipv4/netfilter/ipt_ULOG.c
@@ -89,7 +89,6 @@
static ulog_buff_t ulog_buffers[ULOG_MAXNLGROUPS]; /* array of buffers */
static struct sock *nflognl; /* our socket */
-static size_t qlen; /* current length of multipart-nlmsg */
DECLARE_LOCK(ulog_lock); /* spinlock */
/* send one ulog_buff_t to userspace */
@@ -108,7 +107,7 @@
NETLINK_CB(ub->skb).dst_groups = (1 << nlgroupnum);
DEBUGP("ipt_ULOG: throwing %d packets to netlink mask %u\n",
- ub->qlen, nlgroup);
+ ub->qlen, nlgroupnum);
netlink_broadcast(nflognl, ub->skb, 0, (1 << nlgroupnum), GFP_ATOMIC);
ub->qlen = 0;
@@ -118,7 +117,7 @@
}
-/* timer function to flush queue in ULOG_FLUSH_INTERVAL time */
+/* timer function to flush queue in flushtimeout time */
static void ulog_timer(unsigned long data)
{
DEBUGP("ipt_ULOG: timer function called, calling ulog_send\n");
@@ -246,12 +245,6 @@
ub->lastnlh->nlmsg_flags |= NLM_F_MULTI;
}
- /* if threshold is reached, send message to userspace */
- if (qlen >= loginfo->qthreshold) {
- if (loginfo->qthreshold > 1)
- nlh->nlmsg_type = NLMSG_DONE;
- }
-
ub->lastnlh = nlh;
/* if timer isn't already running, start it */
@@ -260,6 +253,13 @@
add_timer(&ub->timer);
}
+ /* if threshold is reached, send message to userspace */
+ if (ub->qlen >= loginfo->qthreshold) {
+ if (loginfo->qthreshold > 1)
+ nlh->nlmsg_type = NLMSG_DONE;
+ ulog_send(groupnum);
+ }
+
UNLOCK_BH(&ulog_lock);
return IPT_CONTINUE;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)