Commit 8302a060 authored by Robert Schmidt's avatar Robert Schmidt

RRC transactions: mark UE Capability transaction

parent 62200cde
...@@ -233,7 +233,8 @@ typedef enum { ...@@ -233,7 +233,8 @@ typedef enum {
RRC_DEDICATED_RECONF, RRC_DEDICATED_RECONF,
RRC_PDUSESSION_ESTABLISH, RRC_PDUSESSION_ESTABLISH,
RRC_PDUSESSION_MODIFY, RRC_PDUSESSION_MODIFY,
RRC_PDUSESSION_RELEASE RRC_PDUSESSION_RELEASE,
RRC_UECAPABILITY_ENQUIRY,
} rrc_action_t; } rrc_action_t;
typedef struct gNB_RRC_UE_s { typedef struct gNB_RRC_UE_s {
......
...@@ -1231,6 +1231,10 @@ static int handle_ueCapabilityInformation(const protocol_ctxt_t *const ctxt_pP, ...@@ -1231,6 +1231,10 @@ static int handle_ueCapabilityInformation(const protocol_ctxt_t *const ctxt_pP,
AssertFatal(ue_context_p != NULL, "Processing %s() for UE %lx, ue_context_p is NULL\n", __func__, ctxt_pP->rntiMaybeUEid); AssertFatal(ue_context_p != NULL, "Processing %s() for UE %lx, ue_context_p is NULL\n", __func__, ctxt_pP->rntiMaybeUEid);
gNB_RRC_UE_t *UE = &ue_context_p->ue_context; gNB_RRC_UE_t *UE = &ue_context_p->ue_context;
int xid = ue_cap_info->rrc_TransactionIdentifier;
DevAssert(UE->xids[xid] == RRC_UECAPABILITY_ENQUIRY);
UE->xids[xid] = RRC_ACTION_NONE;
LOG_I(NR_RRC, "got UE capabilities for UE %lx\n", ctxt_pP->rntiMaybeUEid); LOG_I(NR_RRC, "got UE capabilities for UE %lx\n", ctxt_pP->rntiMaybeUEid);
int eutra_index = -1; int eutra_index = -1;
...@@ -2471,19 +2475,15 @@ rrc_gNB_generate_UECapabilityEnquiry( ...@@ -2471,19 +2475,15 @@ rrc_gNB_generate_UECapabilityEnquiry(
uint8_t size; uint8_t size;
T(T_ENB_RRC_UE_CAPABILITY_ENQUIRY, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame), T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rntiMaybeUEid)); T(T_ENB_RRC_UE_CAPABILITY_ENQUIRY, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame), T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rntiMaybeUEid));
size = do_NR_SA_UECapabilityEnquiry( gNB_RRC_UE_t *ue = &ue_context_pP->ue_context;
ctxt_pP, uint8_t xid = rrc_gNB_get_next_transaction_identifier(ctxt_pP->module_id);
buffer, ue->xids[xid] = RRC_UECAPABILITY_ENQUIRY;
rrc_gNB_get_next_transaction_identifier(ctxt_pP->module_id)); size = do_NR_SA_UECapabilityEnquiry(ctxt_pP, buffer, xid);
LOG_I(NR_RRC, LOG_I(NR_RRC, "UE %d: Logical Channel DL-DCCH, Generate NR UECapabilityEnquiry (bytes %d)\n", ue->rrc_ue_id, size);
PROTOCOL_NR_RRC_CTXT_UE_FMT" Logical Channel DL-DCCH, Generate NR UECapabilityEnquiry (bytes %d)\n",
PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP),
size);
gNB_RRC_INST *rrc = RC.nrrrc[ctxt_pP->module_id]; gNB_RRC_INST *rrc = RC.nrrrc[ctxt_pP->module_id];
AssertFatal(!NODE_IS_DU(rrc->node_type), "illegal node type DU!\n"); AssertFatal(!NODE_IS_DU(rrc->node_type), "illegal node type DU!\n");
const gNB_RRC_UE_t *ue = &ue_context_pP->ue_context;
nr_rrc_transfer_protected_rrc_message(rrc, ue, DCCH, buffer, size); nr_rrc_transfer_protected_rrc_message(rrc, ue, DCCH, buffer, size);
} }
......
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