NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 구조체(ndis.h)
[IPsec 작업 오프로드 기능은 더 이상 사용되지 않으며 사용해서는 안 됩니다.]
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 구조는 TCP/IP 전송에서 NIC로 인터넷 프로토콜 보안 오프로드 버전 2(IPsecOV2) 작업을 오프로드하는 데 사용되는 정보를 지정합니다.
구문
typedef struct _NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO {
union {
struct {
PVOID OffloadHandle;
} Transmit;
struct {
ULONG SaDeleteReq : 1;
ULONG CryptoDone : 1;
ULONG NextCryptoDone : 1;
ULONG Reserved : 13;
ULONG CryptoStatus : 16;
} Receive;
};
} NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO;
멤버
Transmit
다음 멤버를 포함하는 구조체입니다.
Transmit.OffloadHandle
전송(엔드투엔드) 연결에 대한 IPsec 페이로드가 하나만 있는 패킷에 대한 SA(아웃바운드 보안 연결)에 대한 핸들입니다.
Receive
다음 멤버를 포함하는 구조체입니다.
Receive.SaDeleteReq
설정된 경우 TCP/IP 전송이 를 발급해야 했음을 나타내는 ULONG 값입니다. OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID는 패킷이 수신된 인바운드 SA를 한 번 삭제하고 다시 한 번 삭제된 인바운드 SA에 해당하는 아웃바운드 SA를 삭제합니다. NIC(네트워크 인터페이스 카드)는 해당 OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 요청을 받기 전에 이러한 SAS 중 하나를 제거해서는 안 됩니다.
Receive.CryptoDone
ULONG 값은 설정 시 NIC가 수신 패킷에서 하나 이상의 IPsec 페이로드에 대해 IPsec 검사를 수행했음을 나타냅니다. 이 값이 지워지면 NIC가 패킷에 대해 IPsec 검사를 수행하지 않았음을 나타냅니다.
Receive.NextCryptoDone
설정된 경우 NIC가 수신 패킷의 터널 및 전송 부분 모두에서 IPsec 검사를 수행했음을 나타내는 ULONG 값입니다. CryptoDone 도 이 경우에 설정해야 합니다. NextCryptoDone 은 패킷에 터널 및 전송 IPsec 페이로드가 모두 있는 경우에만 설정됩니다. 그렇지 않으면 NextCryptoDone 이 0으로 설정됩니다.
Receive.Reserved
NDIS용으로 예약되었습니다.
Receive.CryptoStatus
수신 패킷에서 NIC가 수행했는지 IPsec이 확인한 결과입니다. 이 결과는 다음 값 중 하나로 설명될 수 있습니다.
CryptoStatus.CRYPTO_SUCCESS
필요한 경우 패킷의 암호가 성공적으로 해독되었으며 AH(인증 헤더) 체크섬, ESP(보안 페이로드) 체크섬 캡슐화 또는 패킷의 두 체크섬의 유효성이 검사되었습니다.
CryptoStatus.CRYPTO_GENERIC_ERROR
패킷이 지정되지 않은 이유로 IPsec 검사 실패했습니다.
CryptoStatus.CRYPTO_TRANSPORT_AH_AUTH_FAILED
패킷의 전송 부분에 대한 AH 체크섬이 잘못되었습니다.
CryptoStatus.CRYPTO_TRANSPORT_ESP_AUTH_FAILED
패킷의 전송 부분에 대한 ESP 체크섬이 잘못되었습니다.
CryptoStatus.CRYPTO_TUNNEL_AH_AUTH_FAILED
패킷의 터널 부분에 대한 AH 체크섬이 잘못되었습니다.
CryptoStatus.CRYPTO_TUNNEL_ESP_AUTH_FAILED
패킷의 터널 부분에 대한 ESP 체크섬이 잘못되었습니다.
CryptoStatus.CRYPTO_INVALID_PACKET_SYNTAX
수신 패킷의 길이가 잘못되었습니다. 예를 들어 IP 헤더의 총 길이만으로는 AH/ESP에 대한 모든 필드와 헤더를 포함하기에 충분하지 않습니다.
CryptoStatus.CRYPTO_INVALID_PROTOCOL
패킷이 수신된 SA에 지정된 IPsec 프로토콜은 패킷에 있는 IPsec 프로토콜과 일치하지 않습니다. 예를 들어 패킷이 수신된 SA가 AH 프로토콜을 지정하지만 패킷에 ESP 헤더만 포함된 경우 이 오류가 발생합니다.
설명
TCP/IP 전송이 오프로드 처리를 위해 아웃바운드 패킷을 NIC에 전달하기 전에 전송은 NET_BUFFER_LIST 구조와 연결된 NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 구조체의 IPsec 정보를 지정합니다.
특히 TCP/IP 전송은 NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 구조에서 OffloadHandle 멤버에 대한 값을 제공합니다. OffloadHandle 값은 전송 또는 터널 SA용 페이로드인지 여부에 관계없이 하나의 IPsec 페이로드가 있는 패킷에 대한 아웃바운드 SA에 대한 핸들을 지정합니다. NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 구조에 제공된 OffloadHandle 값은 미니포트 드라이버가 NIC에 SA 집합을 성공적으로 추가했을 때 TCP/IP 전송에 보고된 OffloadHandle 값과 동일한 값을 가집니다. 미니포트 드라이버가 에 응답할 때 모든 SAS가 NIC에 추가되었습니다. OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA 요청입니다.
미니포트 드라이버가 하나 이상의 IPsec 페이로드가 있는 수신 패킷을 나타내기 전에 드라이버는 NET_BUFFER_LIST 구조와 연결된 NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 구조에서 IPsec 정보를 지정합니다.
IPsec 정보를 설정하고 가져오려면 NET_BUFFER_LIST_INFO 매크로와 함께 IPsecOffloadV2NetBufferListInfo 인덱스를 사용합니다. NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 구조를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.1 이상에서 지원됩니다. |
머리글 | ndis.h(Ndis.h 포함) |
추가 정보
NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기