免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1419 | 回复: 0
打印 上一主题 下一主题

[网络子系统] iptables中,为何要对指定表的所有链路按name进行排序?求指导。 [复制链接]

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:57:09C
日期:2016-10-25 16:17:59
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-23 10:52 |只看该作者 |倒序浏览
版本:iptc-1.2.7
函数名称为populate_cache()
static int populate_cache(TC_HANDLE_T h)
392 {
393     unsigned int i;
394     STRUCT_ENTRY *prev;
395
396     /* # chains < # rules / 2 + num builtins - 1 */
397     h->cache_chain_heads = malloc((h->new_number / 2 + 4)
398                       * sizeof(struct chain_cache));
399     if (!h->cache_chain_heads) {
400         errno = ENOMEM;
401         return 0;
402     }
403
404     h->cache_num_chains = 0;
405     h->cache_num_builtins = 0;
406
407     /* Count builtins */
408     for (i = 0; i < NUMHOOKS; i++) {
409         if (h->info.valid_hooks & (1 << i))
410             h->cache_num_builtins++;     ------------------这里就计算出了当前内核中指定表的链路数目
411     }
412
413     prev = NULL;
414     ENTRY_ITERATE(h->entries.entrytable, h->entries.size,
415               add_chain, h, &prev);
416
417     qsort(h->cache_chain_heads + h->cache_num_builtins,   -----------为啥要排序?排序的基地址为啥不是第一条链路
418           h->cache_num_chains - h->cache_num_builtins,                     ----h->cache_chain_heads,而是最后一条链
419           sizeof(struct chain_cache), alphasort);                                        ----路???
420  
421     return 1;
422 }
研究过的帮忙指导下,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP