Partial update for data plane on eNB for S1-U
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5194 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Executable
+8
@@ -0,0 +1,8 @@
|
||||
MESSAGE_DEF(GTPV1U_ENB_CREATE_TUNNEL_REQ, MESSAGE_PRIORITY_MAX, gtpv1u_enb_create_tunnel_req_t, Gtpv1uCreateTunnelReq)
|
||||
MESSAGE_DEF(GTPV1U_ENB_CREATE_TUNNEL_RESP, MESSAGE_PRIORITY_MAX, gtpv1u_enb_create_tunnel_resp_t, Gtpv1uCreateTunnelResp)
|
||||
MESSAGE_DEF(GTPV1U_ENB_UPDATE_TUNNEL_REQ, MESSAGE_PRIORITY_MED, gtpv1u_enb_update_tunnel_req_t, Gtpv1uUpdateTunnelReq)
|
||||
MESSAGE_DEF(GTPV1U_ENB_UPDATE_TUNNEL_RESP, MESSAGE_PRIORITY_MED, gtpv1u_enb_update_tunnel_resp_t, Gtpv1uUpdateTunnelResp)
|
||||
MESSAGE_DEF(GTPV1U_ENB_DELETE_TUNNEL_REQ, MESSAGE_PRIORITY_MED, gtpv1u_enb_delete_tunnel_req_t, Gtpv1uDeleteTunnelReq)
|
||||
MESSAGE_DEF(GTPV1U_ENB_DELETE_TUNNEL_RESP, MESSAGE_PRIORITY_MED, gtpv1u_enb_delete_tunnel_resp_t, Gtpv1uDeleteTunnelResp)
|
||||
MESSAGE_DEF(GTPV1U_ENB_TUNNEL_DATA_IND, MESSAGE_PRIORITY_MED, gtpv1u_enb_tunnel_data_ind_t, Gtpv1uTunnelDataInd)
|
||||
MESSAGE_DEF(GTPV1U_ENB_TUNNEL_DATA_REQ, MESSAGE_PRIORITY_MED, gtpv1u_enb_tunnel_data_req_t, Gtpv1uTunnelDataReq)
|
||||
Executable
+74
@@ -0,0 +1,74 @@
|
||||
#ifndef GTPV1_U_MESSAGES_TYPES_H_
|
||||
#define GTPV1_U_MESSAGES_TYPES_H_
|
||||
|
||||
#define GTPV1U_MAX_BEARERS_PER_UE max_val_DRB_Identity
|
||||
|
||||
#define GTPV1U_ENB_CREATE_TUNNEL_REQ(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uCreateTunnelReq
|
||||
#define GTPV1U_ENB_CREATE_TUNNEL_RESP(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uCreateTunnelResp
|
||||
#define GTPV1U_ENB_UPDATE_TUNNEL_REQ(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uUpdateTunnelReq
|
||||
#define GTPV1U_ENB_UPDATE_TUNNEL_RESP(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uUpdateTunnelResp
|
||||
#define GTPV1U_ENB_DELETE_TUNNEL_REQ(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uDeleteTunnelReq
|
||||
#define GTPV1U_ENB_DELETE_TUNNEL_RESP(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uDeleteTunnelResp
|
||||
#define GTPV1U_ENB_TUNNEL_DATA_IND(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uTunnelDataInd
|
||||
#define GTPV1U_ENB_TUNNEL_DATA_REQ(mSGpTR) (mSGpTR)->ittiMsg.Gtpv1uTunnelDataReq
|
||||
|
||||
typedef struct gtpv1u_enb_create_tunnel_req_s {
|
||||
module_id_t ue_index;
|
||||
int num_tunnels;
|
||||
teid_t sgw_S1u_teid[GTPV1U_MAX_BEARERS_PER_UE]; ///< Tunnel Endpoint Identifier
|
||||
ebi_t eps_bearer_id[GTPV1U_MAX_BEARERS_PER_UE];
|
||||
transport_layer_addr_t sgw_addr[GTPV1U_MAX_BEARERS_PER_UE];
|
||||
} gtpv1u_enb_create_tunnel_req_t;
|
||||
|
||||
typedef struct gtpv1u_enb_create_tunnel_resp_s {
|
||||
uint8_t status; ///< Status of S1U endpoint creation (Failed = 0xFF or Success = 0x0)
|
||||
uint8_t ue_index;
|
||||
int num_tunnels;
|
||||
teid_t enb_S1u_teid[GTPV1U_MAX_BEARERS_PER_UE]; ///< Tunnel Endpoint Identifier
|
||||
ebi_t eps_bearer_id[GTPV1U_MAX_BEARERS_PER_UE];
|
||||
transport_layer_addr_t enb_addr[GTPV1U_MAX_BEARERS_PER_UE];
|
||||
} gtpv1u_enb_create_tunnel_resp_t;
|
||||
|
||||
typedef struct gtpv1u_enb_update_tunnel_req_s {
|
||||
uint8_t ue_index;
|
||||
teid_t enb_S1u_teid; ///< eNB S1U Tunnel Endpoint Identifier
|
||||
teid_t sgw_S1u_teid; ///< SGW S1U local Tunnel Endpoint Identifier
|
||||
transport_layer_addr_t sgw_addr;
|
||||
ebi_t eps_bearer_id;
|
||||
} gtpv1u_enb_update_tunnel_req_t;
|
||||
|
||||
typedef struct gtpv1u_enb_update_tunnel_resp_s {
|
||||
uint8_t ue_index;
|
||||
uint8_t status; ///< Status (Failed = 0xFF or Success = 0x0)
|
||||
teid_t enb_S1u_teid; ///< eNB S1U Tunnel Endpoint Identifier
|
||||
teid_t sgw_S1u_teid; ///< SGW S1U local Tunnel Endpoint Identifier
|
||||
ebi_t eps_bearer_id;
|
||||
} gtpv1u_enb_update_tunnel_resp_t;
|
||||
|
||||
typedef struct gtpv1u_enb_delete_tunnel_req_s {
|
||||
module_id_t ue_index;
|
||||
ebi_t eps_bearer_id;
|
||||
teid_t enb_S1u_teid; ///< local SGW S11 Tunnel Endpoint Identifier
|
||||
} gtpv1u_enb_delete_tunnel_req_t;
|
||||
|
||||
typedef struct gtpv1u_enb_delete_tunnel_resp_s {
|
||||
uint8_t ue_index;
|
||||
uint8_t status; ///< Status of S1U endpoint deleteion (Failed = 0xFF or Success = 0x0)
|
||||
teid_t enb_S1u_teid; ///< local S1U Tunnel Endpoint Identifier to be deleted
|
||||
} gtpv1u_enb_delete_tunnel_resp_t;
|
||||
|
||||
typedef struct gtpv1u_enb_tunnel_data_ind_s {
|
||||
uint8_t ue_index;
|
||||
uint8_t *buffer;
|
||||
uint32_t length;
|
||||
teid_t enb_S1u_teid; ///< Tunnel Endpoint Identifier
|
||||
} gtpv1u_enb_tunnel_data_ind_t;
|
||||
|
||||
typedef struct gtpv1u_enb_tunnel_data_req_s {
|
||||
uint8_t *buffer;
|
||||
uint32_t length;
|
||||
uint8_t ue_index;
|
||||
rb_id_t rab_id;
|
||||
} gtpv1u_enb_tunnel_data_req_t;
|
||||
|
||||
#endif /* GTPV1_U_MESSAGES_TYPES_H_ */
|
||||
@@ -14,4 +14,5 @@
|
||||
#include "x2ap_messages_def.h"
|
||||
#include "sctp_messages_def.h"
|
||||
#include "udp_messages_def.h"
|
||||
#include "gtpv1_u_messages_def.h"
|
||||
|
||||
|
||||
@@ -22,5 +22,6 @@
|
||||
#include "x2ap_messages_types.h"
|
||||
#include "sctp_messages_types.h"
|
||||
#include "udp_messages_types.h"
|
||||
#include "gtpv1_u_messages_types.h"
|
||||
|
||||
#endif /* MESSAGES_TYPES_H_ */
|
||||
|
||||
@@ -101,6 +101,7 @@ typedef enum pdcp_transmission_mode_e {
|
||||
//-----------------------------------------------------------------------------
|
||||
// IP DRIVER / PDCP TYPES
|
||||
//-----------------------------------------------------------------------------
|
||||
typedef uint16_t tcp_udp_port_t;
|
||||
typedef enum ip_traffic_type_e {
|
||||
TRAFFIC_IPVX_TYPE_UNKNOWN = 0,
|
||||
TRAFFIC_IPV6_TYPE_UNICAST = 1,
|
||||
@@ -127,4 +128,10 @@ typedef enum config_action_e {
|
||||
CONFIG_ACTION_MBMS_ADD = 10,
|
||||
CONFIG_ACTION_MBMS_MODIFY = 11
|
||||
} config_action_t;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// GTPV1U TYPES
|
||||
//-----------------------------------------------------------------------------
|
||||
typedef uint32_t teid_t; // tunnel endpoint identifier
|
||||
typedef uint8_t ebi_t; // eps bearer id
|
||||
#endif
|
||||
|
||||
@@ -26,7 +26,7 @@ TASK_DEF(TASK_RAL_ENB, TASK_PRIORITY_MED, 200)
|
||||
// UDP TASK
|
||||
TASK_DEF(TASK_UDP, TASK_PRIORITY_MED, 200)
|
||||
// GTP_V1U task
|
||||
TASK_DEF(TASK_GTPU, TASK_PRIORITY_MED, 200)
|
||||
TASK_DEF(TASK_GTPV1_U, TASK_PRIORITY_MED, 200)
|
||||
TASK_DEF(TASK_S1AP, TASK_PRIORITY_MED, 200)
|
||||
/// X2ap task, acts as both source and target
|
||||
TASK_DEF(TASK_X2AP, TASK_PRIORITY_MED, 200)
|
||||
|
||||
Reference in New Issue
Block a user