Visão geral da divisão de quadros Ethernet

Esta seção descreve os requisitos específicos de divisão de dados de cabeçalho que se aplicam a provedores de divisão de dados de cabeçalho, dependendo do tipo de quadro Ethernet que o provedor está dividindo.

Nota Depois de ler os requisitos gerais neste tópico, você pode usar os tópicos subsequentes para entender os requisitos específicos para cada tipo de quadro Ethernet. Os tópicos posteriores se baseiam nos requisitos nos tópicos anteriores. Por exemplo, se um quadro contiver informações de IPv4 e UDP, você deverá ler os tópicos Divisão de Quadros E Divisão de Quadros IPv4no Conteúdo UDP .

Se o provedor de divisão de dados de cabeçalho dividir um quadro em conformidade com os requisitos de divisão de dados de cabeçalho, as estruturas de NET_BUFFER_LIST indicadas deverão ter o sinalizador NDIS_NBL_FLAGS_HD_SPLIT definido no membro NblFlags . Se o provedor de divisão de dados de cabeçalho não dividir um quadro, o quadro deverá ser indicado com os seguintes sinalizadores limpos em NblFlags :

  • NDIS_NBL_FLAGS_HD_SPLIT

  • NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER

  • NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD

Para obter mais informações sobre como definir sinalizadores de divisão de dados de cabeçalho NET_BUFFER_LIST e outros requisitos de indicação de recebimento, consulte Receber Indicações com Header-Data Dividir.

Há casos em que um provedor de divisão de dados de cabeçalho pode dividir um quadro recebido fora dos requisitos do provedor de divisão de dados de cabeçalho. Nesses casos, o provedor nunca deve dividir quadros Ethernet no meio do cabeçalho IP, opções IPv4, cabeçalhos IPsec, cabeçalhos de extensão IPv6 ou cabeçalhos de protocolo de camada superior, a menos que o primeiro MDL contenha pelo menos tantos bytes quanto o NDIS especificado para o tamanho do lookahead. Para obter mais informações sobre o tamanho do lookahead, consulte OID_GEN_CURRENT_LOOKAHEAD.

Esta seção inclui:

Divisão de quadros IPv4

Divisão de quadros IPv6

Divisão de quadros IP fragmentados

Divisão de quadros no início dos cabeçalhos de protocolo de camada superior

Divisão de quadros no conteúdo TCP

Divisão de quadros no conteúdo UDP

Divisão de quadros diferentes de TCP e UDP