On 06.06.2016 12:59, Corcodel Marian wrote:
Hi
Why sk_buff have memory allocated on hardware drivers on majority nic drivers?
 This is wrong on rx mode look like:

    struct sk_buff *skb;
    struct device *d = &tp->pci_dev->dev;

    data = rtl8169_align(data);
    dma_sync_single_for_cpu(d, addr, pkt_size, DMA_FROM_DEVICE);
    prefetch(data);
    skb = netdev_alloc_skb_ip_align(tp->dev, pkt_size);
    if (skb)
        memcpy(skb->data, data, pkt_size);
    dma_sync_single_for_device(d, addr, pkt_size, DMA_FROM_DEVICE);

sk_buff is allocated on place tx mode
and on start_xmit no need to keep sk_buff on hardware structure because any info is extracted from
 next level of driver.


--
Visit my project 
https://sourceforge.net/projects/network-card-driver/?source=navbar

Reply via email to