netfilter: conntrack: pass nf_hook_state to packet and error handlers
nf_hook_state contains all the hook meta-information: netns, protocol family, hook location, and so on. Instead of only passing selected information, pass a pointer to entire structure. This will allow to merge the error and the packet handlers and remove the ->new() function in followup patches. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
committed by
Pablo Neira Ayuso
parent
c8204cab9c
commit
93e66024b0
@@ -933,6 +933,11 @@ static int __ovs_ct_lookup(struct net *net, struct sw_flow_key *key,
|
||||
struct nf_conn *ct;
|
||||
|
||||
if (!cached) {
|
||||
struct nf_hook_state state = {
|
||||
.hook = NF_INET_PRE_ROUTING,
|
||||
.pf = info->family,
|
||||
.net = net,
|
||||
};
|
||||
struct nf_conn *tmpl = info->ct;
|
||||
int err;
|
||||
|
||||
@@ -944,8 +949,7 @@ static int __ovs_ct_lookup(struct net *net, struct sw_flow_key *key,
|
||||
nf_ct_set(skb, tmpl, IP_CT_NEW);
|
||||
}
|
||||
|
||||
err = nf_conntrack_in(net, info->family,
|
||||
NF_INET_PRE_ROUTING, skb);
|
||||
err = nf_conntrack_in(skb, &state);
|
||||
if (err != NF_ACCEPT)
|
||||
return -ENOENT;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user