From mboxrd@z Thu Jan 1 00:00:00 1970 From: lxlenovostar@gmail.com (lx) Date: Fri, 18 Jul 2014 17:04:38 +0800 Subject: hi , question function of net_rx(struct net_device *dev) Message-ID: <53C8E326.5080805@gmail.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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 ? Thank you.