NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO 구조체(ndis.h)
NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO 구조는 TCP/IP 전송에서 미니포트 드라이버로 IPsec(인터넷 프로토콜 보안) 작업을 오프로드하는 데 사용되는 정보를 지정합니다.
구문
typedef struct _NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO {
union {
struct {
NDIS_HANDLE OffloadHandle;
} Transmit;
struct {
USHORT SaDeleteReq : 1;
USHORT CryptoDone : 1;
USHORT NextCryptoDone : 1;
USHORT Pad : 13;
USHORT CryptoStatus;
} Receive;
};
} NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO;
멤버
Transmit
다음 멤버를 포함하는 구조체입니다.
Transmit.OffloadHandle
해당 페이로드가 전송(엔드투엔드) 연결 또는 터널 연결용인지 여부에 관계없이 하나의 IPsec 페이로드가 있는 패킷에 대한 SA(아웃바운드 보안 연결)에 대한 핸들입니다.
Receive
다음 멤버를 포함하는 구조체입니다.
Receive.SaDeleteReq
설정된 경우 TCP/IP 전송에서 다음을 실행해야 했음을 나타내는 USHORT 값입니다. OID_TCP_TASK_IPSEC_DELETE_SA OID는 패킷이 수신된 인바운드 SA를 한 번 삭제하고 삭제된 인바운드 SA에 해당하는 아웃바운드 SA를 다시 한 번 삭제합니다. NIC(네트워크 인터페이스 카드)는 해당 OID_TCP_TASK_IPSEC_DELETE_SA 요청을 받기 전에 이러한 SA 중 하나를 제거해서는 안 됩니다.
Receive.CryptoDone
설정된 경우 NIC가 수신 패킷에서 하나 이상의 IPsec 페이로드에 대해 IPsec 검사를 수행했음을 나타내는 USHORT 값입니다. 이 값이 지워지면 NIC가 패킷에서 IPsec 검사를 수행하지 않았음을 나타냅니다.
Receive.NextCryptoDone
설정된 경우 NIC가 수신 패킷의 터널 및 전송 부분 모두에서 IPsec 검사를 수행했음을 나타내는 USHORT 값입니다. 이 경우 CryptoDone 도 설정해야 합니다. NextCryptoDone 은 패킷에 터널 및 전송 IPsec 페이로드가 모두 있는 경우에만 설정됩니다. 그렇지 않으면 NextCryptoDone 이 0으로 설정됩니다.
Receive.Pad
NDIS용으로 예약되었습니다.
Receive.CryptoStatus
수신 패킷에서 NIC가 수행되었음을 IPsec이 확인한 결과입니다. 이 결과는 다음 값 중 하나로 설명될 수 있습니다.
설명
TCP/IP 전송이 NIC가 IPsec 작업을 수행할 송신 패킷을 NIC의 미니포트 드라이버에 전달하기 전에 전송은 NET_BUFFER_LIST 구조와 연결된 NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO 구조에서 IPsec 정보를 업데이트합니다.
특히 TCP/IP 전송은 NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO 구조에서 OffloadHandle 멤버에 대한 값을 제공합니다. OffloadHandle 값은 페이로드가 전송(엔드투엔드) 보안 연결 또는 터널 보안 연결용인지 여부에 관계없이 하나의 IPsec 페이로드가 있는 패킷에 대한 SA(아웃바운드 보안 연결)에 대한 핸들을 지정합니다. NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO 구조에 제공된 OffloadHandle 값은 미니포트 드라이버에 아웃바운드 SA를 NIC에 추가하도록 요청하는 OID_TCP_TASK_IPSEC_ADD_SA 설정할 때 TCP/IP 전송이 제공한 OffloadHandle 값과 동일한 값을 가집니다.
미니포트 드라이버가 하나 이상의 IPsec 페이로드가 있는 수신 패킷을 나타내기 전에 드라이버는 다음과 같이 NET_BUFFER_LIST 구조와 연결된 NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO 구조를 업데이트합니다.
- NIC가 패킷에서 하나 이상의 IPsec 페이로드에 대해 IPsec 검사를 수행한 경우 미니포트 드라이버는 CryptoDone 멤버를 설정하고 CryptoStatus 멤버에 적절한 값을 지정하여 체크섬 유효성 검사 테스트의 결과를 나타냅니다.
- NIC가 수신 패킷의 터널 및 전송 부분 모두에서 IPsec 검사를 수행한 경우 미니포트 드라이버는 NextCryptoDone 멤버도 설정합니다. NextCryptoDone 은 패킷에 터널 및 전송 IPsec 페이로드가 모두 있는 경우에만 설정됩니다. 그렇지 않으면 NextCryptoDone 이 0으로 설정됩니다.
- NIC가 패킷에서 IPsec 검사를 수행하지 않은 경우 미니포트 드라이버는 CryptoDone 또는 NextCryptoDone 을 설정하지 않고 CryptoStatus 값을 제공하지 않습니다.
IPsec 정보를 설정하고 가져오려면 NET_BUFFER_LIST_INFO 매크로와 함께 IPsecOffloadV1NetBufferListInfo 인덱스를 사용합니다. NET_BUFFER_LIST_INFONDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO 구조를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.0에서 지원됩니다. NDIS 6.1 이상의 경우 NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 사용합니다. |
머리글 | ndis.h(Ndis.h 포함) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기