Compartilhar via


Considerações sobre programação para drivers RSC

As seções a seguir descrevem problemas a serem considerados ao implementar um driver de miniporta compatível com RSC (união de segmento de recebimento).

Respondendo a consultas para estatísticas de RSC

O NDIS, os drivers sobrepostos e os aplicativos de modo de usuário usam o OID do OID_TCP_RSC_STATISTICS para obter as estatísticas de RSC de um adaptador de miniporta. Os drivers de miniporto compatíveis com RSC devem dar suporte a esse OID.

Pacotes TCP encaminhados

O driver de miniporta não deve executar RSC em segmentos em pacotes TCP que não se destinam ao host, mas estão sendo encaminhados para outra interface.

A pilha TCP/IP do host desabilitará o RSC em qualquer interface que tenha o encaminhamento habilitado. O encaminhamento de host fraco não afeta a RSC.

Suporte de RSC para filtros leves e drivers intermediários MUX

Todos os drivers de filtro leve NDIS 6.30 devem dar suporte a pacotes de recebimento maiores que a MTU (unidade de transmissão máxima) de link. Para obter mais informações sobre os limites de tamanho do segmento, consulte Indicando segmentos unidos.

O NDIS desabilitará o RSC em uma interface se qualquer driver de filtro leve ou driver intermediário MUX na pilha de host for NDIS 6.20 ou inferior.

Um driver intermediário do MUX pode desabilitar o RSC em uma interface, mesmo que a versão NDIS da interface seja 6.30 ou superior.

Drivers de inspeção e texto explicativo da WFP (Plataforma de Filtragem do Windows)

Os drivers de texto explicativo do WFP fornecem funcionalidade de filtragem adicional adicionando funções de texto explicativo personalizadas ao mecanismo de filtro em uma ou mais das camadas de filtragem do modo kernel. Os textos explicativos dão suporte à inspeção profunda e ao pacote, bem como à modificação de fluxo.

Os drivers de texto explicativo do WFP podem dar suporte ao tratamento de pacotes de recebimento de suporte maiores que a MTU de link. (Para obter mais informações sobre limites de tamanho de pacote, consulte Acompanhamento e indicação de segmentos coalesced.) Esses drivers de texto explicativo do WFP devem fazer o seguinte:

  • Aceite durante o registro para lidar com pacotes grandes.

  • Defina o sinalizador de driver de texto explicativo conforme especificado na página de referência da estrutura FWPS_CALLOUT2 .

Sempre que um driver de texto explicativo que não optou por lidar com pacotes grandes for registrado, o WFP notificará TCP/IP no contexto do registro. Como parte do tratamento dessa notificação, o TCP/IP desabilitará o RSC na interface.

Se houver tráfego TCP ativo durante o registro de texto explicativo, o TCP/IP notificará o WFP. O WFP atrasará a chamada dos filtros registrados até que o RSC seja desabilitado. Isso protegerá os drivers de texto explicativo de pacotes grandes.