A transport protocol sets OID_TCP_TASK_IPSEC_DELETE_UDPESP_SA to request that a miniport driver delete a UDP-ESP security association (SA) and, possibly, a parser entry from its NIC parser entry list. The SA and parser entry information is formatted as an OFFLOAD_IPSEC_DELETE_UDPESP_SA structure, which is defined as follows:
typedef struct _OFFLOAD_IPSEC_DELETE_UDPESP_SA {
HANDLE OffloadHandle;
HANDLE EncapTypeEntryOffldHandle
} OFFLOAD_IPSEC_DELETE_UDPESP_SA, *POFFLOAD_IPSEC_DELETE_UDPESP_SA;
The members of this structure contain the following information:
If the EncapTypeEntryOffldHandle is NULL, the miniport should delete the specified SA from the NIC and free any system resources allocated for the SA. If the EncapTypeEntryOffldHandle is non-NULL, the miniport should also delete the specified parser entry from the NIC's parser entry list.
Note that a transport protocol could request a miniport to delete an SA and/or parser entry before the miniport has completed adding that SA and/or parser entry. The miniport must therefore serialize the deletion operation with the addition operation.