[NETFILTER]: nfnetlink_queue: allow changing queue length through netlink
Signed-off-by: Eric Leblond <eric@inl.fr> Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
7b621c1ea6
commit
829e17a1a6
2 changed files with 9 additions and 0 deletions
|
@ -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,
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue