Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O transporte TCP/IP do Windows suporta um conjunto de requisitos para o envio de quadros Ethernet. Qualquer driver (por exemplo, um driver intermediário MUX ou driver de filtro) que origine solicitações de envio ou modifique as solicitações de envio de drivers sobrepostos deve suportar os requisitos implementados pelo transporte TCP/IP.
Observação Se algum driver em uma pilha de drivers não seguir esses requisitos, os drivers de miniporta subjacentes, os drivers intermediários MUX e os drivers de filtro podem se comportar de forma imprevisível.
Para solicitações de envio Ethernet, os drivers devem suportar estes requisitos:
Se um driver origina uma solicitação de envio, este deve alocar uma estrutura NET_BUFFER_LIST para os quadros Ethernet. O membro do NetBufferListInfo em cada estrutura NET_BUFFER_LIST deve incluir os dados fora de banda (OOB) necessários para o uso específico. Os dados OOB aplicam-se a todas as estruturas de NET_BUFFER associadas a uma estrutura NET_BUFFER_LIST.
Se um driver originar uma solicitação de envio, o driver deve alocar uma ou mais estruturas NET_BUFFER para os quadros Ethernet e vincular essas estruturas à estrutura NET_BUFFER_LIST. Cada estrutura NET_BUFFER que está ligada a uma estrutura NET_BUFFER_LIST descreve um único quadro Ethernet. O driver pode encadear várias estruturas NET_BUFFER_LIST em uma solicitação de envio.
Todas as estruturas NET_BUFFER associadas a uma estrutura NET_BUFFER_LIST devem ter o mesmo tipo de quadro Ethernet e a mesma versão do protocolo IP (IPv4 ou IPv6).
Todas as estruturas NET_BUFFER associadas a uma estrutura NET_BUFFER_LIST devem ter os mesmos endereços MAC de origem e destino.
Se um driver estiver enviando quadros TCP ou UDP, todas as estruturas NET_BUFFER associadas a uma estrutura NET_BUFFER_LIST deverão ser associadas à mesma conexão TCP ou UDP. Nota Sujeito aos seguintes requisitos, os quadros Ethernet transmitidos podem ser divididos. Ou seja, várias listas de descritores de memória (MDLs) podem ser associadas a uma estrutura de NET_BUFFER em uma solicitação de envio.
Não divida o cabeçalho MAC do quadro Ethernet de transmissão em várias MDLs. Trate o sinalizador de LAN virtual (VLAN) (ou prioridade), se presente, como parte do cabeçalho MAC. Portanto, esse sinalizador deve estar no mesmo MDL que o resto do cabeçalho MAC.
Se um driver alterar os links na cadeia MDL numa estrutura NET_BUFFER ou a cadeia de NET_BUFFER numa estrutura NET_BUFFER_LIST, o driver deve restaurar os links para a configuração original antes de devolver a propriedade do NET_BUFFER_LIST a um driver superior. No entanto, os drivers não são obrigados a restaurar os links entre as estruturas NET_BUFFER_LIST.