/* * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The OpenAirInterface Software Alliance licenses this file to You under * the OAI Public License, Version 1.1 (the "License"); you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * * http://www.openairinterface.org/?page_id=698 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *------------------------------------------------------------------------------- * For more information about the OpenAirInterface (OAI) Software Alliance: * contact@openairinterface.org */ #include "nr_sdap.h" uint8_t nas_qfi; uint8_t nas_pduid; bool sdap_data_req(protocol_ctxt_t *ctxt_p, const srb_flag_t srb_flag, const rb_id_t rb_id, const mui_t mui, const confirm_t confirm, const sdu_size_t sdu_buffer_size, unsigned char *const sdu_buffer, const pdcp_transmission_mode_t pt_mode, const uint32_t *sourceL2Id, const uint32_t *destinationL2Id, const uint8_t qfi, const bool rqi, const int pdusession_id) { nr_sdap_entity_t *sdap_entity; sdap_entity = nr_sdap_get_entity(ctxt_p->rnti, pdusession_id); if(sdap_entity == NULL) { LOG_E(SDAP, "%s:%d:%s: Entity not found with ue rnti: %x and pdusession id: %d\n", __FILE__, __LINE__, __FUNCTION__, ctxt_p->rnti, pdusession_id); return 0; } bool ret = sdap_entity->tx_entity(sdap_entity, ctxt_p, srb_flag, rb_id, mui, confirm, sdu_buffer_size, sdu_buffer, pt_mode, sourceL2Id, destinationL2Id, qfi, rqi); return ret; } void sdap_data_ind(rb_id_t pdcp_entity, int is_gnb, int has_sdap, int has_sdapULheader, int pdusession_id, int rnti, char *buf, int size) { nr_sdap_entity_t *sdap_entity; sdap_entity = nr_sdap_get_entity(rnti, pdusession_id); if(sdap_entity == NULL) { LOG_E(SDAP, "%s:%d:%s: Entity not found for ue rnti: %x and pdusession id: %d\n", __FILE__, __LINE__, __FUNCTION__, rnti, pdusession_id); return; } sdap_entity->rx_entity(sdap_entity, pdcp_entity, is_gnb, has_sdap, has_sdapULheader, pdusession_id, rnti, buf, size); } void set_qfi_pduid(uint8_t qfi, uint8_t pduid){ nas_qfi = qfi; nas_pduid = pduid; return; }