Create direct API to send GTP-U msgs
This commit is contained in:
@@ -286,13 +286,14 @@ static int gtpv1uCreateAndSendMsg(int h,
|
||||
return !GTPNOK;
|
||||
}
|
||||
|
||||
static void gtpv1uSend(instance_t instance, gtpv1u_tunnel_data_req_t *req, bool seqNumFlag, bool npduNumFlag)
|
||||
void gtpv1uSendDirect(instance_t instance,
|
||||
ue_id_t ue_id,
|
||||
int bearer_id,
|
||||
uint8_t *buf,
|
||||
size_t len,
|
||||
bool seqNumFlag,
|
||||
bool npduNumFlag)
|
||||
{
|
||||
uint8_t *buf = req->buffer + req->offset;
|
||||
size_t len = req->length;
|
||||
ue_id_t ue_id = req->ue_id;
|
||||
int bearer_id = req->bearer_id;
|
||||
|
||||
pthread_mutex_lock(&globGtp.gtp_lock);
|
||||
getInstRetVoid(compatInst(instance));
|
||||
getUeRetVoid(inst, ue_id);
|
||||
@@ -367,6 +368,16 @@ static void gtpv1uSend(instance_t instance, gtpv1u_tunnel_data_req_t *req, bool
|
||||
}
|
||||
}
|
||||
|
||||
static void gtpv1uSend(instance_t instance, gtpv1u_tunnel_data_req_t *req, bool seqNumFlag, bool npduNumFlag)
|
||||
{
|
||||
uint8_t *buf = req->buffer + req->offset;
|
||||
size_t len = req->length;
|
||||
ue_id_t ue_id = req->ue_id;
|
||||
int bearer_id = req->bearer_id;
|
||||
|
||||
gtpv1uSendDirect(instance, ue_id, bearer_id, buf, len, seqNumFlag, npduNumFlag);
|
||||
}
|
||||
|
||||
static void fillDlDeliveryStatusReport(extensionHeader_t *extensionHeader, uint32_t RLC_buffer_availability, uint32_t NR_PDCP_PDU_SN){
|
||||
|
||||
extensionHeader->buffer[0] = (1+sizeof(DlDataDeliveryStatus_flagsT)+(NR_PDCP_PDU_SN>0?3:0)+(NR_PDCP_PDU_SN>0?1:0)+1)/4;
|
||||
|
||||
@@ -103,6 +103,9 @@ extern "C" {
|
||||
int newGtpuDeleteOneTunnel(instance_t instance, ue_id_t ue_id, int rb_id);
|
||||
int newGtpuDeleteAllTunnels(instance_t instance, ue_id_t ue_id);
|
||||
int newGtpuDeleteTunnels(instance_t instance, ue_id_t ue_id, int nbTunnels, pdusessionid_t *pdusession_id);
|
||||
|
||||
void gtpv1uSendDirect(instance_t instance, ue_id_t ue_id, int bearer_id, uint8_t *buf, size_t len, bool seqNumFlag, bool npduNumFlag);
|
||||
|
||||
instance_t gtpv1Init(openAddr_t context);
|
||||
void *gtpv1uTask(void *args);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user