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 层协议变体的标志。 如果 NIC 支持 LSO,则必须设置 NetAdapterOffloadLayer4FlagTcpNoOptions
标志。 如果 NIC 支持 USO,则必须设置 NetAdapterOffloadLayer4FlagUdp
标志。
标志应为以下组合:
旗 | 描述 |
---|---|
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