diff options
author | Pablo Neira <pablo@netfilter.org> | 2015-05-13 18:19:35 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-05-14 01:10:05 -0400 |
commit | f7191483461ce2ae579b6f7227fa7ce49e006656 (patch) | |
tree | a64e52b70c43c4434d3b4bf8b94dc95a81a4509f /include | |
parent | 87d5c18ce1f41a2410d4fb26d5d68c55867450f5 (diff) | |
download | linux-stable-f7191483461ce2ae579b6f7227fa7ce49e006656.tar.gz linux-stable-f7191483461ce2ae579b6f7227fa7ce49e006656.tar.bz2 linux-stable-f7191483461ce2ae579b6f7227fa7ce49e006656.zip |
netfilter: add hook list to nf_hook_state
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netfilter.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 83be4a3cec98..388ed1952242 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h @@ -54,10 +54,12 @@ struct nf_hook_state { struct net_device *in; struct net_device *out; struct sock *sk; + struct list_head *hook_list; int (*okfn)(struct sock *, struct sk_buff *); }; static inline void nf_hook_state_init(struct nf_hook_state *p, + struct list_head *hook_list, unsigned int hook, int thresh, u_int8_t pf, struct net_device *indev, @@ -71,6 +73,7 @@ static inline void nf_hook_state_init(struct nf_hook_state *p, p->in = indev; p->out = outdev; p->sk = sk; + p->hook_list = hook_list; p->okfn = okfn; } @@ -166,8 +169,8 @@ static inline int nf_hook_thresh(u_int8_t pf, unsigned int hook, if (nf_hooks_active(pf, hook)) { struct nf_hook_state state; - nf_hook_state_init(&state, hook, thresh, pf, - indev, outdev, sk, okfn); + nf_hook_state_init(&state, &nf_hooks[pf][hook], hook, thresh, + pf, indev, outdev, sk, okfn); return nf_hook_slow(skb, &state); } return 1; |