您现在的位置: 爱51代码网 >> 范文 >> 文章正文
TIME_WAIT状态下对接收到的数据包如何处理
ck_established)(struct inet_timewait_death_row *, 
04.            struct sock *, __u16, struct inet_timewait_sock **), 
05.        void (*hash)(struct sock *sk)) 
06.{ 
07.    struct inet_hashinfo *hinfo = death_row->hashinfo; 
08.    const unsigned short snum = inet_sk(sk)->num; 
09.    struct inet_bind_hashbucket *head; 
10.    struct inet_bind_bucket *tb; 
11.    int ret; 
12.    struct net *net = sock_net(sk); 
13. 
14.    if (!snum) { 
15.        ...... 
16.    } 
17. 
18.    head = &hinfo->bhash[inet_bhashfn(net, snum, hinfo->bhash_size)]; 
19.    tb  = inet_csk(sk)->icsk_bind_hash; 
20.    spin_lock_bh(&head->lock); 
21.    if (sk_head(&tb->owners) == sk && !sk->sk_bind_node.next) { 
22.        hash(sk); 
23.        spin_unlock_bh(&head->lock); 
24.        return 0; 
25.    } else { 
26.        spin_unlock(&head->lock); 
27.        /* No definite answer... Walk to established hash table */ 
28.        ret = check_established(death_row, sk, snum, NULL); 
29.out: 
30.        local_bh_enable(); 
31.        return ret; 
32.    } 
33.} 
int __inet_hash_connect(struct inet_timewait_death_row *death_row,
        struct sock *sk, u32 port_offset,
        int (*check_established)(struct inet_timewait_death_row *,
            struct sock *, __u16, struct inet_timewait_sock **),
        void (*hash)(struct sock *sk))
{
    struct inet_hashinfo *hinfo = death_row->hashinfo;
    const unsigned short snum = inet_sk(sk)->num;
    struct inet_bind_hashbucket *head;
    struct inet_bind_bucket *tb;
    int ret;
    struct net *net = sock_net(sk);

    if (!snum) {
        ......
    }

    head = &hinfo->bhash[inet_bhashfn(net, snum, hinfo->bhash_size)];

 << 上一页  [11] [12] [13] [14] [15] 下一页

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    The layout of PID & PORT i
    hadoop核心逻辑shuffle代码分
    The layout of PID & PORT i
    The layout of PID & PORT i
    The layout of PID & PORT i
    MapReduce错误任务失败处理 
    Oracle恢复内部原理(介质恢
    在 Oracle 中如何确定远程 s
    为什么RHEL 6上没有ASMLIB?
    sharepoint 2010 获取用户信
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |