Commit 3d352b0d authored by Robert Schmidt's avatar Robert Schmidt

Stubs for F1 UE Context Modification Req+Resp messages

parent 820ec995
...@@ -810,17 +810,12 @@ static instance_t du_create_gtpu_instance_to_cu(char *CUaddr, uint16_t CUport, c ...@@ -810,17 +810,12 @@ static instance_t du_create_gtpu_instance_to_cu(char *CUaddr, uint16_t CUport, c
return gtpv1Init(tmp); return gtpv1Init(tmp);
} }
int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, uint32_t assoc_id, uint32_t stream, F1AP_F1AP_PDU_t *pdu)
uint32_t assoc_id, {
uint32_t stream,
F1AP_F1AP_PDU_t *pdu) {
MessageDef *msg_p; // message to RRC
F1AP_UEContextModificationRequest_t *container; F1AP_UEContextModificationRequest_t *container;
int i; int i;
DevAssert(pdu); f1ap_ue_context_modif_req_t ue_context_modification = {0};
msg_p = itti_alloc_new_message(TASK_DU_F1, 0, F1AP_UE_CONTEXT_MODIFICATION_REQ); f1ap_ue_context_modif_req_t *f1ap_ue_context_modification_req = &ue_context_modification;
f1ap_ue_context_modif_req_t *f1ap_ue_context_modification_req = &F1AP_UE_CONTEXT_MODIFICATION_REQ(msg_p);
container = &pdu->choice.initiatingMessage->value.choice.UEContextModificationRequest; container = &pdu->choice.initiatingMessage->value.choice.UEContextModificationRequest;
/* mandatory */ /* mandatory */
...@@ -970,7 +965,7 @@ int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, ...@@ -970,7 +965,7 @@ int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance,
LOG_W(F1AP, "can't find RRCContainer in UEContextModificationRequestIEs by id %ld \n", F1AP_ProtocolIE_ID_id_RRCContainer); LOG_W(F1AP, "can't find RRCContainer in UEContextModificationRequestIEs by id %ld \n", F1AP_ProtocolIE_ID_id_RRCContainer);
} }
itti_send_msg_to_task(TASK_RRC_GNB, instance, msg_p); ue_context_modification_request(f1ap_ue_context_modification_req);
return 0; return 0;
} }
......
...@@ -147,6 +147,12 @@ void ue_context_setup_request(const f1ap_ue_context_setup_t *req) ...@@ -147,6 +147,12 @@ void ue_context_setup_request(const f1ap_ue_context_setup_t *req)
free(resp.du_to_cu_rrc_information); free(resp.du_to_cu_rrc_information);
} }
void ue_context_modification_request(const f1ap_ue_context_modif_req_t *req)
{
(void)req;
AssertFatal(false, "not implemented\n");
}
void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd) void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd)
{ {
/* mark UE as to be deleted after PUSCH failure */ /* mark UE as to be deleted after PUSCH failure */
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "f1ap_messages_types.h" #include "f1ap_messages_types.h"
void ue_context_setup_request(const f1ap_ue_context_setup_t *req); void ue_context_setup_request(const f1ap_ue_context_setup_t *req);
void ue_context_modification_request(const f1ap_ue_context_modif_req_t *req);
void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd); void ue_context_release_command(const f1ap_ue_context_release_cmd_t *cmd);
int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc); int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc);
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#include "f1ap_messages_types.h" #include "f1ap_messages_types.h"
typedef void (*ue_context_setup_response_func_t)(const f1ap_ue_context_setup_t* req, const f1ap_ue_context_setup_t *resp); typedef void (*ue_context_setup_response_func_t)(const f1ap_ue_context_setup_t* req, const f1ap_ue_context_setup_t *resp);
typedef void (*ue_context_modification_response_func_t)(const f1ap_ue_context_modif_req_t *req,
const f1ap_ue_context_modif_resp_t *resp);
typedef void (*ue_context_release_request_func_t)(const f1ap_ue_context_release_req_t* req); typedef void (*ue_context_release_request_func_t)(const f1ap_ue_context_release_req_t* req);
typedef void (*ue_context_release_complete_func_t)(const f1ap_ue_context_release_complete_t *complete); typedef void (*ue_context_release_complete_func_t)(const f1ap_ue_context_release_complete_t *complete);
......
...@@ -55,6 +55,14 @@ static void ue_context_setup_response_direct(const f1ap_ue_context_setup_t *req, ...@@ -55,6 +55,14 @@ static void ue_context_setup_response_direct(const f1ap_ue_context_setup_t *req,
itti_send_msg_to_task(TASK_RRC_GNB, 0, msg); itti_send_msg_to_task(TASK_RRC_GNB, 0, msg);
} }
static void ue_context_modification_response_direct(const f1ap_ue_context_modif_req_t *req,
const f1ap_ue_context_modif_resp_t *resp)
{
(void)req; /* we don't need the request -- it is to set up GTP in F1 case */
(void)resp;
AssertFatal(false, "not implemented yet\n");
}
static void ue_context_release_request_direct(const f1ap_ue_context_release_req_t* req) static void ue_context_release_request_direct(const f1ap_ue_context_release_req_t* req)
{ {
MessageDef *msg = itti_alloc_new_message(TASK_MAC_GNB, 0, F1AP_UE_CONTEXT_RELEASE_REQ); MessageDef *msg = itti_alloc_new_message(TASK_MAC_GNB, 0, F1AP_UE_CONTEXT_RELEASE_REQ);
...@@ -94,6 +102,7 @@ static void initial_ul_rrc_message_transfer_direct(module_id_t module_id, const ...@@ -94,6 +102,7 @@ static void initial_ul_rrc_message_transfer_direct(module_id_t module_id, const
void mac_rrc_ul_direct_init(struct nr_mac_rrc_ul_if_s *mac_rrc) void mac_rrc_ul_direct_init(struct nr_mac_rrc_ul_if_s *mac_rrc)
{ {
mac_rrc->ue_context_setup_response = ue_context_setup_response_direct; mac_rrc->ue_context_setup_response = ue_context_setup_response_direct;
mac_rrc->ue_context_modification_response = ue_context_modification_response_direct;
mac_rrc->ue_context_release_request = ue_context_release_request_direct; mac_rrc->ue_context_release_request = ue_context_release_request_direct;
mac_rrc->ue_context_release_complete = ue_context_release_complete_direct; mac_rrc->ue_context_release_complete = ue_context_release_complete_direct;
mac_rrc->initial_ul_rrc_message_transfer = initial_ul_rrc_message_transfer_direct; mac_rrc->initial_ul_rrc_message_transfer = initial_ul_rrc_message_transfer_direct;
......
...@@ -60,6 +60,13 @@ static void ue_context_setup_response_f1ap(const f1ap_ue_context_setup_t *req, c ...@@ -60,6 +60,13 @@ static void ue_context_setup_response_f1ap(const f1ap_ue_context_setup_t *req, c
itti_send_msg_to_task(TASK_DU_F1, 0, msg); itti_send_msg_to_task(TASK_DU_F1, 0, msg);
} }
static void ue_context_modification_response_f1ap(const f1ap_ue_context_modif_req_t *req, const f1ap_ue_context_modif_resp_t *resp)
{
(void)req;
(void)resp;
AssertFatal(false, "not implemented\n");
}
static void ue_context_release_request_f1ap(const f1ap_ue_context_release_req_t* req) static void ue_context_release_request_f1ap(const f1ap_ue_context_release_req_t* req)
{ {
MessageDef *msg = itti_alloc_new_message(TASK_MAC_GNB, 0, F1AP_UE_CONTEXT_RELEASE_REQ); MessageDef *msg = itti_alloc_new_message(TASK_MAC_GNB, 0, F1AP_UE_CONTEXT_RELEASE_REQ);
...@@ -101,6 +108,7 @@ static void initial_ul_rrc_message_transfer_f1ap(module_id_t module_id, const f1 ...@@ -101,6 +108,7 @@ static void initial_ul_rrc_message_transfer_f1ap(module_id_t module_id, const f1
void mac_rrc_ul_f1ap_init(struct nr_mac_rrc_ul_if_s *mac_rrc) void mac_rrc_ul_f1ap_init(struct nr_mac_rrc_ul_if_s *mac_rrc)
{ {
mac_rrc->ue_context_setup_response = ue_context_setup_response_f1ap; mac_rrc->ue_context_setup_response = ue_context_setup_response_f1ap;
mac_rrc->ue_context_modification_response = ue_context_modification_response_f1ap;
mac_rrc->ue_context_release_request = ue_context_release_request_f1ap; mac_rrc->ue_context_release_request = ue_context_release_request_f1ap;
mac_rrc->ue_context_release_complete = ue_context_release_complete_f1ap; mac_rrc->ue_context_release_complete = ue_context_release_complete_f1ap;
mac_rrc->initial_ul_rrc_message_transfer = initial_ul_rrc_message_transfer_f1ap; mac_rrc->initial_ul_rrc_message_transfer = initial_ul_rrc_message_transfer_f1ap;
......
...@@ -662,6 +662,7 @@ typedef struct NR_bler_options { ...@@ -662,6 +662,7 @@ typedef struct NR_bler_options {
typedef struct nr_mac_rrc_ul_if_s { typedef struct nr_mac_rrc_ul_if_s {
ue_context_setup_response_func_t ue_context_setup_response; ue_context_setup_response_func_t ue_context_setup_response;
ue_context_modification_response_func_t ue_context_modification_response;
ue_context_release_request_func_t ue_context_release_request; ue_context_release_request_func_t ue_context_release_request;
ue_context_release_complete_func_t ue_context_release_complete; ue_context_release_complete_func_t ue_context_release_complete;
initial_ul_rrc_message_transfer_func_t initial_ul_rrc_message_transfer; initial_ul_rrc_message_transfer_func_t initial_ul_rrc_message_transfer;
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "f1ap_messages_types.h" #include "f1ap_messages_types.h"
typedef void (*ue_context_setup_request_func_t)(const f1ap_ue_context_setup_t *req); typedef void (*ue_context_setup_request_func_t)(const f1ap_ue_context_setup_t *req);
typedef void (*ue_context_modification_request_func_t)(const f1ap_ue_context_modif_req_t *req);
typedef void (*ue_context_release_command_func_t)(const f1ap_ue_context_release_cmd_t *cmd); typedef void (*ue_context_release_command_func_t)(const f1ap_ue_context_release_cmd_t *cmd);
typedef void (*dl_rrc_message_transfer_func_t)(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc); typedef void (*dl_rrc_message_transfer_func_t)(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc);
......
...@@ -34,6 +34,7 @@ static void dl_rrc_message_transfer_direct(module_id_t module_id, const f1ap_dl_ ...@@ -34,6 +34,7 @@ static void dl_rrc_message_transfer_direct(module_id_t module_id, const f1ap_dl_
void mac_rrc_dl_direct_init(nr_mac_rrc_dl_if_t *mac_rrc) void mac_rrc_dl_direct_init(nr_mac_rrc_dl_if_t *mac_rrc)
{ {
mac_rrc->ue_context_setup_request = ue_context_setup_request; mac_rrc->ue_context_setup_request = ue_context_setup_request;
mac_rrc->ue_context_modification_request = ue_context_modification_request;
mac_rrc->ue_context_release_command = ue_context_release_command; mac_rrc->ue_context_release_command = ue_context_release_command;
mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer_direct; mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer_direct;
} }
...@@ -39,6 +39,12 @@ static void ue_context_setup_request_f1ap(const f1ap_ue_context_setup_t *req) ...@@ -39,6 +39,12 @@ static void ue_context_setup_request_f1ap(const f1ap_ue_context_setup_t *req)
itti_send_msg_to_task(TASK_CU_F1, 0, msg); itti_send_msg_to_task(TASK_CU_F1, 0, msg);
} }
static void ue_context_modification_request_f1ap(const f1ap_ue_context_modif_req_t *req)
{
(void)req;
AssertFatal(false, "not implemented yet\n");
}
static void ue_context_release_command_f1ap(const f1ap_ue_context_release_cmd_t *cmd) static void ue_context_release_command_f1ap(const f1ap_ue_context_release_cmd_t *cmd)
{ {
MessageDef *message_p = itti_alloc_new_message (TASK_RRC_GNB, 0, F1AP_UE_CONTEXT_RELEASE_CMD); MessageDef *message_p = itti_alloc_new_message (TASK_RRC_GNB, 0, F1AP_UE_CONTEXT_RELEASE_CMD);
...@@ -66,6 +72,7 @@ static void dl_rrc_message_transfer_f1ap(module_id_t module_id, const f1ap_dl_rr ...@@ -66,6 +72,7 @@ static void dl_rrc_message_transfer_f1ap(module_id_t module_id, const f1ap_dl_rr
void mac_rrc_dl_f1ap_init(nr_mac_rrc_dl_if_t *mac_rrc) void mac_rrc_dl_f1ap_init(nr_mac_rrc_dl_if_t *mac_rrc)
{ {
mac_rrc->ue_context_setup_request = ue_context_setup_request_f1ap; mac_rrc->ue_context_setup_request = ue_context_setup_request_f1ap;
mac_rrc->ue_context_modification_request = ue_context_modification_request_f1ap;
mac_rrc->ue_context_release_command = ue_context_release_command_f1ap; mac_rrc->ue_context_release_command = ue_context_release_command_f1ap;
mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer_f1ap; mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer_f1ap;
} }
...@@ -379,6 +379,7 @@ typedef struct { ...@@ -379,6 +379,7 @@ typedef struct {
typedef struct nr_mac_rrc_dl_if_s { typedef struct nr_mac_rrc_dl_if_s {
ue_context_setup_request_func_t ue_context_setup_request; ue_context_setup_request_func_t ue_context_setup_request;
ue_context_modification_request_func_t ue_context_modification_request;
ue_context_release_command_func_t ue_context_release_command; ue_context_release_command_func_t ue_context_release_command;
dl_rrc_message_transfer_func_t dl_rrc_message_transfer; dl_rrc_message_transfer_func_t dl_rrc_message_transfer;
} nr_mac_rrc_dl_if_t; } nr_mac_rrc_dl_if_t;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment