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 --- soft-interface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/soft-interface.c b/soft-interface.c index 6f20d33..c8e1f8f 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 = (struct vlan_ethhdr *)ethhdr; vid = ntohs(vhdr->h_vlan_TCI) & VLAN_VID_MASK;
if (vhdr->h_vlan_encapsulated_proto != ethertype)