Stubs for F1 UE Context Setup Req+Resp messages
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
#include "f1ap_decoder.h"
|
||||
#include "f1ap_itti_messaging.h"
|
||||
#include "f1ap_du_ue_context_management.h"
|
||||
#include "openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.h"
|
||||
|
||||
#include "rrc_extern.h"
|
||||
#include "openair2/RRC/NR/rrc_gNB_UE_context.h"
|
||||
@@ -65,13 +66,13 @@ bool lteDURecvCb(protocol_ctxt_t *ctxt_pP,
|
||||
int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
F1AP_F1AP_PDU_t *pdu) {
|
||||
MessageDef *msg_p; // message to RRC
|
||||
F1AP_F1AP_PDU_t *pdu)
|
||||
{
|
||||
F1AP_UEContextSetupRequest_t *container;
|
||||
int i;
|
||||
DevAssert(pdu);
|
||||
msg_p = itti_alloc_new_message(TASK_DU_F1, 0, F1AP_UE_CONTEXT_SETUP_REQ);
|
||||
f1ap_ue_context_setup_t *f1ap_ue_context_setup_req = &F1AP_UE_CONTEXT_SETUP_REQ(msg_p);
|
||||
f1ap_ue_context_setup_t ue_context_setup = {0};
|
||||
f1ap_ue_context_setup_t *f1ap_ue_context_setup_req = &ue_context_setup;
|
||||
container = &pdu->choice.initiatingMessage->value.choice.UEContextSetupRequest;
|
||||
/* GNB_CU_UE_F1AP_ID */
|
||||
F1AP_UEContextSetupRequestIEs_t *ieCU;
|
||||
@@ -224,8 +225,7 @@ int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
|
||||
LOG_W(F1AP, "can't find RRCContainer in UEContextSetupRequestIEs by id %ld \n", F1AP_ProtocolIE_ID_id_RRCContainer);
|
||||
}
|
||||
|
||||
itti_send_msg_to_task(TASK_RRC_GNB, instance, msg_p);
|
||||
|
||||
ue_context_setup_request(f1ap_ue_context_setup_req);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "mac_rrc_dl_handler.h"
|
||||
|
||||
#include "mac_proto.h"
|
||||
@@ -29,6 +31,12 @@
|
||||
#include "NR_DL-CCCH-Message.h"
|
||||
#include "NR_CellGroupConfig.h"
|
||||
|
||||
void ue_context_setup_request(const f1ap_ue_context_setup_t *req)
|
||||
{
|
||||
(void) req;
|
||||
abort();
|
||||
}
|
||||
|
||||
int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc)
|
||||
{
|
||||
LOG_I(NR_MAC, "DL RRC Message Transfer with %d bytes for RNTI %04x SRB %d\n", dl_rrc->rrc_container_length, dl_rrc->rnti, dl_rrc->srb_id);
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "platform_types.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
|
||||
void ue_context_setup_request(const f1ap_ue_context_setup_t *req);
|
||||
|
||||
int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc);
|
||||
|
||||
#endif /* MAC_RRC_DL_HANDLER_H */
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "platform_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 (*initial_ul_rrc_message_transfer_func_t)(module_id_t module_id, const f1ap_initial_ul_rrc_message_t *ul_rrc);
|
||||
|
||||
struct nr_mac_rrc_ul_if_s;
|
||||
|
||||
@@ -24,6 +24,12 @@
|
||||
|
||||
#include "mac_rrc_ul.h"
|
||||
|
||||
static void ue_context_setup_response_direct(const f1ap_ue_context_setup_t *req, const f1ap_ue_context_setup_t *resp)
|
||||
{
|
||||
(void) req; /* we don't need the request -- it is to set up GTP in F1 case */
|
||||
AssertFatal(false, "not implemented\n");
|
||||
}
|
||||
|
||||
static void initial_ul_rrc_message_transfer_direct(module_id_t module_id, const f1ap_initial_ul_rrc_message_t *ul_rrc)
|
||||
{
|
||||
MessageDef *msg = itti_alloc_new_message(TASK_MAC_GNB, 0, F1AP_INITIAL_UL_RRC_MESSAGE);
|
||||
@@ -46,5 +52,6 @@ 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)
|
||||
{
|
||||
mac_rrc->ue_context_setup_response = ue_context_setup_response_direct;
|
||||
mac_rrc->initial_ul_rrc_message_transfer = initial_ul_rrc_message_transfer_direct;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,13 @@
|
||||
|
||||
#include "mac_rrc_ul.h"
|
||||
|
||||
static void ue_context_setup_response_f1ap(const f1ap_ue_context_setup_t *req, const f1ap_ue_context_setup_t *resp)
|
||||
{
|
||||
AssertFatal(false, "not implemented\n");
|
||||
|
||||
/* TODO: set up GTP tunnel for DL, and fill UL TEID in resp */
|
||||
}
|
||||
|
||||
static void initial_ul_rrc_message_transfer_f1ap(module_id_t module_id, const f1ap_initial_ul_rrc_message_t *ul_rrc)
|
||||
{
|
||||
MessageDef *msg = itti_alloc_new_message(TASK_MAC_GNB, 0, F1AP_INITIAL_UL_RRC_MESSAGE);
|
||||
@@ -46,6 +53,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)
|
||||
{
|
||||
mac_rrc->ue_context_setup_response = ue_context_setup_response_f1ap;
|
||||
mac_rrc->initial_ul_rrc_message_transfer = initial_ul_rrc_message_transfer_f1ap;
|
||||
}
|
||||
|
||||
|
||||
@@ -660,6 +660,7 @@ typedef struct NR_bler_options {
|
||||
|
||||
typedef struct nr_mac_rrc_ul_if_s {
|
||||
/* TODO add other message types as necessary */
|
||||
ue_context_setup_response_func_t ue_context_setup_response;
|
||||
initial_ul_rrc_message_transfer_func_t initial_ul_rrc_message_transfer;
|
||||
} nr_mac_rrc_ul_if_t;
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "platform_types.h"
|
||||
#include "f1ap_messages_types.h"
|
||||
|
||||
typedef void (*ue_context_setup_request_func_t)(const f1ap_ue_context_setup_t *req);
|
||||
|
||||
typedef void (*dl_rrc_message_transfer_func_t)(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc);
|
||||
|
||||
struct nr_mac_rrc_dl_if_s;
|
||||
|
||||
@@ -33,5 +33,6 @@ 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)
|
||||
{
|
||||
mac_rrc->ue_context_setup_request = ue_context_setup_request;
|
||||
mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer_direct;
|
||||
}
|
||||
|
||||
@@ -19,9 +19,17 @@
|
||||
* conmnc_digit_lengtht@openairinterface.org
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "mac_rrc_dl.h"
|
||||
#include "nr_rrc_defs.h"
|
||||
|
||||
static void ue_context_setup_request_f1ap(const f1ap_ue_context_setup_t *req)
|
||||
{
|
||||
(void) req;
|
||||
abort();
|
||||
}
|
||||
|
||||
static void dl_rrc_message_transfer_f1ap(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc)
|
||||
{
|
||||
/* TODO call F1AP function directly? no real-time constraint here */
|
||||
@@ -40,5 +48,6 @@ 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)
|
||||
{
|
||||
mac_rrc->ue_context_setup_request = ue_context_setup_request_f1ap;
|
||||
mac_rrc->dl_rrc_message_transfer = dl_rrc_message_transfer_f1ap;
|
||||
}
|
||||
|
||||
@@ -481,6 +481,7 @@ typedef struct {
|
||||
|
||||
typedef struct nr_mac_rrc_dl_if_s {
|
||||
/* TODO add other message types as necessary */
|
||||
ue_context_setup_request_func_t ue_context_setup_request;
|
||||
dl_rrc_message_transfer_func_t dl_rrc_message_transfer;
|
||||
} nr_mac_rrc_dl_if_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user