NDIS_IPSEC_OFFLOAD_V1 结构 (ntddndis.h)
NDIS_IPSEC_OFFLOAD_V1结构 (IPsec) 任务卸载NDIS_OFFLOAD结构中的信息提供 Internet 协议安全性。
语法
typedef struct _NDIS_IPSEC_OFFLOAD_V1 {
struct {
ULONG Encapsulation;
ULONG AhEspCombined;
ULONG TransportTunnelCombined;
ULONG IPv4Options;
ULONG Flags;
} Supported;
struct {
ULONG Md5 : 2;
ULONG Sha_1 : 2;
ULONG Transport : 2;
ULONG Tunnel : 2;
ULONG Send : 2;
ULONG Receive : 2;
} IPv4AH;
struct {
ULONG Des : 2;
ULONG Reserved : 2;
ULONG TripleDes : 2;
ULONG NullEsp : 2;
ULONG Transport : 2;
ULONG Tunnel : 2;
ULONG Send : 2;
ULONG Receive : 2;
} IPv4ESP;
} NDIS_IPSEC_OFFLOAD_V1, *PNDIS_IPSEC_OFFLOAD_V1;
成员
Supported
NDIS_IPSEC_OFFLOAD_V1 中的一个结构,指定对 IPsec 任务卸载的支持,并包含以下信息:
Supported.Encapsulation
IPsec 的封装设置。 有关此成员的详细信息,请参阅以下“备注”部分。
Supported.AhEspCombined
微型端口驱动程序设置的 ULONG 值,指示硬件可以对发送和接收数据包执行 IPsec 操作,这些数据包既包含身份验证标头 (AH) 安全有效负载,又包含封装安全有效负载 (ESP) 。 AhEspCombined 中的值为零表示 NIC 不支持此功能。
Supported.TransportTunnelCombined
微型端口驱动程序设置为指示 NIC 可以处理发送和接收数据包的传输模式部分和隧道模式部分的安全有效负载的 ULONG 值。 (数据包的传输模式部分与端到端连接相关。数据包的隧道模式部分与隧道连接相关。) TransportTunnelCombined 中的值为零表示 NIC 不支持此功能。
Supported.IPv4Options
微型端口驱动程序设置为指示 NIC 可以对 IP 标头包含 IP 选项的 IPv4 发送和接收数据包执行 IPsec 操作的 ULONG 值。 IPv4Options 中的值为零表示 NIC 不支持此功能。
Supported.Flags
NIC 可以分析的 UDP 封装 ESP 数据包的类型。 有关 UDP 封装类型的说明,请参阅 UDP-ESP 封装类型。 此成员可以是以下一个或多个标志:
其 NIC 无法分析 UDP 封装的 ESP 数据包的微型端口驱动程序不得在 Flags 成员中设置任何标志。
IPv4AH
NDIS_IPSEC_OFFLOAD_V1中的一个结构,指定对 AH 有效负载的支持并包含以下信息:
IPv4AH.Md5
微型端口驱动程序设置为指示 NIC 可以使用密钥 MD5 算法来计算或验证 AH 有效负载和/或 ESP 有效负载的加密校验和的 ULONG 值。
IPv4AH.Sha_1
微型端口驱动程序设置为指示 NIC 可以使用 SHA 1 算法计算或验证 AH 有效负载和/或 ESP 有效负载的加密校验和的 ULONG 值。
IPv4AH.Transport
微型端口驱动程序设置的 ULONG 值,指示 NIC 可以计算或验证与端到端连接相关的数据包部分的加密校验和。
IPv4AH.Tunnel
微型端口驱动程序设置为指示 NIC 可以计算或验证与隧道连接相关的数据包部分的加密校验和的 ULONG 值。
IPv4AH.Send
微型端口驱动程序设置为指示 NIC 可以计算发送数据包的加密校验和的 ULONG 值。
IPv4AH.Receive
微型端口驱动程序设置为指示 NIC 可以验证接收数据包的加密校验和的 ULONG 值。
IPv4ESP
NDIS_IPSEC_OFFLOAD_V1 中的一个结构,指定对 ESP 有效负载的支持,并包含以下信息:
IPv4ESP.Des
微型端口驱动程序设置为指示 NIC 支持用于加密和解密 ESP 有效负载的 DES 算法的 ULONG 值。
IPv4ESP.Reserved
此成员是保留的。
IPv4ESP.TripleDes
微型端口驱动程序设置的 ULONG 值,指示 NIC 支持用于加密和解密 ESP 有效负载的三重 DES 算法。
IPv4ESP.NullEsp
微型端口驱动程序设置为指示 NIC 支持 null 加密的 ULONG 值,即不加密但具有身份验证信息的 ESP 有效负载。
IPv4ESP.Transport
微型端口驱动程序设置的 ULONG 值,指示 NIC 可以加密和解密与端到端连接相关的数据包部分的 ESP 数据。
IPv4ESP.Tunnel
微型端口驱动程序设置的 ULONG 值,指示 NIC 可以加密和解密与隧道连接相关的数据包部分的 ESP 数据。
IPv4ESP.Send
微型端口驱动程序设置为指示 NIC 可以加密和解密发送数据包中的 ESP 有效负载的 ULONG 值。
IPv4ESP.Receive
微型端口驱动程序设置为指示 NIC 可以加密和解密接收数据包中的 ESP 有效负载的 ULONG 值。
注解
NDIS_IPSEC_OFFLOAD_V1 结构在 NDIS_OFFLOAD 结构的 IPsecV1 成员中使用。 NDIS_IPSEC_OFFLOAD_V1 结构指定微型端口适配器为 Internet 协议安全性提供的当前或受支持的服务 (IPsec) 。
NDIS_OFFLOAD 用于 NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 结构、 NDIS_BIND_PARAMETERS 结构、 NDIS_FILTER_ATTACH_PARAMETERS 结构, OID_TCP_OFFLOAD_CURRENT_CONFIG OID 和 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状态指示。
对于OID_TCP_OFFLOAD_CURRENT_CONFIG,NDIS_OFFLOAD结构指定微型端口适配器支持的任务卸载功能。 如果当前卸载功能发生更改,微型端口驱动程序会报告 中的新功能 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状态指示。
NDIS_IPSEC_OFFLOAD_V1 的封装成员定义微型端口适配器的 IPsec 卸载封装设置。
响应 OID_TCP_OFFLOAD_CURRENT_CONFIG 查询请求,NDIS 在封装成员中提供封装标志的按位 OR,指示支持的 封装 设置。 微型端口驱动程序必须提供以太网封装 (NDIS_ENCAPSULATION_IEEE_802_3) 。 其他类型的封装是可选的。
对于 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状态指示,微型端口驱动程序在 封装成员中 提供封装标志的按位 OR,指示当前功能。
为 封装 成员定义了以下标志:
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 中受支持。 |
标头 | ntddndis.h (包括 Ndis.h) |