diff options
author | Linus Lüssing <linus.luessing@web.de> | 2014-01-19 16:22:45 -0500 |
---|---|---|
committer | Antonio Quartulli <antonio@meshcoding.com> | 2014-03-22 03:50:26 -0400 |
commit | 927c2ed7e5879a96759aadda94404d516ce9fb42 (patch) | |
tree | fea8526ec7713221769eaf1bdc34533c45bbb4bb /net/batman-adv/bridge_loop_avoidance.c | |
parent | abae9479ca9fa5616ae0debfbda54bf5424001df (diff) |
batman-adv: use vlan_/eth_hdr() instead of skb->data in interface_tx path
Our .ndo_start_xmit handler (batadv_interface_tx()) can rely on having
the skb mac header pointer set correctly since the following commit
present in kernels >= 3.9:
"net: reset mac header in dev_start_xmit()" (6d1ccff627)
Therefore we can safely use eth_hdr() and vlan_eth_hdr() instead of
skb->data now, which spares us some ugly type casts.
At the same time set the mac_header in batadv_dat_snoop_incoming_arp_request()
before sending the skb along the TX path.
Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
Diffstat (limited to 'net/batman-adv/bridge_loop_avoidance.c')
-rw-r--r-- | net/batman-adv/bridge_loop_avoidance.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c index 05f0712be5e7..73d83727d66a 100644 --- a/net/batman-adv/bridge_loop_avoidance.c +++ b/net/batman-adv/bridge_loop_avoidance.c | |||
@@ -882,7 +882,7 @@ static int batadv_bla_process_claim(struct batadv_priv *bat_priv, | |||
882 | proto = ethhdr->h_proto; | 882 | proto = ethhdr->h_proto; |
883 | headlen = ETH_HLEN; | 883 | headlen = ETH_HLEN; |
884 | if (vid & BATADV_VLAN_HAS_TAG) { | 884 | if (vid & BATADV_VLAN_HAS_TAG) { |
885 | vhdr = (struct vlan_ethhdr *)ethhdr; | 885 | vhdr = vlan_eth_hdr(skb); |
886 | proto = vhdr->h_vlan_encapsulated_proto; | 886 | proto = vhdr->h_vlan_encapsulated_proto; |
887 | headlen += VLAN_HLEN; | 887 | headlen += VLAN_HLEN; |
888 | } | 888 | } |