不管本地发送的还是转发的都将调用xfrm_lookup()。
xfrm_lookup() -> __xfrm_lookup() -> xfrm_sk_policy_lookup()查找策略,如果策略的action为XFRM_POLICY_ALLOW则 -> xfrm_find_bundle()查找是否存在bundle, 否则 -> xfrm_tmpl_resolve() -> xfrm_tmpl_resolve_one() -> xfrm_state_find() -> km_query() -> km->acquire()实际调用的是pfkey_send_acquire()通过PF_KEY2向应用层请求协商SA信息
xfrm_bundle_create() 经过处理后的skbuff的dst_output已经不再是原有的ip_output,而是根据查找的xfrm_state设置成具体的ah_output或者是esp_output
阅读(1121) | 评论(0) | 转发(0) |