Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
promise
OpenXG-RAN
Commits
76e16362
Commit
76e16362
authored
Nov 12, 2018
by
Louis Adrien Dufrene
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RRC timer reset in scheduler: format of some functions before first test
parent
d3f8f9d6
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
198 additions
and
159 deletions
+198
-159
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+54
-40
openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
+78
-68
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+66
-47
openair2/RRC/LTE/rrc_eNB_S1AP.c
openair2/RRC/LTE/rrc_eNB_S1AP.c
+0
-4
No files found.
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
View file @
76e16362
...
...
@@ -1033,68 +1033,82 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
// TODO: check if the lcid is active
LOG_D
(
MAC
,
"[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)
\n
"
,
module_idP
,
frameP
,
lcid
,
TBS
,
TBS
-
ta_len
-
header_length_total
-
sdu_length_total
-
3
);
module_idP
,
frameP
,
lcid
,
TBS
,
TBS
-
ta_len
-
header_length_total
-
sdu_length_total
-
3
);
if
(
TBS
-
ta_len
-
header_length_total
-
sdu_length_total
-
3
>
0
)
{
rlc_status
=
mac_rlc_status_ind
(
module_idP
,
rnti
,
module_idP
,
frameP
,
subframeP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
-
ta_len
-
header_length_total
-
sdu_length_total
-
3
rnti
,
module_idP
,
frameP
,
subframeP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
-
ta_len
-
header_length_total
-
sdu_length_total
-
3
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
0
,
0
,
0
,
0
#endif
);
);
if
(
rlc_status
.
bytes_in_buffer
>
0
)
{
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)
\n
"
,
module_idP
,
frameP
,
TBS
-
ta_len
-
header_length_total
-
sdu_length_total
-
3
,
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)
\n
"
,
module_idP
,
frameP
,
TBS
-
ta_len
-
header_length_total
-
sdu_length_total
-
3
,
lcid
,
header_length_total
);
sdu_lengths
[
num_sdus
]
=
mac_rlc_data_req
(
module_idP
,
rnti
,
module_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
,
//not used
(
char
*
)
&
dlsch_buffer
[
sdu_length_total
]
sdu_lengths
[
num_sdus
]
=
mac_rlc_data_req
(
module_idP
,
rnti
,
module_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
,
//not used
(
char
*
)
&
dlsch_buffer
[
sdu_length_total
]
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
0
,
0
,
0
,
0
#endif
);
T
(
T_ENB_MAC_UE_DL_SDU
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T_INT
(
subframeP
),
T_INT
(
harq_pid
),
T_INT
(
lcid
),
T_INT
(
sdu_lengths
[
num_sdus
]));
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d
\n
"
,
module_idP
,
sdu_lengths
[
num_sdus
],
lcid
);
);
T
(
T_ENB_MAC_UE_DL_SDU
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T_INT
(
subframeP
),
T_INT
(
harq_pid
),
T_INT
(
lcid
),
T_INT
(
sdu_lengths
[
num_sdus
]));
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d
\n
"
,
module_idP
,
sdu_lengths
[
num_sdus
],
lcid
);
sdu_lcids
[
num_sdus
]
=
lcid
;
sdu_length_total
+=
sdu_lengths
[
num_sdus
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
num_pdu_tx
[
lcid
]
++
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
lcid_sdu
[
num_sdus
]
=
lcid
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
sdu_length_tx
[
lcid
]
=
sdu_lengths
[
num_sdus
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
lcid_sdu
[
num_sdus
]
=
lcid
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
sdu_length_tx
[
lcid
]
=
sdu_lengths
[
num_sdus
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
num_bytes_tx
[
lcid
]
+=
sdu_lengths
[
num_sdus
];
header_length_last
=
1
+
1
+
(
sdu_lengths
[
num_sdus
]
>=
128
);
header_length_total
+=
header_length_last
;
header_length_last
=
1
+
1
+
(
sdu_lengths
[
num_sdus
]
>=
128
);
header_length_total
+=
header_length_last
;
num_sdus
++
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
}
}
else
{
// no TBS left
break
;
}
// end if (rlc_status.bytes_in_buffer > 0)
}
else
{
// no TBS left
break
;
// break for (lcid = NB_RB_MAX - 1; lcid >= DTCH; lcid--)
}
}
...
...
openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
View file @
76e16362
...
...
@@ -1404,85 +1404,95 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
header_len_dtch
=
0
;
header_len_dtch_last
=
0
;
// the header length of the last mac sdu
// lcid has to be sorted before the actual allocation (similar struct as ue_list).
/* TODO limited lcid for performance */
for
(
lcid
=
DTCH
;
lcid
>=
DTCH
;
lcid
--
)
{
// TBD: check if the lcid is active
header_len_dtch
+=
3
;
header_len_dtch_last
=
3
;
LOG_D
(
MAC
,
"[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)
\n
"
,
module_idP
,
frameP
,
lcid
,
TBS
,
TBS
-
ta_len
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
);
if
(
TBS
-
ta_len
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
>
0
)
{
// NN: > 2 ?
rlc_status
=
mac_rlc_status_ind
(
module_idP
,
rnti
,
module_idP
,
frameP
,
subframeP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
-
ta_len
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
/* TODO limited lcid for performance */
for
(
lcid
=
DTCH
;
lcid
>=
DTCH
;
lcid
--
)
{
// TBD: check if the lcid is active
header_len_dtch
+=
3
;
header_len_dtch_last
=
3
;
LOG_D
(
MAC
,
"[eNB %d], Frame %d, DTCH%d->DLSCH, Checking RLC status (tbs %d, len %d)
\n
"
,
module_idP
,
frameP
,
lcid
,
TBS
,
TBS
-
ta_len
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
);
if
(
TBS
-
ta_len
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
>
0
)
{
// NN: > 2 ?
rlc_status
=
mac_rlc_status_ind
(
module_idP
,
rnti
,
module_idP
,
frameP
,
subframeP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
-
ta_len
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
#ifdef Rel14
,
0
,
0
,
0
,
0
#endif
);
);
if
(
rlc_status
.
bytes_in_buffer
>
0
)
{
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)
\n
"
,
module_idP
,
frameP
,
TBS
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
,
lcid
,
if
(
rlc_status
.
bytes_in_buffer
>
0
)
{
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Frame %d : DTCH->DLSCH, Requesting %d bytes from RLC (lcid %d total hdr len %d)
\n
"
,
module_idP
,
frameP
,
TBS
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
,
lcid
,
header_len_dtch
);
sdu_lengths
[
num_sdus
]
=
mac_rlc_data_req
(
module_idP
,
rnti
,
module_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
,
//not used
(
char
*
)
&
dlsch_buffer
[
sdu_length_total
]
#ifdef Rel14
,
0
,
0
sdu_lengths
[
num_sdus
]
=
mac_rlc_data_req
(
module_idP
,
rnti
,
module_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
lcid
,
TBS
,
//not used
(
char
*
)
&
dlsch_buffer
[
sdu_length_total
]
#ifdef Rel14
,
0
,
0
#endif
);
T
(
T_ENB_MAC_UE_DL_SDU
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T_INT
(
subframeP
),
T_INT
(
harq_pid
),
T_INT
(
lcid
),
T_INT
(
sdu_lengths
[
num_sdus
]));
);
T
(
T_ENB_MAC_UE_DL_SDU
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T_INT
(
subframeP
),
T_INT
(
harq_pid
),
T_INT
(
lcid
),
T_INT
(
sdu_lengths
[
num_sdus
]));
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d
\n
"
,
module_idP
,
sdu_lengths
[
num_sdus
],
lcid
);
LOG_D
(
MAC
,
"[eNB %d][USER-PLANE DEFAULT DRB] Got %d bytes for DTCH %d
\n
"
,
module_idP
,
sdu_lengths
[
num_sdus
],
lcid
);
sdu_lcids
[
num_sdus
]
=
lcid
;
sdu_length_total
+=
sdu_lengths
[
num_sdus
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
num_pdu_tx
[
lcid
]
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
num_bytes_tx
[
lcid
]
+=
sdu_lengths
[
num_sdus
];
if
(
sdu_lengths
[
num_sdus
]
<
128
)
{
header_len_dtch
--
;
header_len_dtch_last
--
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
num_pdu_tx
[
lcid
]
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
num_bytes_tx
[
lcid
]
+=
sdu_lengths
[
num_sdus
];
if
(
sdu_lengths
[
num_sdus
]
<
128
)
{
header_len_dtch
--
;
header_len_dtch_last
--
;
}
num_sdus
++
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
}
// no data for this LCID
else
{
header_len_dtch
-=
3
;
}
}
// no TBS left
else
{
header_len_dtch
-=
3
;
break
;
}
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
}
else
{
// no data for this LCID
header_len_dtch
-=
3
;
}
}
else
{
// no TBS left
header_len_dtch
-=
3
;
break
;
}
}
if
(
header_len_dtch
==
0
)
header_len_dtch_last
=
0
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
76e16362
...
...
@@ -669,69 +669,88 @@ rx_sdu(const module_id_t enb_mod_idP,
// }
break
;
// all the DRBS
// all the DRBS
case
DTCH
:
default:
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
LOG_T
(
MAC
,
"offset: %d
\n
"
,
(
unsigned
char
)
((
unsigned
char
*
)
payload_ptr
-
sduP
));
(
unsigned
char
)
((
unsigned
char
*
)
payload_ptr
-
sduP
));
for
(
j
=
0
;
j
<
32
;
j
++
)
{
LOG_T
(
MAC
,
"%x "
,
payload_ptr
[
j
]);
LOG_T
(
MAC
,
"%x "
,
payload_ptr
[
j
]);
}
LOG_T
(
MAC
,
"
\n
"
);
#endif
if
(
rx_lcids
[
i
]
<
NB_RB_MAX
)
{
LOG_D
(
MAC
,
"[eNB %d] CC_id %d Frame %d : ULSCH -> UL-DTCH, received %d bytes from UE %d for lcid %d
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
UE_id
,
rx_lcids
[
i
]);
if
(
UE_id
!=
-
1
)
{
// adjust buffer occupancy of the correponding logical channel group
LOG_D
(
MAC
,
"[eNB %d] CC_id %d Frame %d : ULSCH -> UL-DTCH, received %d bytes from UE %d for lcid %d, removing from LCGID %ld, %d
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
UE_id
,
rx_lcids
[
i
],
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]],
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
]
[
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]);
if
(
rx_lcids
[
i
]
<
NB_RB_MAX
)
{
LOG_D
(
MAC
,
"[eNB %d] CC_id %d Frame %d : ULSCH -> UL-DTCH, received %d bytes from UE %d for lcid %d
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
UE_id
,
rx_lcids
[
i
]);
if
(
UE_id
!=
-
1
)
{
// adjust buffer occupancy of the correponding logical channel group
LOG_D
(
MAC
,
"[eNB %d] CC_id %d Frame %d : ULSCH -> UL-DTCH, received %d bytes from UE %d for lcid %d, removing from LCGID %ld, %d
\n
"
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lengths
[
i
],
UE_id
,
rx_lcids
[
i
],
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]],
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]);
if
(
lcgid_updated
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]
==
0
)
{
if
(
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]
>=
rx_lengths
[
i
])
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]
-=
rx_lengths
[
i
];
else
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]
=
0
;
if
(
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]
>=
rx_lengths
[
i
])
{
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]
-=
rx_lengths
[
i
];
}
else
{
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
lcgidmap
[
rx_lcids
[
i
]]]
=
0
;
}
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
estimated_ul_buffer
=
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
0
]
+
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
1
]
+
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
2
]
+
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
3
];
//UE_list->UE_template[CC_idP][UE_id].estimated_ul_buffer += UE_list->UE_template[CC_idP][UE_id].estimated_ul_buffer / 4;
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
0
]
+
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
1
]
+
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
2
]
+
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
3
];
}
if
((
rx_lengths
[
i
]
<
SCH_PAYLOAD_SIZE_MAX
)
&&
(
rx_lengths
[
i
]
>
0
))
{
// MAX SIZE OF transport block
mac_rlc_data_ind
(
enb_mod_idP
,
current_rnti
,
enb_mod_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
rx_lcids
[
i
],
(
char
*
)
payload_ptr
,
rx_lengths
[
i
],
1
,
NULL
);
//(unsigned int*)crc_status);
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_pdu_rx
[
rx_lcids
[
i
]]
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_bytes_rx
[
rx_lcids
[
i
]]
+=
rx_lengths
[
i
];
//clear uplane_inactivity_timer
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
}
else
{
/* rx_length[i] */
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_errors_rx
+=
1
;
LOG_E
(
MAC
,
"[eNB %d] CC_id %d Frame %d : Max size of transport block reached LCID %d from UE %d "
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lcids
[
i
],
UE_id
);
}
}
else
{
/*(UE_id != -1 */
LOG_E
(
MAC
,
"[eNB %d] CC_id %d Frame %d : received unsupported or unknown LCID %d from UE %d "
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lcids
[
i
],
UE_id
);
}
if
((
rx_lengths
[
i
]
<
SCH_PAYLOAD_SIZE_MAX
)
&&
(
rx_lengths
[
i
]
>
0
))
{
// MAX SIZE OF transport block
mac_rlc_data_ind
(
enb_mod_idP
,
current_rnti
,
enb_mod_idP
,
frameP
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
rx_lcids
[
i
],
(
char
*
)
payload_ptr
,
rx_lengths
[
i
],
1
,
NULL
);
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_pdu_rx
[
rx_lcids
[
i
]]
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_bytes_rx
[
rx_lcids
[
i
]]
+=
rx_lengths
[
i
];
//clear uplane_inactivity_timer
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
}
else
{
/* rx_length[i] */
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_errors_rx
+=
1
;
LOG_E
(
MAC
,
"[eNB %d] CC_id %d Frame %d : Max size of transport block reached LCID %d from UE %d "
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lcids
[
i
],
UE_id
);
}
}
else
{
/*(UE_id != -1 */
LOG_E
(
MAC
,
"[eNB %d] CC_id %d Frame %d : received unsupported or unknown LCID %d from UE %d "
,
enb_mod_idP
,
CC_idP
,
frameP
,
rx_lcids
[
i
],
UE_id
);
}
}
break
;
...
...
openair2/RRC/LTE/rrc_eNB_S1AP.c
View file @
76e16362
...
...
@@ -256,7 +256,6 @@ rrc_eNB_S1AP_get_ue_ids(
* This case is uncommon, but can happen when:
* -> if the first NAS message was a Detach Request (non exhaustiv), the UE RRC context exist
* but is not associated with eNB_ue_s1ap_id
* -> if the UE is in IDLE, hence no S1 context exist (in this case [h_rc != HASH_TABLE_OK] is normal)
* -> ... (?)
*/
LOG_E
(
S1AP
,
"[eNB %ld] In hashtable_get, couldn't find in s1ap_id2_s1ap_ids eNB_ue_s1ap_id %"
PRIu32
", trying to find it through S1AP context
\n
"
,
...
...
@@ -267,9 +266,6 @@ rrc_eNB_S1AP_get_ue_ids(
s1ap_eNB_instance_p
=
s1ap_eNB_get_instance
(
instance
);
// get s1ap_eNB_instance
// s1ap_eNB_instance_p = s1ap_eNB_get_instance((uint8_t) rrc_instance_pP - RC.rrc[0]); // get s1ap_eNB_instance
// s1ap_eNB_instance_t *s1ap_eNB_get_instance(uint8_t mod_id);
ue_desc_p
=
s1ap_eNB_get_ue_context
(
s1ap_eNB_instance_p
,
eNB_ue_s1ap_id
);
// get s1ap_eNB_ue_context
if
(
ue_desc_p
!=
NULL
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment