快速业务通道

2.6.21相比2.4.18内核机制变更

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-28

本人正在把2.4.18的网关,防火墙,等公司的代码从2.4.18移植到2.6.18linux内核上去.本日志会不断更新,希望能让同在进行2.4到2.6内核移植

的朋友们一些帮助.

IPMAC部分改动

1. 2.4内核:

Save_flags();保存标志

cli();关闭中断 拥有帝国一切,皆有可能。欢迎访问phome.net

Restore_flags();还原标志打开中断.

2.6内核中由:

local_irq_save(flags);

local_irq_restore(flags);

取代.功能完全一样.

要使用save_flags功能需要删除CONFIG_SMP 拥有帝国一切,皆有可能。欢迎访问phome.net

/include/linux/autoconf.h 2125行定义.

2. 修改后的nf_hook_ops结构体

static struct nf_hook_ops ipmac_rcv_ops= {

{NULL, NULL},

my_ipmac_rcv,

NULL, /2.4.18没有这个元素 拥有帝国一切,皆有可能。欢迎访问phome.net,2.6.21此参数原型为:struct module *owner;*

PF_INET,

NF_IP_PRE_ROUTING,

SE_PRI_PRERT_IPMAC_BIND

};

.3.

拥有帝国一切,皆有可能。欢迎访问phome.net 2.4 内核下,缺省情况时模块中的非静态全局变量及函数在模块加载后会输出到内核空间.2.6 内核下,缺省情况时模块中的非静态

全局变量及函数在模块加载后不会输出到内核空间,需要显式调用宏EXPORT_SYMBOL才能输出.在2.6 内核的模块下,EXPORT_N

拥有帝国一切,皆有可能。欢迎访问phome.netO_SYMBOLS宏的调用没有意义,是空操作.在同时支持2.4与2.6内核的设备驱动中,可以通过以下代码段来输出模块的内核符号


EXPORT_NO_SYMBOLS2.6.21内核中没有这个东西了.没有必要存在了,已近删除.

拥有帝国一切,皆有可能。欢迎访问phome.net

2.6.21内核中定义的.

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号