[NETFILTER]: nf_queue: move list_head/skb/id to struct nf_info

Move common fields for queue management to struct nf_info and rename it
to struct nf_queue_entry. The avoids one allocation/free per packet and
simplifies the code a bit.

Alternatively we could add some private room at the tail, but since
all current users use identical structs this seems easier.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Patrick McHardy
2007-12-05 01:26:33 -08:00
committed by David S. Miller
parent 7a6c6653b3
commit 02f014d888
8 changed files with 132 additions and 190 deletions

View File

@ -270,7 +270,7 @@ extern void nf_invalidate_cache(int pf);
extern int skb_make_writable(struct sk_buff *skb, unsigned int writable_len);
struct flowi;
struct nf_info;
struct nf_queue_entry;
struct nf_afinfo {
unsigned short family;
@ -278,9 +278,9 @@ struct nf_afinfo {
unsigned int dataoff, u_int8_t protocol);
int (*route)(struct dst_entry **dst, struct flowi *fl);
void (*saveroute)(const struct sk_buff *skb,
struct nf_info *info);
struct nf_queue_entry *entry);
int (*reroute)(struct sk_buff *skb,
const struct nf_info *info);
const struct nf_queue_entry *entry);
int route_key_size;
};