netfilter 锁开销_netfilter_netfilter 无锁(8)

电脑杂谈  发布时间:2017-02-27 02:09:24  来源:网络整理

static void

save(const struct ipt_ip *ip, const struct ipt_entry_target*target)

{

const struct ipt_id_target_info *idinfo =

(const struct ipt_id_target_info *)target->data;

printf("--set-id 0x%x ", ntohs(idinfo->id));

}

static

struct iptables_target id

= { NULL,

"ID",

IPTABLES_VERSION,

IPT_ALIGN(sizeof(structipt_id_target_info)),

IPT_ALIGN(sizeof(structipt_id_target_info)),

&help,

&init,

&parse,

&final_check,

&print,

&save,

opts

};

void _init(void)

{

register_target(&id);

}

4. 结论

netfilter/iptables可以很方便地扩展新的目标模块,只需要按指定的方式编写代码就可以,让开发者将注意力集中在功能的具体实现上,而不用再考虑其他因素,在具体实现时可以以现成的目标模块为基础进行修改即可,甚至不需要更仔细了解内部结构的定义就可以完成编码,是一个程序模块化的很优秀的实现例子。在netfilter官方网站( )上提供patch-o-matic程序包,其中包含了许多爱好者编写的未并入Linux官方内核中的匹配和目标模块。netfilter

发表于 @ 2009年09月13日00:30:00||


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-34719-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...