नोट
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप साइन इन करने या निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
A header-data split provider must set the header-data split flags in the NblFlags member of the NET_BUFFER_LIST structures for receive indications. For split frames, a NIC must also provide the physical address of the data portion of the received frame in the DataPhysicalAddress member of each NET_BUFFER structure.
Note A miniport driver can set the DataPhysicalAddress member of the NET_BUFFER structure, even if the NET_BUFFER is not associated with a split frame. In this case, DataPhysicalAddress contains the physical address of the header MDL.
The header-data split provider combines the flags in the NblFlags member with a bitwise OR operation.
The header-data split provider can set the following flags even if it does not split a frame:
NDIS_NBL_FLAGS_IS_IPV4
All of the frames in the NET_BUFFER_LIST are IPv4 frames. If this flag is set, the NDIS_NBL_FLAGS_IS_IPV6 flag must not be set.
NDIS_NBL_FLAGS_IS_IPV6
All of the frames in the NET_BUFFER_LIST are IPv6 frames. If this flag is set, the NDIS_NBL_FLAGS_IS_IPV4 flag must not be set.
NDIS_NBL_FLAGS_IS_TCP
All of the frames in the NET_BUFFER_LIST are TCP frames. If this flag is set, NDIS_NBL_FLAGS_IS_UDP must not be set. And either NDIS_NBL_FLAGS_IS_IPV4 or NDIS_NBL_FLAGS_IS_IPV6 must be set.
NDIS_NBL_FLAGS_IS_UDP
All of the frames in the NET_BUFFER_LIST are UDP frames. If this flag is set, NDIS_NBL_FLAGS_IS_TCP must not be set. And either NDIS_NBL_FLAGS_IS_IPV4 or NDIS_NBL_FLAGS_IS_IPV6 must be set.
Any NDIS driver can set the preceding flags for debugging, testing, or other purposes. If a driver sets these flags, the values must accurately describe the contents of the received frame. Setting these flags is recommended.
The header-data split provider can set the following header-data split flags:
NDIS_NBL_FLAGS_HD_SPLIT
The header and data are split in all of the Ethernet frames that are associated with the NET_BUFFER_LIST structure.
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER
All of the frames in the NET_BUFFER_LIST structure are split at the beginning of the upper-layer-protocol header. If this flag is set, either NDIS_NBL_FLAGS_IS_IPV4 or NDIS_NBL_FLAGS_IS_IPV6 must be set. Also, either NDIS_NBL_FLAGS_IS_TCP or NDIS_NBL_FLAGS_IS_UDP can be set. And NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD must not be set.
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD
All of the frames in a NET_BUFFER_LIST structure are split at the beginning of the TCP payload or beginning of the UDP payload. If this flag is set, either NDIS_NBL_FLAGS_IS_IPV4 or NDIS_NBL_FLAGS_IS_IPV6 must be set. Either NDIS_NBL_FLAGS_IS_TCP or NDIS_NBL_FLAGS_IS_UDP must be set. Also, NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER must not be set.
If the header-data split provider does not split a frame, the frame must be indicated with the following flags cleared in NblFlags :
NDIS_NBL_FLAGS_HD_SPLIT
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD