Lines Matching refs:fwd_skb
2803 struct sk_buff *fwd_skb; in ieee80211_rx_mesh_data() local
2903 fwd_skb = skb_copy_expand(skb, local->tx_headroom + extra_head + in ieee80211_rx_mesh_data()
2906 if (!fwd_skb) in ieee80211_rx_mesh_data()
2909 fwd_skb = skb; in ieee80211_rx_mesh_data()
2912 if (skb_cow_head(fwd_skb, hdrlen - sizeof(struct ethhdr))) in ieee80211_rx_mesh_data()
2915 if (skb_linearize(fwd_skb)) in ieee80211_rx_mesh_data()
2919 fwd_hdr = skb_push(fwd_skb, hdrlen - sizeof(struct ethhdr)); in ieee80211_rx_mesh_data()
2924 skb_reset_mac_header(fwd_skb); in ieee80211_rx_mesh_data()
2926 if (ieee80211_get_8023_tunnel_proto(fwd_skb->data + hdrlen, in ieee80211_rx_mesh_data()
2927 &fwd_skb->protocol)) in ieee80211_rx_mesh_data()
2930 fwd_skb->protocol = htons(fwd_skb->len - hdrlen); in ieee80211_rx_mesh_data()
2931 skb_set_network_header(fwd_skb, hdrlen + 2); in ieee80211_rx_mesh_data()
2933 info = IEEE80211_SKB_CB(fwd_skb); in ieee80211_rx_mesh_data()
2938 fwd_skb->dev = sdata->dev; in ieee80211_rx_mesh_data()
2944 } else if (!mesh_nexthop_lookup(sdata, fwd_skb)) { in ieee80211_rx_mesh_data()
2955 kfree_skb(fwd_skb); in ieee80211_rx_mesh_data()
2960 ieee80211_add_pending_skb(local, fwd_skb); in ieee80211_rx_mesh_data()