On 06.06.2016 12:59, Corcodel Marian wrote:
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 = ""> dma_sync_single_for_cpu(d, addr, pkt_size, DMA_FROM_DEVICE);
skb = netdev_alloc_skb_ip_align(tp->dev, pkt_size);
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