net, xdp: Introduce xdp_prepare_buff utility routine
[linux-2.6-microblaze.git] / drivers / net / veth.c
index 25f3601..99caae7 100644 (file)
@@ -710,15 +710,11 @@ static struct sk_buff *veth_xdp_rcv_skb(struct veth_rq *rq,
                skb = nskb;
        }
 
-       xdp.data_hard_start = skb->head;
-       xdp.data = skb_mac_header(skb);
-       xdp.data_end = xdp.data + pktlen;
-       xdp.data_meta = xdp.data;
-
        /* SKB "head" area always have tailroom for skb_shared_info */
-       frame_sz = (void *)skb_end_pointer(skb) - xdp.data_hard_start;
+       frame_sz = skb_end_pointer(skb) - skb->head;
        frame_sz += SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
        xdp_init_buff(&xdp, frame_sz, &rq->xdp_rxq);
+       xdp_prepare_buff(&xdp, skb->head, skb->mac_header, pktlen, true);
 
        orig_data = xdp.data;
        orig_data_end = xdp.data_end;