Commit cbec05f0 authored by Cedric Roux's avatar Cedric Roux
Browse files

- Add config file name for itti in EPC

- Add rrc ue identifier in downlink NAS transport message

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4466 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 6f6a52c7
......@@ -74,7 +74,9 @@ int main(int argc, char *argv[])
/* Calling each layer init function */
CHECK_INIT_RETURN(log_init(&mme_config, oai_epc_log_specific));
CHECK_INIT_RETURN(itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL));
CHECK_INIT_RETURN(itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX,
tasks_info, messages_info, messages_definition_xml,
mme_config.itti_config.log_file));
CHECK_INIT_RETURN(nas_init(&mme_config));
CHECK_INIT_RETURN(sctp_init(&mme_config));
......
......@@ -20,7 +20,10 @@ void s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
itti_send_msg_to_task(TASK_SCTP, instance, message_p);
}
void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance, uint8_t *nas_pdu,
void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
uint16_t ue_initial_id,
uint32_t eNB_ue_s1ap_id,
uint8_t *nas_pdu,
uint32_t nas_pdu_length)
{
MessageDef *message_p;
......@@ -30,6 +33,8 @@ void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance, uint8_t *nas_pdu,
s1ap_downlink_nas = &message_p->msg.s1ap_downlink_nas;
s1ap_downlink_nas->ue_initial_id = ue_initial_id;
s1ap_downlink_nas->eNB_ue_s1ap_id = eNB_ue_s1ap_id;
s1ap_downlink_nas->nas_pdu.buffer = nas_pdu;
s1ap_downlink_nas->nas_pdu.length = nas_pdu_length;
......
......@@ -4,7 +4,10 @@
void s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
uint32_t buffer_length, uint16_t stream);
void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance, uint8_t *nas_pdu,
void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
uint16_t ue_initial_id,
uint32_t eNB_ue_s1ap_id,
uint8_t *nas_pdu,
uint32_t nas_pdu_length);
#endif /* S1AP_ENB_ITTI_MESSAGING_H_ */
......@@ -258,6 +258,8 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id,
/* Forward the NAS PDU to RRC */
s1ap_eNB_itti_send_nas_downlink_ind(s1ap_eNB_instance->instance,
ue_desc_p->ue_initial_id,
ue_desc_p->eNB_ue_s1ap_id,
downlink_NAS_transport_p->nas_pdu.buf,
downlink_NAS_transport_p->nas_pdu.size);
......
......@@ -86,7 +86,9 @@ void config_init(mme_config_t *mme_config_p)
mme_config_p->ipv4.sgw_ip_netmask_for_S11 = DEFAULT_SGW_IP_NETMASK_FOR_S11;
mme_config_p->s6a_config.conf_file = S6A_CONF_FILE;
mme_config_p->itti_config.queue_size = ITTI_QUEUE_SIZE_MAX;
mme_config_p->itti_config.log_file = NULL;
mme_config_p->sctp_config.in_streams = SCTP_IN_STREAMS;
mme_config_p->sctp_config.out_streams = SCTP_OUT_STREAMS;
......@@ -199,6 +201,7 @@ static void config_display(mme_config_t *mme_config_p)
mme_config_p->ipv4.mme_ip_netmask_for_S11);
fprintf(stdout, "- ITTI:\n");
fprintf(stdout, " queue size .....: %u (bytes)\n", mme_config_p->itti_config.queue_size);
fprintf(stdout, " log file .......: %s\n", mme_config_p->itti_config.log_file);
fprintf(stdout, "- SCTP:\n");
fprintf(stdout, " in streams .....: %u\n", mme_config_p->sctp_config.in_streams);
fprintf(stdout, " out streams ....: %u\n", mme_config_p->sctp_config.out_streams);
......@@ -227,6 +230,8 @@ static void usage(void)
fprintf(stdout, "-c<path>\n");
fprintf(stdout, " Set the configuration file for mme\n");
fprintf(stdout, " See template in UTILS/CONF\n");
fprintf(stdout, "-K<file>\n");
fprintf(stdout, " Output intertask messages to provided file\n");
fprintf(stdout, "-V Print %s version and return\n", PACKAGE_NAME);
fprintf(stdout, "-v[1-2] Debug level:\n");
fprintf(stdout, " 1 -> ASN1 XER printf on and ASN1 debug off\n");
......@@ -241,7 +246,7 @@ int config_parse_opt_line(int argc, char *argv[], mme_config_t *mme_config_p)
int c;
config_init(mme_config_p);
/* Parsing command line */
while ((c = getopt (argc, argv, "c:hi:v:V")) != -1) {
while ((c = getopt (argc, argv, "c:hi:K:v:V")) != -1) {
switch (c) {
case 'c': {
/* Store the given configuration file. If no file is given,
......@@ -272,6 +277,9 @@ int config_parse_opt_line(int argc, char *argv[], mme_config_t *mme_config_p)
exit(0);
nwGtpv1uDisplayBanner();
} break;
case 'K':
mme_config_p->itti_config.log_file = strdup(optarg);
break;
case 'h': /* Fall through */
default:
usage();
......
......@@ -111,6 +111,7 @@ typedef struct mme_config_s {
} s6a_config;
struct {
uint32_t queue_size;
char *log_file;
} itti_config;
} mme_config_t;
......
......@@ -245,7 +245,16 @@ typedef struct s1ap_uplink_nas_s {
nas_pdu_t nas_pdu;
} s1ap_uplink_nas_t;
typedef s1ap_uplink_nas_t s1ap_downlink_nas_t;
typedef struct s1ap_downlink_nas_s {
/* UE id for initial connection to S1AP */
uint16_t ue_initial_id;
/* Unique UE identifier within an eNB */
unsigned eNB_ue_s1ap_id:24;
/* NAS pdu */
nas_pdu_t nas_pdu;
} s1ap_downlink_nas_t;
typedef struct s1ap_initial_context_setup_req_s {
/* UE id for initial connection to S1AP */
......
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