diff options
author | Florian Westphal <fw@strlen.de> | 2011-09-06 13:47:43 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@gnumonks.org> | 2011-09-06 13:47:43 +0200 |
commit | 1154021c599257edf2c3dcb4d29f6b4dcb67643a (patch) | |
tree | d6a7150a34f8e1c9535f6f9accd62f4a05742bad /include/libnetfilter_queue | |
parent | ebdfa9a7631534071c6997b8210b8964db5e6957 (diff) |
src: add NFQNL_MSG_VERDICT_BATCH support
add nfq_set_verdict_batch() and nfq_set_verdict_batch2 (to also
set the nfmark of all packets).
verdicts sent by the _batch variant will affect all queued skbs
whose id is smaller or equal to the given id.
This facility is available from Linux 3.1 onwards.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
Diffstat (limited to 'include/libnetfilter_queue')
-rw-r--r-- | include/libnetfilter_queue/libnetfilter_queue.h | 9 | ||||
-rw-r--r-- | include/libnetfilter_queue/linux_nfnetlink_queue.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/libnetfilter_queue/libnetfilter_queue.h b/include/libnetfilter_queue/libnetfilter_queue.h index 295de66..28bf2b1 100644 --- a/include/libnetfilter_queue/libnetfilter_queue.h +++ b/include/libnetfilter_queue/libnetfilter_queue.h @@ -69,6 +69,15 @@ extern int nfq_set_verdict2(struct nfq_q_handle *qh, u_int32_t datalen, const unsigned char *buf); +extern int nfq_set_verdict_batch(struct nfq_q_handle *qh, + u_int32_t id, + u_int32_t verdict); + +extern int nfq_set_verdict_batch2(struct nfq_q_handle *qh, + u_int32_t id, + u_int32_t verdict, + u_int32_t mark); + extern __attribute__((deprecated)) int nfq_set_verdict_mark(struct nfq_q_handle *qh, u_int32_t id, diff --git a/include/libnetfilter_queue/linux_nfnetlink_queue.h b/include/libnetfilter_queue/linux_nfnetlink_queue.h index 191b094..6b4f86d 100644 --- a/include/libnetfilter_queue/linux_nfnetlink_queue.h +++ b/include/libnetfilter_queue/linux_nfnetlink_queue.h @@ -11,6 +11,7 @@ enum nfqnl_msg_types { NFQNL_MSG_PACKET, /* packet from kernel to userspace */ NFQNL_MSG_VERDICT, /* verdict from userspace to kernel */ NFQNL_MSG_CONFIG, /* connect to a particular queue */ + NFQNL_MSG_VERDICT_BATCH, /* batch verdict from userspace to kernel */ NFQNL_MSG_MAX }; |