Create direct API to send GTP-U msgs
This commit is contained in:
@@ -286,13 +286,14 @@ static int gtpv1uCreateAndSendMsg(int h,
|
|||||||
return !GTPNOK;
|
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);
|
pthread_mutex_lock(&globGtp.gtp_lock);
|
||||||
getInstRetVoid(compatInst(instance));
|
getInstRetVoid(compatInst(instance));
|
||||||
getUeRetVoid(inst, ue_id);
|
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){
|
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;
|
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 newGtpuDeleteOneTunnel(instance_t instance, ue_id_t ue_id, int rb_id);
|
||||||
int newGtpuDeleteAllTunnels(instance_t instance, ue_id_t ue_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);
|
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);
|
instance_t gtpv1Init(openAddr_t context);
|
||||||
void *gtpv1uTask(void *args);
|
void *gtpv1uTask(void *args);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user