From: Antonio Quartulli antonio@open-mesh.com
In interface_rx() skb->data cannot be directly used to access the Ethernet header because it point to the batman one.
Signed-off-by: Antonio Quartulli antonio@open-mesh.com ---
v2: - use vlan_eth_hdr()
soft-interface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/soft-interface.c b/soft-interface.c index 6f20d33..114d10d 100644 --- a/soft-interface.c +++ b/soft-interface.c @@ -320,7 +320,7 @@ void batadv_interface_rx(struct net_device *soft_iface,
switch (ntohs(ethhdr->h_proto)) { case ETH_P_8021Q: - vhdr = (struct vlan_ethhdr *)skb->data; + vhdr = vlan_eth_hdr(skb); vid = ntohs(vhdr->h_vlan_TCI) & VLAN_VID_MASK;
if (vhdr->h_vlan_encapsulated_proto != ethertype)