summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorVlad Yasevich <vyasevich@gmail.com>2014-09-12 16:26:16 -0400
committerDavid S. Miller <davem@davemloft.net>2014-09-13 17:21:56 -0400
commit20adfa1a81af00bf2027644507ad4fa9cd2849cf (patch)
tree9a3a341354ecc5645ac36c583aa71b7beaba9f27 /arch
parent9a72c2da690d78e93cff24b9f616412508678dd5 (diff)
bridge: Check if vlan filtering is enabled only once.
The bridge code checks if vlan filtering is enabled on both ingress and egress. When the state flip happens, it is possible for the bridge to currently be forwarding packets and forwarding behavior becomes non-deterministic. Bridge may drop packets on some interfaces, but not others. This patch solves this by caching the filtered state of the packet into skb_cb on ingress. The skb_cb is guaranteed to not be over-written between the time packet entres bridge forwarding path and the time it leaves it. On egress, we can then check the cached state to see if we need to apply filtering information. Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions