diff options
Diffstat (limited to 'kernel/net/bridge/netfilter/ebtable_broute.c')
-rw-r--r-- | kernel/net/bridge/netfilter/ebtable_broute.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/net/bridge/netfilter/ebtable_broute.c b/kernel/net/bridge/netfilter/ebtable_broute.c index d2cdf5d6e..ec94c6f1a 100644 --- a/kernel/net/bridge/netfilter/ebtable_broute.c +++ b/kernel/net/bridge/netfilter/ebtable_broute.c @@ -50,10 +50,14 @@ static const struct ebt_table broute_table = { static int ebt_broute(struct sk_buff *skb) { + struct nf_hook_state state; int ret; - ret = ebt_do_table(NF_BR_BROUTING, skb, skb->dev, NULL, - dev_net(skb->dev)->xt.broute_table); + nf_hook_state_init(&state, NULL, NF_BR_BROUTING, INT_MIN, + NFPROTO_BRIDGE, skb->dev, NULL, NULL, + dev_net(skb->dev), NULL); + + ret = ebt_do_table(skb, &state, state.net->xt.broute_table); if (ret == NF_DROP) return 1; /* route it */ return 0; /* bridge it */ |