![Aaron Conole](/assets/img/avatar_default.png)
The netfilter hook list never uses the prev pointer, and so can be trimmed to be a simple singly-linked list. In addition to having a more light weight structure for hook traversal, struct net becomes 5568 bytes (down from 6400) and struct net_device becomes 2176 bytes (down from 2240). Signed-off-by: Aaron Conole <aconole@bytheb.org> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
29 lines
690 B
C
29 lines
690 B
C
#ifndef _NF_INTERNALS_H
|
|
#define _NF_INTERNALS_H
|
|
|
|
#include <linux/list.h>
|
|
#include <linux/skbuff.h>
|
|
#include <linux/netdevice.h>
|
|
|
|
#ifdef CONFIG_NETFILTER_DEBUG
|
|
#define NFDEBUG(format, args...) printk(KERN_DEBUG format , ## args)
|
|
#else
|
|
#define NFDEBUG(format, args...)
|
|
#endif
|
|
|
|
|
|
/* core.c */
|
|
unsigned int nf_iterate(struct sk_buff *skb, struct nf_hook_state *state,
|
|
struct nf_hook_entry **entryp);
|
|
|
|
/* nf_queue.c */
|
|
int nf_queue(struct sk_buff *skb, struct nf_hook_state *state,
|
|
unsigned int queuenum);
|
|
void nf_queue_nf_hook_drop(struct net *net, const struct nf_hook_entry *entry);
|
|
int __init netfilter_queue_init(void);
|
|
|
|
/* nf_log.c */
|
|
int __init netfilter_log_init(void);
|
|
|
|
#endif
|