Commit 829e17a1 authored by Eric Leblond's avatar Eric Leblond Committed by David S. Miller

[NETFILTER]: nfnetlink_queue: allow changing queue length through netlink

Signed-off-by: default avatarEric Leblond <eric@inl.fr>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent 7b621c1e
...@@ -82,6 +82,7 @@ enum nfqnl_attr_config { ...@@ -82,6 +82,7 @@ enum nfqnl_attr_config {
NFQA_CFG_UNSPEC, NFQA_CFG_UNSPEC,
NFQA_CFG_CMD, /* nfqnl_msg_config_cmd */ NFQA_CFG_CMD, /* nfqnl_msg_config_cmd */
NFQA_CFG_PARAMS, /* nfqnl_msg_config_params */ NFQA_CFG_PARAMS, /* nfqnl_msg_config_params */
NFQA_CFG_QUEUE_MAXLEN, /* u_int32_t */
__NFQA_CFG_MAX __NFQA_CFG_MAX
}; };
#define NFQA_CFG_MAX (__NFQA_CFG_MAX-1) #define NFQA_CFG_MAX (__NFQA_CFG_MAX-1)
......
...@@ -947,6 +947,14 @@ nfqnl_recv_config(struct sock *ctnl, struct sk_buff *skb, ...@@ -947,6 +947,14 @@ nfqnl_recv_config(struct sock *ctnl, struct sk_buff *skb,
ntohl(params->copy_range)); ntohl(params->copy_range));
} }
if (nfqa[NFQA_CFG_QUEUE_MAXLEN-1]) {
__be32 *queue_maxlen;
queue_maxlen = NFA_DATA(nfqa[NFQA_CFG_QUEUE_MAXLEN-1]);
spin_lock_bh(&queue->lock);
queue->queue_maxlen = ntohl(*queue_maxlen);
spin_unlock_bh(&queue->lock);
}
out_put: out_put:
instance_put(queue); instance_put(queue);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment