免费注册 查看新帖 |

Chinaunix

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

[通信方式] 打上ipsec穿透补丁包问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-02-14 13:28 |只看该作者 |倒序浏览
内核打了 ipsec穿透补丁包ipsec_nat_traversal.patch 后,编译支持4G内存的运行是正常的,

但编译支持64G内存高端设备时,加载内核时直接报错。
Loading............................
Uncompressing Linux...

ran out of input data

-- System halted

就觉得很纳闷  以为是编译出错,重新编译还是一样。最后对补丁包代码一步步屏蔽测试。
发现时在udp.c这个文件的static int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb) 橙色代码段上

#if defined(CONFIG_KLIPS) && !defined(CONFIG_KLIPS_MODULE)
                       /* optomize only when we know it is statically linked */
                        extern struct inet_protocol esp_protocol;
                        esp = &esp_protocol;
        #else
                        for (esp = (struct inet_protocol *)inet_protos[IPPROTO_ESP & (MAX_INET_PROTOS - 1)];
                                (esp) && (esp->protocol != IPPROTO_ESP);
                                esp = esp->next);

        #endif

再缩小范围就是一开始获取esp指针,调用就出错了。也就是说esp是个野指针。

那为什么4G的就没有问题呢?大家有没有遇到这个问题。请赐教。谢谢各位大侠啦

论坛徽章:
0
2 [报告]
发表于 2014-02-14 15:12 |只看该作者
没人知道吗?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
3 [报告]
发表于 2014-02-14 15:52 |只看该作者
回复 1# maixl
内核打了 ipsec穿透补丁包ipsec_nat_traversal.patch 后,编译支持4G内存的运行是正常的,


你的内核得多老啊? 两年前搞2.6.24内核的ipsec时候,就可以实现nat穿透,不需要打patch啊

   

论坛徽章:
0
4 [报告]
发表于 2014-02-14 17:36 |只看该作者
我的是2.4版本的 2.4.32  没办法 改不了 内核版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP