Commit 62aec337 authored by hardy's avatar hardy

Merge remote-tracking branch 'origin/flexran-repair-mme-mgmt' into integration_2021_wk04_b

parents 951fdfef ed0c12ba
...@@ -3491,22 +3491,22 @@ int flexran_add_s1ap_mme(mid_t mod_id, size_t n_mme, char **mme_ipv4) { ...@@ -3491,22 +3491,22 @@ int flexran_add_s1ap_mme(mid_t mod_id, size_t n_mme, char **mme_ipv4) {
S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_num[n] = mme->broadcast_plmn_num; S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_num[n] = mme->broadcast_plmn_num;
for (int i = 0; i < mme->broadcast_plmn_num; ++i) for (int i = 0; i < mme->broadcast_plmn_num; ++i)
S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_index[n][i] = mme->broadcast_plmn_index[i]; S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_index[n][i] = mme->broadcast_plmn_index[i];
S1AP_REGISTER_ENB_REQ(m).mme_port[n] = mme->mme_port;
S1AP_REGISTER_ENB_REQ(m).nb_mme += 1; S1AP_REGISTER_ENB_REQ(m).nb_mme += 1;
} }
if (S1AP_REGISTER_ENB_REQ(m).nb_mme + n_mme > S1AP_MAX_NB_MME_IP_ADDRESS) if (S1AP_REGISTER_ENB_REQ(m).nb_mme + n_mme > S1AP_MAX_NB_MME_IP_ADDRESS)
return -1; return -1;
for (int i = 0; i < n_mme; ++i) { const int n = S1AP_REGISTER_ENB_REQ(m).nb_mme;
const int n = S1AP_REGISTER_ENB_REQ(m).nb_mme; strcpy(S1AP_REGISTER_ENB_REQ(m).mme_ip_address[n].ipv4_address, mme_ipv4[0]);
strcpy(S1AP_REGISTER_ENB_REQ(m).mme_ip_address[n].ipv4_address, mme_ipv4[0]); S1AP_REGISTER_ENB_REQ(m).mme_ip_address[n].ipv4 = 1;
S1AP_REGISTER_ENB_REQ(m).mme_ip_address[n].ipv4 = 1; S1AP_REGISTER_ENB_REQ(m).mme_ip_address[n].ipv6 = 0;
S1AP_REGISTER_ENB_REQ(m).mme_ip_address[n].ipv6 = 0; S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_num[n] = S1AP_REGISTER_ENB_REQ(m).num_plmn;
S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_num[n] = S1AP_REGISTER_ENB_REQ(m).num_plmn; for (int i = 0; i < S1AP_REGISTER_ENB_REQ(m).num_plmn; ++i)
for (int i = 0; i < S1AP_REGISTER_ENB_REQ(m).num_plmn; ++i) S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_index[n][i] = i;
S1AP_REGISTER_ENB_REQ(m).broadcast_plmn_index[n][i] = i; S1AP_REGISTER_ENB_REQ(m).mme_port[n] = S1AP_PORT_NUMBER;
S1AP_REGISTER_ENB_REQ(m).nb_mme += 1; S1AP_REGISTER_ENB_REQ(m).nb_mme += 1;
}
itti_send_msg_to_task (TASK_S1AP, ENB_MODULE_ID_TO_INSTANCE(mod_id), m); itti_send_msg_to_task (TASK_S1AP, ENB_MODULE_ID_TO_INSTANCE(mod_id), m);
......
...@@ -127,6 +127,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, ...@@ -127,6 +127,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
memcpy(&s1ap_mme_data_p->mme_s1_ip, memcpy(&s1ap_mme_data_p->mme_s1_ip,
mme_ip_address, mme_ip_address,
sizeof(*mme_ip_address)); sizeof(*mme_ip_address));
s1ap_mme_data_p->mme_port = mme_port;
for (int i = 0; i < broadcast_plmn_num; ++i) for (int i = 0; i < broadcast_plmn_num; ++i)
s1ap_mme_data_p->broadcast_plmn_index[i] = broadcast_plmn_index[i]; s1ap_mme_data_p->broadcast_plmn_index[i] = broadcast_plmn_index[i];
......
...@@ -124,8 +124,9 @@ typedef struct s1ap_eNB_mme_data_s { ...@@ -124,8 +124,9 @@ typedef struct s1ap_eNB_mme_data_s {
/* This is the optional name provided by the MME */ /* This is the optional name provided by the MME */
char *mme_name; char *mme_name;
/* MME S1AP IP address */ /* MME S1AP IP address and port */
net_ip_address_t mme_s1_ip; net_ip_address_t mme_s1_ip;
uint16_t mme_port;
/* List of served GUMMEI per MME. There is one GUMMEI per RAT with a max /* List of served GUMMEI per MME. There is one GUMMEI per RAT with a max
* number of 8 RATs but in our case only one is used. The LTE related pool * number of 8 RATs but in our case only one is used. The LTE related pool
......
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