linux/net/8021q
Jiri Pirko 0b5c9db1b1 vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check
Testing of VLAN_FLAG_REORDER_HDR does not belong in vlan_untag
but rather in vlan_do_receive.  Otherwise the vlan header
will not be properly put on the packet in the case of
vlan header accelleration.

As we remove the check from vlan_check_reorder_header
rename it vlan_reorder_header to keep the naming clean.

Fix up the skb->pkt_type early so we don't look at the packet
after adding the vlan tag, which guarantees we don't goof
and look at the wrong field.

Use a simple if statement instead of a complicated switch
statement to decided that we need to increment rx_stats
for a multicast packet.

Hopefully at somepoint we will just declare the case where
VLAN_FLAG_REORDER_HDR is cleared as unsupported and remove
the code.  Until then this keeps it working correctly.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Acked-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-06-11 16:15:50 -07:00
..
Kconfig
Makefile
vlan_core.c vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check 2011-06-11 16:15:50 -07:00
vlan_dev.c vlan: fix typo in vlan_dev_hard_start_xmit() 2011-06-01 21:08:47 -07:00
vlan_gvrp.c
vlan_netlink.c vlan: lockless transmit path 2010-11-16 11:15:08 -08:00
vlan.c net:8021q:vlan.c Fix pr_info to just give the vlan fullname and version. 2011-05-26 14:55:51 -04:00
vlan.h net: move is_vlan_dev into public header file (v2) 2011-05-25 17:55:23 -04:00
vlanproc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
vlanproc.h