红联Linux门户
Linux帮助

2.6.34内核里面的TCP/IP源码的疑问

发布时间:2010-11-04 11:13:08来源:红联作者:lantian0811
[i=s] 本帖最后由 lantian0811 于 2010-11-4 11:14 编辑 [/i]

在ip_rcv这个函数是处理接受的封包
int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt,
struct net_device *orig_dev)
{
struct iphdr *iph;
u32 len;

if (skb->pkt_type == PACKET_OTHERHOST)//如果这个封包不是给自己的就丢弃
goto drop;

IP_UPD_PO_STATS_BH(dev_net(dev), IPSTATS_MIB_IN, skb->len);//这个接口很是陌生,在网上查也没查到是什么?请高手指点啊!
if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) //检查这个缓冲区是否还有别的引用
{
IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_INDISCARDS);//这个接口也不知道是什么意思??高手指点
goto out;
}
红色部分请高手来指点啊!!!
文章评论

共有 2 条评论

  1. 123662981 于 2011-07-03 15:34:33发表:

    不懂,帮顶

  2. vtitle 于 2010-11-04 15:00:26发表:

    不懂,帮顶