在上Layer-Protocol标头的开头拆分帧
上层协议是 IP 传输协议,例如 TCP、UDP 或 ICMP。
注意 在标头数据拆分要求中,IPsec 不被视为上层协议。 有关拆分 IPsec 帧的详细信息,请参阅 拆分 IPsec 帧。
如果 NIC 在上层协议标头的开头拆分以太网帧,则指示 NET_BUFFER 必须恰好包含两个 MDL。 第一个 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 不得拆分帧。 有关在超过最大标头大小时拆分帧的详细信息,请参阅 分配标头缓冲区。