IPsec 卸载版本 2 简介
[IPsec 任务卸载功能已弃用,不应使用。]
IPsec 卸载版本 2 (IPsecOV2) 扩展了 IPsec 卸载版本 1 (IPsecOV1) 中提供的服务。 有关 IPsecOV1 卸载和 IPsec 的详细信息,请参阅 IPsec 卸载版本 1。
NDIS 6.1 及更高版本的微型端口驱动程序将微型端口适配器的 IPsecOV2 卸载功能报告给 NDIS。 报告 IPsec 功能:
在初始化期间,微型端口驱动程序在 NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 结构中报告任务卸载默认配置和微型端口适配器的硬件功能。
如果配置的功能发生更改,微型端口驱动程序会使用 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状态指示报告当前配置。 如果 OID_TCP_OFFLOAD_PARAMETERS OID 设置微型端口适配器的当前任务卸载配置,则配置可能会更改。 此外,如果 MUX 中间驱动程序 下的硬件配置发生更改,MUX 中间驱动程序必须使用 NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES 状态指示报告硬件配置更改。
NDIS 将微型端口适配器卸载功能的默认配置报告给 NDIS_BIND_PARAMETERS 结构中的过度协议驱动程序。 超载协议驱动程序可以从当前配置中支持的服务中选择 IPsecOV2 任务卸载服务。 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG状态指示可确保使用新功能信息更新所有过度覆盖的协议驱动程序。
在初始化期间报告硬件功能时,微型端口驱动程序必须从注册表中读取标准化关键字。 有关 IPsecOV2 卸载功能的详细信息,请参阅 报告 NIC 的 IPsec 卸载版本 2 功能。
注意 NDIS 为 NDIS 6.1 及更高版本的驱动程序提供直接 OID 请求接口。 直接 OID 请求路径支持经常查询或设置的 OID 请求。
IPsecOV2 提供 OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA、 OID_TCP_TASK_IPSEC_OFFLOAD_V2_UPDATE_SA和 OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 直接 OID 请求,使协议驱动程序能够 (SA) 添加、更新和删除安全关联。 有关 SA 的详细信息,请参阅 管理 IPsec 卸载版本 2 中的安全关联。
NIC 可以在发送和接收路径上执行 IPsec 卸载任务。 NDIS 驱动程序使用 NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO、 NDIS_IPSEC_OFFLOAD_V2_HEADER_NET_BUFFER_LIST_INFO 和 NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO 结构来访问 IPsec 带外 (OOB) 信息。
在发送路径上,覆盖驱动程序将句柄设置为 NET_BUFFER_LIST 结构中 OOB 信息中的出站 SA 和 IPsec 标头信息,以指定 NIC 应执行 IPsecOV2 卸载任务。
在接收路径上,卸载 SA 后,NIC 必须对所有接收的数据包执行 IPsec 处理,这些数据包与微型端口驱动程序向 NDIS 报告的功能相匹配。 微型端口驱动程序在 NET_BUFFER_LIST 结构的 OOB 信息中设置相应的标志,以指定 NIC 执行的特定卸载任务以及这些操作的结果。
有关 IPsecOV2 中的发送和接收处理的详细信息,请参阅使用 IPsec 卸载版本 2 发送网络数据和使用 IPsec 卸载版本 2 接收网络数据。