有没有用 ck-sources-2.6.19-ck2-r3 同时用 IPv6 的兄弟?[问题已解决]
时间:2007-01-15
来源:互联网
我 ck2-r2 和 ck2-r3 用同样的一个 .config 编译的,结果 ck2-r2 能正常接收 radvd 广播的 IPv6 前缀并配置 IPv6 地址和路由,同时使用 IPv6 网络正常;但是 ck2-r3 就不能配置 IPv6 地址和路由信息,表现为没有配置“可聚集全球单点传送地址”和默认路由,但是链路本地地址显示配置正常,ping6 ::1 则正常。
请问有没有人出现相关或相似问题?
附: IPv4 连接一切正常;ck-sources emerge 后只手工打过 reiser4 的 patch,但是查看过 reiser4 的 patch 未发现对网络部分的代码 patch。
请问有没有人出现相关或相似问题?
附: IPv4 连接一切正常;ck-sources emerge 后只手工打过 reiser4 的 patch,但是查看过 reiser4 的 patch 未发现对网络部分的代码 patch。




作者: yuxans 发布时间: 2007-01-15
用 radvdump 检测,能发现 radvd 广播的地址前缀及路由信息。
对比 genpatches-2.6.19-4.base.tar.bz2 genpatches-2.6.19-5.base.tar.bz2 发现 genpatches-2.6.19-5.base.tar.bz2 里关于网络部分比 genpatches-2.6.19-4.base.tar.bz2 多了 1001_linux-2.6.19.2.patch 里的一段:
对比 genpatches-2.6.19-4.base.tar.bz2 genpatches-2.6.19-5.base.tar.bz2 发现 genpatches-2.6.19-5.base.tar.bz2 里关于网络部分比 genpatches-2.6.19-4.base.tar.bz2 多了 1001_linux-2.6.19.2.patch 里的一段:
代码:
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index b312a5f..4b3ffc6 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -413,8 +413,6 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev) if (netif_carrier_ok(dev)) ndev->if_flags |= IF_READY; - /* protected by rtnl_lock */ - rcu_assign_pointer(dev->ip6_ptr, ndev); ipv6_mc_init_dev(ndev); ndev->tstamp = jiffies; @@ -425,6 +423,8 @@ static struct inet6_dev * ipv6_add_dev(struct net_device *dev) NULL); addrconf_sysctl_register(ndev, &ndev->cnf); #endif + /* protected by rtnl_lock */ + rcu_assign_pointer(dev->ip6_ptr, ndev); return ndev; }
作者: yuxans 发布时间: 2007-01-15
仔细分析 patch 会发现这个 patch 就是把 rcu_assign_pointer(dev->ip6_ptr, ndev); 这个函数的调用改动了位置(另一行是注释),把 addrconf.c 的 patch 撤销;重新编译 kernel,IPv6 功能正常了。
作者: yuxans 发布时间: 2007-01-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28