Merge remote-tracking branch 'origin/pdcp-callbacks-simplify' into integration_2023_w13
This commit is contained in:
@@ -17,6 +17,7 @@ extern "C" {
|
||||
#include <openair2/COMMON/gtpv1_u_messages_types.h>
|
||||
#include <openair3/ocp-gtpu/gtp_itf.h>
|
||||
#include <openair2/LAYER2/PDCP_v10.1.0/pdcp.h>
|
||||
#include <openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h>
|
||||
#include <openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h>
|
||||
#include "openair2/SDAP/nr_sdap/nr_sdap.h"
|
||||
#include "sim.h"
|
||||
@@ -647,7 +648,9 @@ teid_t newGtpuCreateTunnel(instance_t instance,
|
||||
|
||||
int gtpv1u_create_s1u_tunnel(instance_t instance,
|
||||
const gtpv1u_enb_create_tunnel_req_t *create_tunnel_req,
|
||||
gtpv1u_enb_create_tunnel_resp_t *create_tunnel_resp) {
|
||||
gtpv1u_enb_create_tunnel_resp_t *create_tunnel_resp,
|
||||
gtpCallback callBack)
|
||||
{
|
||||
LOG_D(GTPU, "[%ld] Start create tunnels for UE ID %u, num_tunnels %d, sgw_S1u_teid %x\n",
|
||||
instance,
|
||||
create_tunnel_req->rnti,
|
||||
@@ -674,7 +677,7 @@ int gtpv1u_create_s1u_tunnel(instance_t instance,
|
||||
-1, // no pdu session in 4G
|
||||
create_tunnel_req->sgw_addr[i],
|
||||
dstport,
|
||||
pdcp_data_req,
|
||||
callBack,
|
||||
NULL);
|
||||
create_tunnel_resp->status=0;
|
||||
create_tunnel_resp->rnti=create_tunnel_req->rnti;
|
||||
@@ -711,10 +714,10 @@ int gtpv1u_update_s1u_tunnel(
|
||||
auto it=inst->ue2te_mapping.find(prior_rnti);
|
||||
|
||||
if ( it != inst->ue2te_mapping.end() ) {
|
||||
LOG_W(GTPU,"[%ld] Update a not existing tunnel, start create the new one (new ue id %u, old ue id %u)\n", instance, create_tunnel_req->rnti, prior_rnti);
|
||||
pthread_mutex_unlock(&globGtp.gtp_lock);
|
||||
gtpv1u_enb_create_tunnel_resp_t tmp;
|
||||
(void)gtpv1u_create_s1u_tunnel(instance, create_tunnel_req, &tmp);
|
||||
AssertFatal(false, "logic bug: update of non-existing tunnel (new ue id %u, old ue id %u)\n", create_tunnel_req->rnti, prior_rnti);
|
||||
/* we don't know if we need 4G or 5G PDCP and can therefore not create a
|
||||
* new tunnel */
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -724,9 +727,12 @@ int gtpv1u_update_s1u_tunnel(
|
||||
return 0;
|
||||
}
|
||||
|
||||
int gtpv1u_create_ngu_tunnel( const instance_t instance,
|
||||
const gtpv1u_gnb_create_tunnel_req_t *const create_tunnel_req,
|
||||
gtpv1u_gnb_create_tunnel_resp_t *const create_tunnel_resp) {
|
||||
int gtpv1u_create_ngu_tunnel(const instance_t instance,
|
||||
const gtpv1u_gnb_create_tunnel_req_t *const create_tunnel_req,
|
||||
gtpv1u_gnb_create_tunnel_resp_t *const create_tunnel_resp,
|
||||
gtpCallback callBack,
|
||||
gtpCallbackSDAP callBackSDAP)
|
||||
{
|
||||
LOG_D(GTPU, "[%ld] Start create tunnels for ue id %lu, num_tunnels %d, sgw_S1u_teid %x\n",
|
||||
instance,
|
||||
create_tunnel_req->ue_id,
|
||||
@@ -748,8 +754,8 @@ int gtpv1u_create_ngu_tunnel( const instance_t instance,
|
||||
create_tunnel_req->outgoing_qfi[i],
|
||||
create_tunnel_req->dst_addr[i],
|
||||
dstport,
|
||||
pdcp_data_req,
|
||||
sdap_data_req);
|
||||
callBack,
|
||||
callBackSDAP);
|
||||
create_tunnel_resp->status=0;
|
||||
create_tunnel_resp->ue_id=create_tunnel_req->ue_id;
|
||||
create_tunnel_resp->num_tunnels=create_tunnel_req->num_tunnels;
|
||||
|
||||
@@ -51,8 +51,10 @@ extern "C" {
|
||||
// the parameter originInstance will be sent back in each message from gtp to the creator
|
||||
void gtpv1uReceiver(int h);
|
||||
void gtpv1uProcessTimeout(int handle,void *arg);
|
||||
int gtpv1u_create_s1u_tunnel(const instance_t instance, const gtpv1u_enb_create_tunnel_req_t *create_tunnel_req,
|
||||
gtpv1u_enb_create_tunnel_resp_t *create_tunnel_resp);
|
||||
int gtpv1u_create_s1u_tunnel(const instance_t instance,
|
||||
const gtpv1u_enb_create_tunnel_req_t *create_tunnel_req,
|
||||
gtpv1u_enb_create_tunnel_resp_t *create_tunnel_resp,
|
||||
gtpCallback callBack);
|
||||
int gtpv1u_update_s1u_tunnel(const instance_t instanceP,
|
||||
const gtpv1u_enb_create_tunnel_req_t *create_tunnel_req_pP,
|
||||
const rnti_t prior_rnti
|
||||
@@ -66,12 +68,12 @@ extern "C" {
|
||||
|
||||
int gtpv1u_delete_x2u_tunnel( const instance_t instanceP,
|
||||
const gtpv1u_enb_delete_tunnel_req_t *const req_pP);
|
||||
int
|
||||
gtpv1u_create_ngu_tunnel(
|
||||
const instance_t instanceP,
|
||||
const gtpv1u_gnb_create_tunnel_req_t *const create_tunnel_req_pP,
|
||||
gtpv1u_gnb_create_tunnel_resp_t *const create_tunnel_resp_pP);
|
||||
|
||||
int gtpv1u_create_ngu_tunnel(const instance_t instanceP,
|
||||
const gtpv1u_gnb_create_tunnel_req_t *const create_tunnel_req_pP,
|
||||
gtpv1u_gnb_create_tunnel_resp_t *const create_tunnel_resp_pP,
|
||||
gtpCallback callBack,
|
||||
gtpCallbackSDAP callBackSDAP);
|
||||
|
||||
int gtpv1u_delete_ngu_tunnel( const instance_t instance,
|
||||
gtpv1u_gnb_delete_tunnel_req_t *req);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user