As a set, the TCP/IP transport uses the OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID to request that a miniport driver delete the specified security associations (SAs) from a NIC.

Note  NDIS supports this OID with the direct OID request interface. For more information about the direct OID request interface, see NDIS 6.1 Direct OID Request Interface.


All NDIS 6.1 miniport drivers that support IPsec offload version 2 (IPsecOV2) must support this OID.

When a miniport driver receives this request, the driver should delete the specified SAs from the NIC and free any system resources that were allocated for the SAs.

The miniport driver receives an IPSEC_OFFLOAD_V2_DELETE_SA structure that contains a handle to an SA bundle and a pointer to the next IPSEC_OFFLOAD_V2_DELETE_SA structure in a linked list.

The miniport driver can set SaDeleteReq in the NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO structure for a receive NET_BUFFER_LIST structure. The TCP/IP transport subsequently issues OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA once to delete the inbound SA that the packet was received over and once again to delete the outbound SA that corresponds to the deleted inbound SA. The NIC must not remove either of these SAs before receiving the corresponding OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA request.

Return status codes

The miniport driver's MiniportOidRequest function returns one of the following values for this request:



The miniport driver completed the request successfully.


The miniport driver will complete the request asynchronously. After the miniport driver has completed all processing, it must succeed the request by calling the NdisMOidRequestComplete function, passing NDIS_STATUS_SUCCESS for the Status parameter.


The miniport driver is resetting.


The miniport driver stopped processing the request. For example, NDIS called the MiniportResetEx function.




Supported in NDIS 6.1 and later.


Ntddndis.h (include Ndis.h)

See also




Send comments about this topic to Microsoft