[NETFILTER]: add /proc/net/netfilter interface to nf_queue
This patch adds a /proc/net/netfilter/nf_queue file, similar to the recently-added /proc/net/netfilter/nf_log. It indicates which queue handler is registered to which protocol family. This is useful since there are now multiple queue handlers in the treee (ip[6]_queue, nfnetlink_queue). Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
fbcd923c3e
commit
bbd86b9fc4
@ -652,6 +652,11 @@ ipq_get_info(char *buffer, char **start, off_t offset, int length)
|
||||
return len;
|
||||
}
|
||||
|
||||
static struct nf_queue_handler nfqh = {
|
||||
.name = "ip6_queue",
|
||||
.outfn = &ipq_enqueue_packet,
|
||||
};
|
||||
|
||||
static int
|
||||
init_or_cleanup(int init)
|
||||
{
|
||||
@ -679,7 +684,7 @@ init_or_cleanup(int init)
|
||||
register_netdevice_notifier(&ipq_dev_notifier);
|
||||
ipq_sysctl_header = register_sysctl_table(ipq_root_table, 0);
|
||||
|
||||
status = nf_register_queue_handler(PF_INET6, ipq_enqueue_packet, NULL);
|
||||
status = nf_register_queue_handler(PF_INET6, &nfqh);
|
||||
if (status < 0) {
|
||||
printk(KERN_ERR "ip6_queue: failed to register queue handler\n");
|
||||
goto cleanup_sysctl;
|
||||
@ -687,7 +692,7 @@ init_or_cleanup(int init)
|
||||
return status;
|
||||
|
||||
cleanup:
|
||||
nf_unregister_queue_handlers(&ipq_enqueue_packet);
|
||||
nf_unregister_queue_handlers(&nfqh);
|
||||
synchronize_net();
|
||||
ipq_flush(NF_DROP);
|
||||
|
||||
|
Reference in New Issue
Block a user