blob: c7d99dd1bc23fc35e29dce3fc8352da7dc023298 [file] [log] [blame]
#ifndef IPSEC_WTUNNEL_MSG_H
#define IPSEC_WTUNNEL_MSG_H
#include "ipsec_common_interface.h"
#ifdef __N3GPP_OVER_DATA__
#include "network_dev_info_struct.h"
#endif
//MSG_ID_WTUNNEL_IPSEC_ENCAP_REQ
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 transaction_id;//to identify the packet
kal_uint32 input_buffer_len;
kal_uint32 output_buffer_len;
void* p_input_buffer;//point to the beginning of the IP header
void* p_output_buffer;
kal_uint32 sa_id;
}wtunnel_ipsec_encap_req_struct;
//MSG_ID_WTUNNEL_IPSEC_DECAP_REQ
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 transaction_id;//to identify the packet
kal_uint32 input_buffer_len;
kal_uint32 output_buffer_len;
void* p_input_buffer;//point to the beginning of the IP header
void* p_output_buffer;
}wtunnel_ipsec_decap_req_struct;
//MSG_ID_WTUNNEL_IPSEC_ENCAP_RSP
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 transaction_id;//to identify the packet
//kal_uint32 output_data_len;//maybe no-need, could be gotten from the outer ip header
ipsec_status_enum status;//result
ipsec_fragment_info_t frag_list[MAX_IP_FRAGMENT_SIZE];//output_buffer fragmentation
kal_uint32 frag_num;
}wtunnel_ipsec_encap_rsp_struct;
//MSG_ID_WTUNNEL_IPSEC_DECAP_RSP
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 transaction_id;//to identify the packet
kal_uint32 sa_id;
kal_uint32 output_data_len;//maybe no-need, could be gotten from the outer ip header
ipsec_status_enum status;//result
}wtunnel_ipsec_decap_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 sa_id;
kal_uint8 tunnel_src[MAX_IP_ADDR_SIZE];
kal_uint8 tunnel_dst[MAX_IP_ADDR_SIZE];
ipsec_addr_family_enum tunnel_addr_family;
#ifdef __N3GPP_OVER_DATA__
nw_device_id_enum dev_id;
#endif
}ipsec_wtunnel_pmtu_register_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ipsec_mode_enum mode;
kal_uint32 sa_id;
kal_uint32 pmtu;
}ipsec_wtunnel_pmtu_update_ind_struct;
#endif