Re: About structure sk_buff

2016-06-06 Thread Grant Grundler
On Mon, Jun 6, 2016 at 3:10 AM, Corcodel Marian 
wrote:

>
>
> On 06.06.2016 12:59, Corcodel Marian wrote:
>
>> Hi
>> Why sk_buff  have memory allocated on hardware drivers on majority nic
>> drivers?
>>
>
This seems like an appropriate question for netdev mailing list:
 http://vger.kernel.org/vger-lists.html#netdev

(Tip: explain in more detail what you think is wrong with "rx mode" and
someone should be polite enough to point out why it works. Offhand, I don't
quite understand what you are trying to point out.)

cheers,
grant

 This is wrong on rx mode look like:
>>
>> struct sk_buff *skb;
>> struct device *d = >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
>
>


Re: About structure sk_buff

2016-06-06 Thread Corcodel Marian



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 = >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