Divisão de quadros no conteúdo TCP

Os adaptadores de miniporto NDIS que dão suporte à divisão de dados de cabeçalho devem dar suporte à divisão de quadros no cabeçalho de protocolo de camada superior para quadros TCP. No entanto, se o cabeçalho TCP não contiver nenhuma opção TCP, a NIC deverá dividir o quadro no início da carga TCP.

A NIC poderá não ser capaz de dividir um quadro TCP se o buffer de cabeçalho resultante tiver um comprimento maior que o tamanho máximo do cabeçalho. Para obter mais informações sobre como dividir quadros quando o tamanho máximo do cabeçalho for excedido, consulte Alocando o buffer de cabeçalho.

As NICs também devem dar suporte à divisão de cabeçalhos TCP com apenas a opção de carimbo de data/hora. Ou seja, a opção de carimbo de data/hora é a única opção TCP obrigatória. Caso contrário, o suporte para cabeçalhos TCP com opções TCP é opcional. Se o cabeçalho TCP de um quadro contiver uma opção TCP não reconhecida, a NIC deverá dividir o quadro no início do cabeçalho TCP (ou seja, no cabeçalho de protocolo de camada superior) ou não dividir o quadro.

Nota Dar suporte a uma opção IPv4, um cabeçalho de extensão IPv6 ou uma opção TCP, para fins de requisitos de cabeçalho-dados, implica a capacidade da NIC de reconhecer o elemento, determinar seu comprimento, incluí-lo no cabeçalho MDL e localizar seu final e o início do próximo elemento no quadro.

Para obter mais informações sobre como dividir quadros no início do cabeçalho de protocolo de camada superior, consulte Divisão de quadros no início dos cabeçalhos de protocolo de camada superior.

Se o provedor de divisão de dados de cabeçalho dividir o quadro na carga TCP, as estruturas de NET_BUFFER_LIST indicadas deverão ter os sinalizadores NDIS_NBL_FLAGS_IS_TCP e NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD definidos no membro NblFlags . Para obter mais informações sobre como definir sinalizadores de divisão de dados de cabeçalho NET_BUFFER_LIST, consulte Configurando informações de NET_BUFFER_LIST.