IPSEC_TRAFFIC1 structure (ipsectypes.h)
The IPSEC_TRAFFIC1 structure specifies parameters to describe IPsec traffic. IPSEC_TRAFFIC0 is available.
Syntax
typedef struct IPSEC_TRAFFIC1_ {
FWP_IP_VERSION ipVersion;
union {
UINT32 localV4Address;
UINT8 localV6Address[16];
};
union {
UINT32 remoteV4Address;
UINT8 remoteV6Address[16];
};
IPSEC_TRAFFIC_TYPE trafficType;
union {
UINT64 ipsecFilterId;
UINT64 tunnelPolicyId;
};
UINT16 remotePort;
UINT16 localPort;
UINT8 ipProtocol;
UINT64 localIfLuid;
UINT32 realIfProfileId;
} IPSEC_TRAFFIC1;
Members
ipVersion
An FWP_IP_VERSION value that specifies the IP version. In tunnel mode, this is the version of the outer header.
localV4Address
The local IPv4 address of the IPsec traffic. In tunnel mode, this is the local tunnel endpoint.
Specified when ipVersion is FWP_IP_VERSION_V4.
localV6Address[16]
The local IPv6 address of the IPsec traffic. In tunnel mode, this is the local tunnel endpoint.
Specified when ipVersion is FWP_IP_VERSION_V6.
remoteV4Address
The remote IPv4 address of the IPsec traffic. In tunnel mode, this is the remote tunnel endpoint.
Specified when ipVersion is FWP_IP_VERSION_V4.
remoteV6Address[16]
The remote IPv6 address of the IPsec traffic. In tunnel mode, this is the remote tunnel endpoint.
Specified when ipVersion is FWP_IP_VERSION_V6.
trafficType
Type of IPsec traffic.
See IPSEC_TRAFFIC_TYPE for more information.
ipsecFilterId
The LUID of the FWPS transport layer filter corresponding to this traffic.
Available if trafficType is IPSEC_TRAFFIC_TYPE_TRANSPORT.
tunnelPolicyId
The LUID of the associated Quick Mode (QM) tunnel policy.
Available if trafficType is IPSEC_TRAFFIC_TYPE_TUNNEL.
remotePort
The remote TCP/UDP port for this traffic. This is used when the remote port condition in the transport layer filter is more generic than the actual remote port.
localPort
The local TCP/UDP port for this traffic. This is used when the local port condition in the transport layer filter is more generic than the actual local port.
ipProtocol
The IP protocol for this traffic. This is used when the IP protocol condition in the transport layer filter is more generic than the actual IP protocol.
localIfLuid
The LUID of the local interface corresponding to the local address specified above.
realIfProfileId
The profile ID corresponding to the actual interface that the traffic is using.
Remarks
The IPSEC_TRAFFIC1 type describes the characteristics of the traffic that will match the SA.
For IPsec transport mode, the localVAddress and remoteVAddress members specify the IP addresses. The ipsecFilterId member specifies (as part of the transport layer filter conditions) the transport protocol information (such as IP protocol, ports, etc), of the matching traffic. However, if the localPort, remotePort, or ipProtocol member is nonzero, its value will override the corresponding value specified in the transport layer filter.
For IPsec tunnel mode, the localVAddress and remoteVAddress members specify the outer IP header tunnel endpoints. The tunnelPolicyId member specifies (as part of the filter conditions specified via FwpmIPsecTunnelAdd1) the inner IP header addresses and transport protocol information of the matching traffic. The localPort, remotePort, and ipProtocol members should not be specified for tunnel mode.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Header | ipsectypes.h |