diff options
-rw-r--r-- | net/netfilter/xt_NFQUEUE.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/netfilter/xt_NFQUEUE.c b/net/netfilter/xt_NFQUEUE.c index 1e2fae32f81b..ed00fef58996 100644 --- a/net/netfilter/xt_NFQUEUE.c +++ b/net/netfilter/xt_NFQUEUE.c | |||
@@ -147,6 +147,7 @@ nfqueue_tg_v3(struct sk_buff *skb, const struct xt_action_param *par) | |||
147 | { | 147 | { |
148 | const struct xt_NFQ_info_v3 *info = par->targinfo; | 148 | const struct xt_NFQ_info_v3 *info = par->targinfo; |
149 | u32 queue = info->queuenum; | 149 | u32 queue = info->queuenum; |
150 | int ret; | ||
150 | 151 | ||
151 | if (info->queues_total > 1) { | 152 | if (info->queues_total > 1) { |
152 | if (info->flags & NFQ_FLAG_CPU_FANOUT) { | 153 | if (info->flags & NFQ_FLAG_CPU_FANOUT) { |
@@ -157,7 +158,11 @@ nfqueue_tg_v3(struct sk_buff *skb, const struct xt_action_param *par) | |||
157 | queue = nfqueue_hash(skb, par); | 158 | queue = nfqueue_hash(skb, par); |
158 | } | 159 | } |
159 | 160 | ||
160 | return NF_QUEUE_NR(queue); | 161 | ret = NF_QUEUE_NR(queue); |
162 | if (info->flags & NFQ_FLAG_BYPASS) | ||
163 | ret |= NF_VERDICT_FLAG_QUEUE_BYPASS; | ||
164 | |||
165 | return ret; | ||
161 | } | 166 | } |
162 | 167 | ||
163 | static struct xt_target nfqueue_tg_reg[] __read_mostly = { | 168 | static struct xt_target nfqueue_tg_reg[] __read_mostly = { |