在上端 Layer-Protocol 标头的开头拆分帧

上层协议是 IP 传输协议,例如 TCP、UDP 或 ICMP。

注意 在标头中,IPsec 不被视为数据拆分要求的上层协议。 有关拆分 IPsec 帧的详细信息,请参阅 拆分 Ipsec 帧

如果 NIC 在上层协议标头的开头拆分了一个以太网帧,则指示 NET_BUFFER 必须正好包含两个 MDLs。 第一个 MDL 描述的缓冲区必须以 (MAC 标头的以太网帧的第一个字节开头) 并且第二个 MDL 描述的缓冲区必须从上层协议标头的第一个字节开始。

注意 NIC 可以在 TCP 或 UDP 有效负载处拆分 TCP 和 UDP 帧。 有关详细信息,请参阅在 TCP 负载处拆分帧在 UDP 负载处拆分帧

如果标头-数据拆分提供程序拆分位于上层协议标头开头的帧,则指示 NET_BUFFER_LIST 结构必须在 NblFlags 成员中设置 NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER 标志。 有关设置标头-数据拆分 NET_BUFFER_LIST 标志的详细信息,请参阅 设置 NET_BUFFER_LIST 信息

如果生成的标头缓冲区的长度大于最大标头大小,则 NIC 不得拆分帧。 有关超出最大标头大小时拆分框架的详细信息,请参阅 分配标头缓冲区