diff options
author | Patrick McHardy <kaber@trash.net> | 2007-12-05 04:26:18 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:56:14 -0500 |
commit | 7a6c6653b3a977087ec64d76817c7ee6e1df5b60 (patch) | |
tree | b5c2c1b0df99f6ecce5193e4d51e69e78268ad39 /net | |
parent | 171b7fc4fc178a004aec8d06eb745c30ae726fb6 (diff) |
[NETFILTER]: ip6_queue: resync dev-index based flushing
Resync dev_cmp to take bridge devices into account.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/netfilter/ip6_queue.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/net/ipv6/netfilter/ip6_queue.c b/net/ipv6/netfilter/ip6_queue.c index 7d0780d02d0b..9c50cb19b39b 100644 --- a/net/ipv6/netfilter/ip6_queue.c +++ b/net/ipv6/netfilter/ip6_queue.c | |||
@@ -418,7 +418,16 @@ dev_cmp(struct ipq_queue_entry *entry, unsigned long ifindex) | |||
418 | if (entry->info->outdev) | 418 | if (entry->info->outdev) |
419 | if (entry->info->outdev->ifindex == ifindex) | 419 | if (entry->info->outdev->ifindex == ifindex) |
420 | return 1; | 420 | return 1; |
421 | 421 | #ifdef CONFIG_BRIDGE_NETFILTER | |
422 | if (entry->skb->nf_bridge) { | ||
423 | if (entry->skb->nf_bridge->physindev && | ||
424 | entry->skb->nf_bridge->physindev->ifindex == ifindex) | ||
425 | return 1; | ||
426 | if (entry->skb->nf_bridge->physoutdev && | ||
427 | entry->skb->nf_bridge->physoutdev->ifindex == ifindex) | ||
428 | return 1; | ||
429 | } | ||
430 | #endif | ||
422 | return 0; | 431 | return 0; |
423 | } | 432 | } |
424 | 433 | ||