diff options
author | Jan Engelhardt <jengelh@medozas.de> | 2008-10-08 05:35:19 -0400 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2008-10-08 05:35:19 -0400 |
commit | 7eb3558655aaa87a3e71a0c065dfaddda521fa6d (patch) | |
tree | 724466c66c96f14b0378fab87040d8393bc05c8b /net/sched/act_ipt.c | |
parent | 6be3d8598e883fb632edf059ba2f8d1b9f4da138 (diff) |
netfilter: xtables: move extension arguments into compound structure (4/6)
This patch does this for target extensions' target functions.
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'net/sched/act_ipt.c')
-rw-r--r-- | net/sched/act_ipt.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c index 79ea19375caf..89791a56429a 100644 --- a/net/sched/act_ipt.c +++ b/net/sched/act_ipt.c | |||
@@ -188,6 +188,7 @@ static int tcf_ipt(struct sk_buff *skb, struct tc_action *a, | |||
188 | { | 188 | { |
189 | int ret = 0, result = 0; | 189 | int ret = 0, result = 0; |
190 | struct tcf_ipt *ipt = a->priv; | 190 | struct tcf_ipt *ipt = a->priv; |
191 | struct xt_target_param par; | ||
191 | 192 | ||
192 | if (skb_cloned(skb)) { | 193 | if (skb_cloned(skb)) { |
193 | if (pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) | 194 | if (pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) |
@@ -203,10 +204,13 @@ static int tcf_ipt(struct sk_buff *skb, struct tc_action *a, | |||
203 | /* yes, we have to worry about both in and out dev | 204 | /* yes, we have to worry about both in and out dev |
204 | worry later - danger - this API seems to have changed | 205 | worry later - danger - this API seems to have changed |
205 | from earlier kernels */ | 206 | from earlier kernels */ |
206 | ret = ipt->tcfi_t->u.kernel.target->target(skb, skb->dev, NULL, | 207 | par.in = skb->dev; |
207 | ipt->tcfi_hook, | 208 | par.out = NULL; |
208 | ipt->tcfi_t->u.kernel.target, | 209 | par.hooknum = ipt->tcfi_hook; |
209 | ipt->tcfi_t->data); | 210 | par.target = ipt->tcfi_t->u.kernel.target; |
211 | par.targinfo = ipt->tcfi_t->data; | ||
212 | ret = par.target->target(skb, &par); | ||
213 | |||
210 | switch (ret) { | 214 | switch (ret) { |
211 | case NF_ACCEPT: | 215 | case NF_ACCEPT: |
212 | result = TC_ACT_OK; | 216 | result = TC_ACT_OK; |