|
@@ -176,11 +176,11 @@ static int batadv_interface_tx(struct sk_buff *skb,
|
|
|
|
|
|
soft_iface->trans_start = jiffies;
|
|
|
vid = batadv_get_vid(skb, 0);
|
|
|
- ethhdr = (struct ethhdr *)skb->data;
|
|
|
+ ethhdr = eth_hdr(skb);
|
|
|
|
|
|
switch (ntohs(ethhdr->h_proto)) {
|
|
|
case ETH_P_8021Q:
|
|
|
- vhdr = (struct vlan_ethhdr *)skb->data;
|
|
|
+ vhdr = vlan_eth_hdr(skb);
|
|
|
|
|
|
if (vhdr->h_vlan_encapsulated_proto != ethertype)
|
|
|
break;
|
|
@@ -194,7 +194,7 @@ static int batadv_interface_tx(struct sk_buff *skb,
|
|
|
goto dropped;
|
|
|
|
|
|
/* skb->data might have been reallocated by batadv_bla_tx() */
|
|
|
- ethhdr = (struct ethhdr *)skb->data;
|
|
|
+ ethhdr = eth_hdr(skb);
|
|
|
|
|
|
/* Register the client MAC in the transtable */
|
|
|
if (!is_multicast_ether_addr(ethhdr->h_source)) {
|
|
@@ -230,7 +230,7 @@ static int batadv_interface_tx(struct sk_buff *skb,
|
|
|
/* skb->data may have been modified by
|
|
|
* batadv_gw_dhcp_recipient_get()
|
|
|
*/
|
|
|
- ethhdr = (struct ethhdr *)skb->data;
|
|
|
+ ethhdr = eth_hdr(skb);
|
|
|
/* if gw_mode is on, broadcast any non-DHCP message.
|
|
|
* All the DHCP packets are going to be sent as unicast
|
|
|
*/
|