NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES 结构 (netadapteroffload.h)
NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES结构描述了网络接口卡 (NIC) 通用分段卸载 (GSO) 的功能。
语法
typedef struct _NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES {
ULONG Size;
NET_ADAPTER_OFFLOAD_LAYER3_FLAGS Layer3Flags;
NET_ADAPTER_OFFLOAD_LAYER4_FLAGS Layer4Flags;
UINT16 Layer4HeaderOffsetLimit;
SIZE_T MaximumOffloadSize;
SIZE_T MinimumSegmentCount;
PFN_NET_ADAPTER_OFFLOAD_SET_GSO EvtAdapterOffloadSetGso;
} NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES;
成员
Size
此结构的大小(以字节为单位)。
Layer3Flags
指定 NIC 可以成功执行 GSO 的第 3 层协议变体的标志。
标志应为以下项的组合:
标志 | 描述 |
---|---|
NetAdapterOffloadLayer3FlagIPv4NoOptions | 设置 NIC 是否能够在没有选项的情况下对 IPv4 数据包执行 GSO |
NetAdapterOffloadLayer3FlagIPv4WithOptions | 使用选项设置 NIC 是否能够对 IPv4 数据包执行 GSO |
NetAdapterOffloadLayer3FlagIPv6NoExtensions | 设置 NIC 是否能够在没有扩展的 IPv6 数据包上执行 GSO |
NetAdapterOffloadLayer3FlagIPv6WithExtensions | 设置 NIC 是否能够对具有扩展的 IPv6 数据包执行 GSO |
Layer4Flags
指定 NIC 可以成功执行 GSO 的第 4 层协议变体的标志。 NetAdapterOffloadLayer4FlagTcpNoOptions
如果 NIC 支持 LSO,则必须设置 标志。 NetAdapterOffloadLayer4FlagUdp
如果 NIC 支持 USO,则必须设置标志。
标志应为以下项的组合:
标志 | 描述 |
---|---|
NetAdapterOffloadLayer4FlagTcpNoOptions | 设置 NIC 是否能够在没有选项的情况下对 TCP 数据包执行 LSO |
NetAdapterOffloadLayer4FlagTcpWithOptions | 使用选项设置 NIC 是否能够对 TCP 数据包执行 LSO |
NetAdapterOffloadLayer4FlagUdp | 设置 NIC 是否能够对 UDP 数据包执行 USO |
Layer4HeaderOffsetLimit
NIC 支持的最大第 4 层标头偏移量(以字节为单位)。 此字段是可选的。
MaximumOffloadSize
传输在单个数据包中可以传递到 NIC 驱动程序的最大用户数据字节数。
MinimumSegmentCount
大型 TCP/UDP 数据包必须被分割的最小段数,传输才能将其卸载到硬件进行分段。
EvtAdapterOffloadSetGso
指向客户端驱动程序实现 EVT_NET_ADAPTER_OFFLOAD_SET_GSO 回调函数的指针。
注解
调用 NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES_INIT 以初始化此结构。 客户端驱动程序将初始化 的 NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES 结构作为参数传递给 NetAdapterOffloadSetGsoCapabilities。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11 |
最低受支持的服务器 | Windows Server 2022 |
最低 KMDF 版本 | 1.29 |
最低 UMDF 版本 | 2.33 |
标头 | netadapteroffload.h (包括 netadaptercx.h) |
另请参阅
NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES_INIT