hi , question function of net_rx(struct net_device *dev)

Denis Kirjanov kirjanov at gmail.com
Fri Jul 18 06:05:38 EDT 2014


On 7/18/14, lx <lxlenovostar at gmail.com> wrote:
> hi :
>      the source code of net_rx(struct net_device *dev) is:
> http://lxr.oss.org.cn/source/drivers/net/ethernet/cirrus/cs89x0.c#L670
>
> I can't understand codes about malloc buffer.
> ##########################################
> 684         /* Malloc up new buffer. */
> 685         skb = netdev_alloc_skb(dev, length + 2);
> 686         if (skb == NULL) {
> 687                 dev->stats.rx_dropped++;
> 688                 return;
> 689         }
> 690         skb_reserve(skb, 2);    /* longword align L3 header */
> ##########################################
>
> How to explain 'length + 2' in line of 685? Why add 2 ?

That's why it's explained on the line 690.
http://lwn.net/Articles/89597/


> Thank you.
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>


-- 
Regards,
Denis



More information about the Kernelnewbies mailing list