aboutsummaryrefslogtreecommitdiff
path: root/net/bridge/br_stp_bpdu.c
diff options
context:
space:
mode:
authorVlad Yasevich <vyasevic@redhat.com>2014-03-27 17:26:18 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-28 17:10:36 -0400
commit53d6471cef17262d3ad1c7ce8982a234244f68ec (patch)
treeb7adb468b9fb7b500a96222742a3752545ff47b6 /net/bridge/br_stp_bpdu.c
parent898602a049504dea256e696ee3152dc0b788a393 (diff)
net: Account for all vlan headers in skb_mac_gso_segment
skb_network_protocol() already accounts for multiple vlan headers that may be present in the skb. However, skb_mac_gso_segment() doesn't know anything about it and assumes that skb->mac_len is set correctly to skip all mac headers. That may not always be the case. If we are simply forwarding the packet (via bridge or macvtap), all vlan headers may not be accounted for. A simple solution is to allow skb_network_protocol to return the vlan depth it has calculated. This way skb_mac_gso_segment will correctly skip all mac headers. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_stp_bpdu.c')
0 files changed, 0 insertions, 0 deletions