最近在研究如何将开源的sip alg切换到内核态,基本算是成功了,在这里将所需要的知识和遇到的坑简单梳理一下。按照如下表格所述修改,基本上就已经启用内核态的sip alg了。
内核版本 | 4.14 |
涉及的文件 | nf_conntrack_sip.c nf_nat_sip.c |
编译依赖关系 | \linux-4.14.158\net\netfilter\Kconfig NF_CONNTRACK_SIP NF_NAT_SIP |
开宏的位置 | \linux-4.14.158\arch\arm64\configs\defconfig |
后面打算从以下几个方面写一写,先列个提纲:
-
为什么需要sip alg
-
netfilter框架介绍
-
nf_conntrack_sip.c 代码走读
-
nf_nat_sip.c 代码走读
-
如何实现功能