1、在哪里给nf_conn添加helper扩展?
在主连接第一次进入init_conntrack时,在__nf_ct_try_assign_helper(ct, tmpl, GFP_ATOMIC_LEADSEC)中完成是否需要添加helper扩展;
2、依据什么条件才能给nf_conn添加helper扩展?
在__nf_ct_try_assign_helper函数中的__nf_ct_helper_find中,通过搜索nf_ct_helper_hash模块内全局变量;(nf_ct_helper_hash包含各协议注册的helper选项)
对比三层地址和协议号来确定是否需要扩展(nf_ct_tuple_src_mask_cmp函数)。
3、哪里创建了ct的expect子连接项
在ipv4_confirm中helper调用了对应的help函数(实际上就是各协议注册的help函数),创建了expect子连接。
help中的一个关键点是,在net->ct.expect_hash[h]插入了相应的nf_conntrack_expect项。
4、
阅读(1385) | 评论(0) | 转发(0) |