NDIS_TCP_IP_CHECKSUM_OFFLOAD struttura (ntddndis.h)

La struttura NDIS_TCP_IP_CHECKSUM_OFFLOAD fornisce informazioni sull'offload dell'attività checksum nella struttura NDIS_OFFLOAD .

Sintassi

typedef struct _NDIS_TCP_IP_CHECKSUM_OFFLOAD {
  struct {
    ULONG Encapsulation;
    ULONG IpOptionsSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
    ULONG IpChecksum : 2;
  } IPv4Transmit;
  struct {
    ULONG Encapsulation;
    ULONG IpOptionsSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
    ULONG IpChecksum : 2;
  } IPv4Receive;
  struct {
    ULONG Encapsulation;
    ULONG IpExtensionHeadersSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
  } IPv6Transmit;
  struct {
    ULONG Encapsulation;
    ULONG IpExtensionHeadersSupported : 2;
    ULONG TcpOptionsSupported : 2;
    ULONG TcpChecksum : 2;
    ULONG UdpChecksum : 2;
  } IPv6Receive;
} NDIS_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_TCP_IP_CHECKSUM_OFFLOAD;

Members

IPv4Transmit

Struttura all'interno di NDIS_TCP_IP_CHECKSUM_OFFLOAD che specifica le informazioni di trasmissione IPv4 e che contiene i membri seguenti:

IPv4Transmit.Encapsulation

Impostazioni di incapsulamento per la trasmissione IPv4. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguenti.

IPv4Transmit.IpOptionsSupported

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum IP per un pacchetto di invio IPv4 che contiene opzioni IP o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Transmit.TcpOptionsSupported

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum TCP per un pacchetto di invio IPv4 che contiene opzioni TCP o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Transmit.TcpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum TCP per un pacchetto di invio IPv4. Il trasporto TCP/IP imposta questo valore per abilitare questa funzionalità o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Transmit.UdpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum UDP per un pacchetto di invio IPv4 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Transmit.IpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum IP per un pacchetto di invio IPv4 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Receive

Struttura all'interno di NDIS_TCP_IP_CHECKSUM_OFFLOAD che specifica le informazioni di ricezione IPv4 e che contiene i membri seguenti:

IPv4Receive.Encapsulation

Impostazioni di incapsulamento per la ricezione di IPv4. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguenti.

IPv4Receive.IpOptionsSupported

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può convalidare un checksum IP per un pacchetto di ricezione IPv4 che contiene opzioni IP o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Receive.TcpOptionsSupported

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum TCP per un pacchetto di ricezione IPv4 che contiene opzioni TCP o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Receive.TcpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può convalidare il checksum TCP per un pacchetto di ricezione IPv4 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Receive.UdpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può convalidare un checksum UDP del pacchetto di ricezione IPv4 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv4Receive.IpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può convalidare un checksum IP per un pacchetto di ricezione IPv4 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv6Transmit

Struttura all'interno di NDIS_TCP_IP_CHECKSUM_OFFLOAD che specifica le informazioni di trasmissione IPv6 e che contiene i membri seguenti:

IPv6Transmit.Encapsulation

Impostazioni di incapsulamento per la trasmissione IPv6. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguenti.

IPv6Transmit.IpExtensionHeadersSupported

Valore ULONG impostato da un driver miniport per indicare che l'adattatore miniport può calcolare i checksum nei pacchetti IPv6 che contengono intestazioni di estensione.

IPv6Transmit.TcpOptionsSupported

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum TCP per un pacchetto di invio IPv6 che contiene opzioni TCP o per indicare che questa funzionalità è abilitata o disabilitata.

IPv6Transmit.TcpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum TCP per un pacchetto di invio IPv6 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv6Transmit.UdpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum UDP per un pacchetto di invio IPv6 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv6Receive

Struttura all'interno di NDIS_TCP_IP_CHECKSUM_OFFLOAD che specifica le informazioni di ricezione IPv6 e che contiene i membri seguenti:

IPv6Receive.Encapsulation

Impostazioni di incapsulamento per la ricezione di IPv6. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguenti.

IPv6Receive.IpExtensionHeadersSupported

Valore ULONG impostato da un driver miniport per indicare che l'adattatore miniport può convalidare i checksum nei pacchetti IPv6 che contengono intestazioni di estensione.

IPv6Receive.TcpOptionsSupported

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può calcolare un checksum per un pacchetto di ricezione IPv6 la cui intestazione TCP contiene opzioni TCP o per indicare che questa funzionalità è abilitata o disabilitata.

IPv6Receive.TcpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può convalidare il checksum TCP di un pacchetto di ricezione IPv6 o per indicare che questa funzionalità è abilitata o disabilitata.

IPv6Receive.UdpChecksum

Valore ULONG impostato da un driver miniport per indicare che un adattatore miniport può convalidare un checksum UDP per un pacchetto di ricezione IPv6 o per indicare che questa funzionalità è abilitata o disabilitata.

Commenti

La struttura NDIS_TCP_IP_CHECKSUM_OFFLOAD viene usata nel membro Checksum della struttura NDIS_OFFLOAD . La struttura NDIS_TCP_IP_CHECKSUM_OFFLOAD specifica i servizi correnti o supportati forniti da una scheda miniport per il calcolo di checksum IP, TCP o UDP (o tutti) per l'invio di pacchetti e la convalida di tali checksum per i pacchetti di ricezione.

NDIS_OFFLOAD viene usato nell'oggetto struttura NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , struttura NDIS_BIND_PARAMETERS , NDIS_FILTER_ATTACH_PARAMETERS struttura, OID_TCP_OFFLOAD_CURRENT_CONFIG OID e NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicazione dello stato.

Per OID_TCP_OFFLOAD_CURRENT_CONFIG, la struttura NDIS_OFFLOAD specifica le funzionalità di offload attività supportate da una scheda miniport. Se le funzionalità di offload correnti cambiano, un driver miniport segnala le nuove funzionalità in un NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicazione dello stato.

I membri di encapsulation di NDIS_TCP_IP_CHECKSUM_OFFLOAD definiscono le impostazioni di offload checksum per l'adattatore miniport.

In risposta a un OID_TCP_OFFLOAD_CURRENT_CONFIG richiesta di query, NDIS fornisce un or bit per bit dei flag di incapsulazione, che indicano le impostazioni di incapsulamento supportate, in ognuno dei membri dell'incapsulazione . I driver Miniport devono fornire incapsulamento Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Gli altri tipi di incapsulamento sono facoltativi.

Per un oggetto NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG'indicazione dello stato, il driver miniport fornisce un OR bit per bit dei flag di incapsulamento, che indicano le funzionalità correnti, in ognuno dei membri Dicapsulation .

I flag seguenti sono definiti per i membri di Encapsulation :

  • NDIS_ENCAPSULATION_NOT_SUPPORTED
    Specifica che non è supportato alcun offload di incapsulamento.
  • NDIS_ENCAPSULATION_NULL
    Specifica l'incapsulamento NULL.
  • NDIS_ENCAPSULATION_IEEE_802_3
    Specifica l'incapsulamento IEEE 802.3.
  • NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
    Specifica l'incapsulamento IEEE 802.3p e IEEE 802.3q.
  • NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
    Specifica che le impostazioni di incapsulazione IEEE 802.3p e IEEE 802.3q vengono specificate nel membro NetBufferListInfo di ogni struttura NET_BUFFER_LIST.
  • NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
    Specifica l'incapsulamento logico (LLC) per i protocolli indirizzati, come descritto in RFC 1483. Questo flag viene usato anche per indicare l'incapsulamento Ethernet LLC/SNAP.

Il significato dei valori nei membri IpOptionsSupported, TcpOptionsSupported, IpExtensionHeadersSupported, TcpChecksum, UdpChecksum e IpChecksum di NDIS_TCP_IP_CHECKSUM_OFFLOAD dipende dalla struttura di offload dell'attività. Questi membri possono avere uno dei valori seguenti:

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ntddndis.h (include Ndis.h)

Vedi anche

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG