netfilter: Make nf_hookfn use nf_hook_state.
Pass the nf_hook_state all the way down into the hook functions themselves. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -136,8 +136,7 @@ unsigned int nf_iterate(struct list_head *head,
|
||||
/* Optimization: we don't need to hold module
|
||||
reference here, since function can't sleep. --RR */
|
||||
repeat:
|
||||
verdict = (*elemp)->hook(*elemp, skb, state->in, state->out,
|
||||
state->okfn);
|
||||
verdict = (*elemp)->hook(*elemp, skb, state);
|
||||
if (verdict != NF_ACCEPT) {
|
||||
#ifdef CONFIG_NETFILTER_DEBUG
|
||||
if (unlikely((verdict & NF_VERDICT_MASK)
|
||||
|
||||
@@ -1272,8 +1272,7 @@ ip_vs_out(unsigned int hooknum, struct sk_buff *skb, int af)
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_reply4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_out(ops->hooknum, skb, AF_INET);
|
||||
}
|
||||
@@ -1284,8 +1283,7 @@ ip_vs_reply4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_local_reply4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_out(ops->hooknum, skb, AF_INET);
|
||||
}
|
||||
@@ -1299,8 +1297,7 @@ ip_vs_local_reply4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_reply6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_out(ops->hooknum, skb, AF_INET6);
|
||||
}
|
||||
@@ -1311,8 +1308,7 @@ ip_vs_reply6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_local_reply6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_out(ops->hooknum, skb, AF_INET6);
|
||||
}
|
||||
@@ -1769,9 +1765,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_remote_request4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_in(ops->hooknum, skb, AF_INET);
|
||||
}
|
||||
@@ -1782,8 +1776,7 @@ ip_vs_remote_request4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_local_request4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_in(ops->hooknum, skb, AF_INET);
|
||||
}
|
||||
@@ -1796,9 +1789,7 @@ ip_vs_local_request4(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_remote_request6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_in(ops->hooknum, skb, AF_INET6);
|
||||
}
|
||||
@@ -1809,8 +1800,7 @@ ip_vs_remote_request6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_local_request6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
return ip_vs_in(ops->hooknum, skb, AF_INET6);
|
||||
}
|
||||
@@ -1829,8 +1819,7 @@ ip_vs_local_request6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
*/
|
||||
static unsigned int
|
||||
ip_vs_forward_icmp(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
int r;
|
||||
struct net *net;
|
||||
@@ -1851,8 +1840,7 @@ ip_vs_forward_icmp(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
#ifdef CONFIG_IP_VS_IPV6
|
||||
static unsigned int
|
||||
ip_vs_forward_icmp_v6(const struct nf_hook_ops *ops, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
int (*okfn)(struct sk_buff *))
|
||||
const struct nf_hook_state *state)
|
||||
{
|
||||
int r;
|
||||
struct net *net;
|
||||
|
||||
Reference in New Issue
Block a user