Fix the setting of the SCTP ostream-id (#206)

This commit is contained in:
Sukchan Lee 2019-06-26 23:06:31 +09:00
parent 7492ec734b
commit 6901278816
2 changed files with 10 additions and 14 deletions

View File

@ -1529,6 +1529,9 @@ mme_vlr_t *mme_vlr_add(ogs_sockaddr_t *sa_list)
ogs_assert(vlr);
memset(vlr, 0, sizeof *vlr);
vlr->max_num_of_ostreams = DEFAULT_SCTP_MAX_NUM_OF_OSTREAMS;
vlr->ostream_id = 0;
vlr->sa_list = sa_list;
ogs_list_add(&self.vlr_list, vlr);
@ -1639,6 +1642,7 @@ mme_enb_t *mme_enb_add(ogs_sock_t *sock, ogs_sockaddr_t *addr)
enb->sock_type = mme_enb_sock_type(enb->sock);
enb->max_num_of_ostreams = DEFAULT_SCTP_MAX_NUM_OF_OSTREAMS;
enb->ostream_id = 0;
if (context_self()->config.sockopt.sctp.max_num_of_ostreams) {
enb->max_num_of_ostreams =
context_self()->config.sockopt.sctp.max_num_of_ostreams;
@ -1951,7 +1955,7 @@ mme_ue_t* mme_ue_add(enb_ue_t *enb_ue)
* 1-29 : UE specific association
*/
mme_ue->enb_ostream_id =
NEXT_ID(self.enb_ostream_id, 1, enb->max_num_of_ostreams-1);
NEXT_ID(enb->ostream_id, 1, enb->max_num_of_ostreams-1);
/* Create New GUTI */
mme_ue_new_guti(mme_ue);
@ -1987,15 +1991,6 @@ mme_ue_t* mme_ue_add(enb_ue_t *enb_ue)
mme_ue->vlr = NULL;
mme_ue->vlr_ostream_id = 0;
#if 0 /* FIXME */
if (mme_ue->vlr) {
mme_ue->vlr_ostream_id =
NEXT_ID(self.vlr_ostream_id, 1, mme_ue->vlr->max_num_of_ostreams-1);
} else {
mme_ue->vlr_ostream_id = 0;
}
#endif
/* Create paging retry timer */
mme_ue->t3413 = ogs_timer_add(self.timer_mgr, s1ap_t3413_timeout, mme_ue);
ogs_assert(mme_ue->t3413);

View File

@ -127,8 +127,6 @@ typedef struct mme_context_s {
/* Generator for unique identification */
uint32_t mme_ue_s1ap_id; /* mme_ue_s1ap_id generator */
uint16_t enb_ostream_id; /* enb_ostream_id generator */
uint16_t vlr_ostream_id; /* vlr_ostream_id generator */
/* M-TMSI Pool */
OGS_POOL(m_tmsi, mme_m_tmsi_t);
@ -180,7 +178,8 @@ typedef struct mme_vlr_s {
nas_tai_t tai;
nas_lai_t lai;
uint16_t max_num_of_ostreams; /* SCTP Max num of outbound streams */
uint16_t max_num_of_ostreams;/* SCTP Max num of outbound streams */
uint16_t ostream_id; /* vlr_ostream_id generator */
ogs_sockaddr_t *sa_list; /* VLR SGsAP Socket Address List */
@ -197,7 +196,9 @@ typedef struct mme_enb_s {
ogs_sockaddr_t *addr; /* eNB S1AP Address */
ogs_poll_t *poll; /* eNB S1AP Poll */
uint16_t max_num_of_ostreams; /* SCTP Max num of outbound streams */
uint16_t max_num_of_ostreams;/* SCTP Max num of outbound streams */
uint16_t ostream_id; /* enb_ostream_id generator */
uint8_t num_of_supported_ta_list;
tai_t supported_ta_list[MAX_NUM_OF_TAI * MAX_NUM_OF_BPLMN];