Skip to content

Commit 5665faf

Browse files
FabianEckermanncodebot
authored andcommitted
cu_cp,ngap: add optional nas pdu to pdu session resource setup request
1 parent 9b48f48 commit 5665faf

File tree

5 files changed

+11
-49
lines changed

5 files changed

+11
-49
lines changed

lib/cu_cp/routines/initial_context_setup_routine.cpp

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -116,24 +116,17 @@ void initial_context_setup_routine::operator()(
116116
request.pdu_session_res_setup_list_cxt_req.value().ue_aggregate_maximum_bit_rate_dl = 0;
117117
}
118118

119+
// Handle NAS PDUs from Initial Context Setup Request
120+
if (request.nas_pdu.has_value()) {
121+
request.pdu_session_res_setup_list_cxt_req.value().nas_pdu = request.nas_pdu.value().copy();
122+
}
123+
119124
CORO_AWAIT_VALUE(pdu_session_setup_response,
120125
pdu_session_setup_handler.handle_new_pdu_session_resource_setup_request(
121126
request.pdu_session_res_setup_list_cxt_req.value()));
122127

123128
resp_msg.pdu_session_res_setup_response_items = pdu_session_setup_response.pdu_session_res_setup_response_items;
124129
resp_msg.pdu_session_res_failed_to_setup_items = pdu_session_setup_response.pdu_session_res_failed_to_setup_items;
125-
126-
// Handle NAS PDUs from PDU Session Resource Setup List Context Request
127-
for (auto& session : request.pdu_session_res_setup_list_cxt_req.value().pdu_session_res_setup_items) {
128-
if (!session.pdu_session_nas_pdu.empty()) {
129-
handle_nas_pdu(session.pdu_session_nas_pdu.copy());
130-
}
131-
}
132-
133-
// Handle NAS PDUs from Initial Context Setup Request
134-
if (request.nas_pdu.has_value()) {
135-
handle_nas_pdu(request.nas_pdu.value().copy());
136-
}
137130
} else {
138131
// Handle NAS PDUs from Initial Context Setup Request
139132
if (request.nas_pdu.has_value()) {

lib/ngap/ngap_impl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@ void ngap_impl::handle_pdu_session_resource_setup_request(const asn1::ngap::pdu_
514514

515515
// start routine
516516
ue->schedule_async_task(launch_async<ngap_pdu_session_resource_setup_procedure>(
517-
msg, request, ue_ctxt.ue_ids, ue->get_rrc_ue_pdu_notifier(), cu_cp_notifier, *tx_pdu_notifier, ue_ctxt.logger));
517+
msg, request, ue_ctxt.ue_ids, cu_cp_notifier, *tx_pdu_notifier, ue_ctxt.logger));
518518
}
519519

520520
void ngap_impl::handle_pdu_session_resource_modify_request(const asn1::ngap::pdu_session_res_modify_request_s& request)

lib/ngap/procedures/ngap_pdu_session_resource_setup_procedure.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
#include "ngap_pdu_session_resource_setup_procedure.h"
1212
#include "../ngap/ngap_asn1_helpers.h"
13-
#include "ngap_procedure_helpers.h"
1413
#include "srsran/asn1/ngap/common.h"
1514
#include "srsran/ngap/ngap.h"
1615
#include "srsran/ngap/ngap_message.h"
@@ -23,14 +22,12 @@ ngap_pdu_session_resource_setup_procedure::ngap_pdu_session_resource_setup_proce
2322
const cu_cp_pdu_session_resource_setup_request& request_,
2423
const asn1::ngap::pdu_session_res_setup_request_s& asn1_request_,
2524
const ngap_ue_ids& ue_ids_,
26-
ngap_rrc_ue_pdu_notifier& rrc_ue_pdu_notifier_,
2725
ngap_cu_cp_notifier& cu_cp_notifier_,
2826
ngap_message_notifier& amf_notif_,
2927
ngap_ue_logger& logger_) :
3028
request(request_),
3129
asn1_request(asn1_request_),
3230
ue_ids(ue_ids_),
33-
rrc_ue_pdu_notifier(rrc_ue_pdu_notifier_),
3431
cu_cp_notifier(cu_cp_notifier_),
3532
amf_notifier(amf_notif_),
3633
logger(logger_)
@@ -50,14 +47,14 @@ void ngap_pdu_session_resource_setup_procedure::operator()(coro_context<async_ta
5047
logger.log_info("Validation of PduSessionResourceSetupRequest failed");
5148
response = verification_outcome.response;
5249
} else {
53-
// Handle mandatory IEs
54-
CORO_AWAIT_VALUE(response, cu_cp_notifier.on_new_pdu_session_resource_setup_request(verification_outcome.request));
55-
56-
// TODO: Handle optional IEs
50+
// Add NAS PDU to PDU Session Resource Setup Request
5751
if (asn1_request->nas_pdu_present) {
58-
handle_nas_pdu(logger, asn1_request->nas_pdu.copy(), rrc_ue_pdu_notifier);
52+
verification_outcome.request.nas_pdu = asn1_request->nas_pdu.copy();
5953
}
6054

55+
// Handle mandatory IEs
56+
CORO_AWAIT_VALUE(response, cu_cp_notifier.on_new_pdu_session_resource_setup_request(verification_outcome.request));
57+
6158
// Combine validation response with DU processor response
6259
combine_pdu_session_resource_setup_response();
6360
}

lib/ngap/procedures/ngap_pdu_session_resource_setup_procedure.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ class ngap_pdu_session_resource_setup_procedure
2424
ngap_pdu_session_resource_setup_procedure(const cu_cp_pdu_session_resource_setup_request& request_,
2525
const asn1::ngap::pdu_session_res_setup_request_s& asn1_request_,
2626
const ngap_ue_ids& ue_ids_,
27-
ngap_rrc_ue_pdu_notifier& rrc_ue_pdu_notifier_,
2827
ngap_cu_cp_notifier& cu_cp_notifier_,
2928
ngap_message_notifier& amf_notif_,
3029
ngap_ue_logger& logger_);
@@ -44,7 +43,6 @@ class ngap_pdu_session_resource_setup_procedure
4443
cu_cp_pdu_session_resource_setup_response validation_response;
4544
byte_buffer nas_pdu;
4645
const ngap_ue_ids ue_ids;
47-
ngap_rrc_ue_pdu_notifier& rrc_ue_pdu_notifier;
4846
cu_cp_pdu_session_resource_setup_response response;
4947
ngap_cu_cp_notifier& cu_cp_notifier;
5048
ngap_message_notifier& amf_notifier;

lib/ngap/procedures/ngap_procedure_helpers.h

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)