Commit c7a36ec6 authored by Frédéric Leroy's avatar Frédéric Leroy

UE/EMM/LowerLayer: move ueid to nas_user_t

parent e6daacf7
......@@ -88,7 +88,6 @@ static struct {
** Description: Notify the EPS Mobility Management entity that data have **
** been successfully delivered to the network **
** **
** Inputs: ueid: UE lower layer identifier **
** Others: None **
** **
** Outputs: None **
......@@ -96,7 +95,7 @@ static struct {
** Others: None **
** **
***************************************************************************/
int lowerlayer_success(nas_user_t *user, unsigned int ueid)
int lowerlayer_success(nas_user_t *user)
{
LOG_FUNC_IN;
......@@ -104,7 +103,7 @@ int lowerlayer_success(nas_user_t *user, unsigned int ueid)
int rc;
emm_sap.primitive = EMMREG_LOWERLAYER_SUCCESS;
emm_sap.u.emm_reg.ueid = ueid;
emm_sap.u.emm_reg.ueid = user->ueid;
rc = emm_sap_send(user, &emm_sap);
LOG_FUNC_RETURN (rc);
......@@ -117,7 +116,6 @@ int lowerlayer_success(nas_user_t *user, unsigned int ueid)
** Description: Notify the EPS Mobility Management entity that lower la- **
** yers failed to deliver data to the network **
** **
** Inputs: ueid: UE lower layer identifier **
** Others: None **
** **
** Outputs: None **
......@@ -125,7 +123,7 @@ int lowerlayer_success(nas_user_t *user, unsigned int ueid)
** Others: None **
** **
***************************************************************************/
int lowerlayer_failure(nas_user_t *user, unsigned int ueid)
int lowerlayer_failure(nas_user_t *user)
{
LOG_FUNC_IN;
......@@ -133,7 +131,7 @@ int lowerlayer_failure(nas_user_t *user, unsigned int ueid)
int rc;
emm_sap.primitive = EMMREG_LOWERLAYER_FAILURE;
emm_sap.u.emm_reg.ueid = ueid;
emm_sap.u.emm_reg.ueid = user->ueid;
rc = emm_sap_send(user, &emm_sap);
LOG_FUNC_RETURN (rc);
......@@ -191,7 +189,7 @@ int lowerlayer_release(nas_user_t *user, int cause)
user->emm_data->ecm_status = ECM_IDLE;
emm_sap.primitive = EMMREG_LOWERLAYER_RELEASE;
emm_sap.u.emm_reg.ueid = 0;
emm_sap.u.emm_reg.ueid = user->ueid;
rc = emm_sap_send(user, &emm_sap);
LOG_FUNC_RETURN (rc);
......@@ -204,7 +202,6 @@ int lowerlayer_release(nas_user_t *user, int cause)
** Description: Notify the EPS Session Management entity that data have **
** been received from lower layers **
** **
** Inputs: ueid: UE lower layer identifier **
** data: Data transfered from lower layers **
** Others: None **
** **
......@@ -213,7 +210,7 @@ int lowerlayer_release(nas_user_t *user, int cause)
** Others: None **
** **
***************************************************************************/
int lowerlayer_data_ind(nas_user_t *user, unsigned int ueid, const OctetString *data)
int lowerlayer_data_ind(nas_user_t *user, const OctetString *data)
{
esm_sap_t esm_sap;
int rc;
......@@ -223,7 +220,7 @@ int lowerlayer_data_ind(nas_user_t *user, unsigned int ueid, const OctetString *
esm_sap.primitive = ESM_UNITDATA_IND;
esm_sap.is_standalone = TRUE;
esm_sap.ueid = ueid;
esm_sap.ueid = user->ueid;
esm_sap.recv = data;
rc = esm_sap_send(user, &esm_sap);
......@@ -238,7 +235,6 @@ int lowerlayer_data_ind(nas_user_t *user, unsigned int ueid, const OctetString *
** Description: Notify the EPS Mobility Management entity that data have **
** to be transfered to lower layers **
** **
** Inputs: ueid: UE lower layer identifier **
** data: Data to be transfered to lower layers **
** Others: None **
** **
......@@ -247,7 +243,7 @@ int lowerlayer_data_ind(nas_user_t *user, unsigned int ueid, const OctetString *
** Others: None **
** **
***************************************************************************/
int lowerlayer_data_req(nas_user_t *user, unsigned int ueid, const OctetString *data)
int lowerlayer_data_req(nas_user_t *user, const OctetString *data)
{
LOG_FUNC_IN;
......@@ -258,7 +254,7 @@ int lowerlayer_data_req(nas_user_t *user, unsigned int ueid, const OctetString *
emm_sap.primitive = EMMAS_DATA_REQ;
emm_sap.u.emm_as.u.data.guti = user->emm_data->guti;
emm_sap.u.emm_as.u.data.ueid = 0;
emm_sap.u.emm_as.u.data.ueid = user->ueid;
sctx = user->emm_data->security;
emm_sap.u.emm_as.u.data.NASinfo = 0;
......
......@@ -79,13 +79,12 @@ typedef int (*lowerlayer_release_callback_t)(void *);
/****************** E X P O R T E D F U N C T I O N S ******************/
/****************************************************************************/
// FIXME prototype with ueid
int lowerlayer_success(nas_user_t *user, unsigned int ueid);
int lowerlayer_failure(nas_user_t *user, unsigned int ueid);
int lowerlayer_success(nas_user_t *user);
int lowerlayer_failure(nas_user_t *user);
int lowerlayer_establish(nas_user_t *user);
int lowerlayer_release(nas_user_t *user, int cause);
int lowerlayer_data_ind(nas_user_t *user, unsigned int ueid, const OctetString *data);
int lowerlayer_data_req(nas_user_t *user, unsigned int ueid, const OctetString *data);
int lowerlayer_data_ind(nas_user_t *user, const OctetString *data);
int lowerlayer_data_req(nas_user_t *user, const OctetString *data);
#endif /* __LOWERLAYER_H__*/
......@@ -446,18 +446,18 @@ static int _emm_as_data_ind(nas_user_t *user, const emm_as_data_t *msg, int *emm
EPS_SESSION_MANAGEMENT_MESSAGE) {
const OctetString data = {bytes, (uint8_t *)plain_msg};
/* Foward ESM data to EPS session management */
rc = lowerlayer_data_ind(user, msg->ueid, &data);
rc = lowerlayer_data_ind(user, &data);
}
free(plain_msg);
}
} else {
/* Process successfull lower layer transfer indication */
rc = lowerlayer_success(user, msg->ueid);
rc = lowerlayer_success(user);
}
} else {
/* Process lower layer transmission failure of NAS message */
rc = lowerlayer_failure(user, msg->ueid);
rc = lowerlayer_failure(user);
}
LOG_FUNC_RETURN (rc);
......@@ -496,7 +496,7 @@ static int _emm_as_establish_cnf(nas_user_t *user, const emm_as_establish_t *msg
} else {
/* The initial NAS message has been successfully delivered to
* lower layers */
rc = lowerlayer_success(user, 0);
rc = lowerlayer_success(user);
LOG_FUNC_RETURN (rc);
}
......@@ -571,7 +571,7 @@ static int _emm_as_establish_rej(nas_user_t *user)
"failure");
/* Process lower layer transmission failure of initial NAS message */
rc = lowerlayer_failure(user, 0);
rc = lowerlayer_failure(user);
LOG_FUNC_RETURN (rc);
}
......
......@@ -149,7 +149,7 @@ int emm_esm_send(nas_user_t *user, const emm_esm_t *msg)
case _EMMESM_UNITDATA_REQ:
/* ESM requests EMM to transfer ESM data unit to lower layer */
rc = lowerlayer_data_req(user, msg->ueid, &msg->u.data.msg);
rc = lowerlayer_data_req(user, &msg->u.data.msg);
break;
default:
......
......@@ -71,6 +71,7 @@ void *nas_ue_task(void *args_p)
nas_user_t user_value = {};
nas_user_t *user = &user_value;
user->ueid = 0;
itti_mark_task_ready (TASK_NAS_UE);
MSC_START_USE();
......
......@@ -59,6 +59,7 @@ Description NAS type definition to manage a user equipment
#include "at_response.h"
typedef struct {
int ueid; /* UE lower layer identifier */
int fd;
proc_data_t proc;
// Eps Session Management
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment