Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
f8f81aca
Commit
f8f81aca
authored
Nov 22, 2021
by
Cedric Roux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
T tracer: trace MAC DL retransmission PDUs in the gnb
and adapt macpdu2wireshark to deal with them
parent
a718ba33
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
7 deletions
+52
-7
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+4
-0
common/utils/T/tracer/macpdu2wireshark.c
common/utils/T/tracer/macpdu2wireshark.c
+45
-7
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+3
-0
No files found.
common/utils/T/T_messages.txt
View file @
f8f81aca
...
@@ -155,6 +155,10 @@ ID = GNB_MAC_DL_RAR_PDU_WITH_DATA
...
@@ -155,6 +155,10 @@ ID = GNB_MAC_DL_RAR_PDU_WITH_DATA
DESC = NR MAC downlink PDU for RAR
DESC = NR MAC downlink PDU for RAR
GROUP = ALL:MAC:GNB:WIRESHARK
GROUP = ALL:MAC:GNB:WIRESHARK
FORMAT = int,gNB_ID : int,CC_id : int,rnti : int,frame : int,slot : int,harq_pid : buffer,data
FORMAT = int,gNB_ID : int,CC_id : int,rnti : int,frame : int,slot : int,harq_pid : buffer,data
ID = GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA
DESC = NR MAC downlink retransmitted PDU for an UE
GROUP = ALL:MAC:GNB:WIRESHARK
FORMAT = int,gNB_ID : int,CC_id : int,rnti : int,frame : int,slot : int,harq_pid : int,round : buffer,data
#RLC logs
#RLC logs
ID = ENB_RLC_DL
ID = ENB_RLC_DL
...
...
common/utils/T/tracer/macpdu2wireshark.c
View file @
f8f81aca
...
@@ -65,6 +65,11 @@ typedef struct {
...
@@ -65,6 +65,11 @@ typedef struct {
int
nr_dl_frame
;
int
nr_dl_frame
;
int
nr_dl_slot
;
int
nr_dl_slot
;
int
nr_dl_data
;
int
nr_dl_data
;
/* NR dl retx */
int
nr_dl_retx_rnti
;
int
nr_dl_retx_frame
;
int
nr_dl_retx_slot
;
int
nr_dl_retx_data
;
/* NR mib */
/* NR mib */
int
nr_mib_frame
;
int
nr_mib_frame
;
int
nr_mib_slot
;
int
nr_mib_slot
;
...
@@ -338,6 +343,16 @@ void nr_dl(void *_d, event e)
...
@@ -338,6 +343,16 @@ void nr_dl(void *_d, event e)
e
.
e
[
d
->
nr_dl_data
].
b
,
e
.
e
[
d
->
nr_dl_data
].
bsize
,
NO_PREAMBLE
);
e
.
e
[
d
->
nr_dl_data
].
b
,
e
.
e
[
d
->
nr_dl_data
].
bsize
,
NO_PREAMBLE
);
}
}
void
nr_dl_retx
(
void
*
_d
,
event
e
)
{
ev_data
*
d
=
_d
;
trace_nr
(
d
,
NR_DIRECTION_DOWNLINK
,
NR_C_RNTI
,
e
.
e
[
d
->
nr_dl_retx_rnti
].
i
,
e
.
e
[
d
->
nr_dl_retx_frame
].
i
,
e
.
e
[
d
->
nr_dl_retx_slot
].
i
,
e
.
e
[
d
->
nr_dl_retx_data
].
b
,
e
.
e
[
d
->
nr_dl_retx_data
].
bsize
,
NO_PREAMBLE
);
}
void
nr_mib
(
void
*
_d
,
event
e
)
void
nr_mib
(
void
*
_d
,
event
e
)
{
{
ev_data
*
d
=
_d
;
ev_data
*
d
=
_d
;
...
@@ -367,7 +382,8 @@ void nr_rar(void *_d, event e)
...
@@ -367,7 +382,8 @@ void nr_rar(void *_d, event e)
void
setup_data
(
ev_data
*
d
,
void
*
database
,
int
ul_id
,
int
dl_id
,
int
mib_id
,
void
setup_data
(
ev_data
*
d
,
void
*
database
,
int
ul_id
,
int
dl_id
,
int
mib_id
,
int
preamble_id
,
int
rar_id
,
int
sr_id
,
int
preamble_id
,
int
rar_id
,
int
sr_id
,
int
nr_ul_id
,
int
nr_dl_id
,
int
nr_mib_id
,
int
nr_rar_id
)
int
nr_ul_id
,
int
nr_dl_id
,
int
nr_dl_retx_id
,
int
nr_mib_id
,
int
nr_rar_id
)
{
{
database_event_format
f
;
database_event_format
f
;
int
i
;
int
i
;
...
@@ -401,6 +417,10 @@ void setup_data(ev_data *d, void *database, int ul_id, int dl_id, int mib_id,
...
@@ -401,6 +417,10 @@ void setup_data(ev_data *d, void *database, int ul_id, int dl_id, int mib_id,
d
->
nr_dl_frame
=
-
1
;
d
->
nr_dl_frame
=
-
1
;
d
->
nr_dl_slot
=
-
1
;
d
->
nr_dl_slot
=
-
1
;
d
->
nr_dl_data
=
-
1
;
d
->
nr_dl_data
=
-
1
;
d
->
nr_dl_retx_rnti
=
-
1
;
d
->
nr_dl_retx_frame
=
-
1
;
d
->
nr_dl_retx_slot
=
-
1
;
d
->
nr_dl_retx_data
=
-
1
;
d
->
nr_mib_frame
=
-
1
;
d
->
nr_mib_frame
=
-
1
;
d
->
nr_mib_slot
=
-
1
;
d
->
nr_mib_slot
=
-
1
;
d
->
nr_mib_data
=
-
1
;
d
->
nr_mib_data
=
-
1
;
...
@@ -518,6 +538,20 @@ void setup_data(ev_data *d, void *database, int ul_id, int dl_id, int mib_id,
...
@@ -518,6 +538,20 @@ void setup_data(ev_data *d, void *database, int ul_id, int dl_id, int mib_id,
d
->
nr_dl_data
==
-
1
)
d
->
nr_dl_data
==
-
1
)
goto
error
;
goto
error
;
/* NR dl retx: rnti, frame, slot, data */
f
=
get_format
(
database
,
nr_dl_retx_id
);
for
(
i
=
0
;
i
<
f
.
count
;
i
++
)
{
G
(
"rnti"
,
"int"
,
d
->
nr_dl_retx_rnti
);
G
(
"frame"
,
"int"
,
d
->
nr_dl_retx_frame
);
G
(
"slot"
,
"int"
,
d
->
nr_dl_retx_slot
);
G
(
"data"
,
"buffer"
,
d
->
nr_dl_retx_data
);
}
if
(
d
->
nr_dl_retx_rnti
==
-
1
||
d
->
nr_dl_retx_frame
==
-
1
||
d
->
nr_dl_retx_slot
==
-
1
||
d
->
nr_dl_retx_data
==
-
1
)
goto
error
;
/* NR MIB: frame, slot, data */
/* NR MIB: frame, slot, data */
f
=
get_format
(
database
,
nr_mib_id
);
f
=
get_format
(
database
,
nr_mib_id
);
...
@@ -612,7 +646,7 @@ int main(int n, char **v)
...
@@ -612,7 +646,7 @@ int main(int n, char **v)
int
in
;
int
in
;
int
i
;
int
i
;
int
ul_id
,
dl_id
,
mib_id
,
preamble_id
,
rar_id
;
int
ul_id
,
dl_id
,
mib_id
,
preamble_id
,
rar_id
;
int
nr_ul_id
,
nr_dl_id
,
nr_mib_id
,
nr_rar_id
;
int
nr_ul_id
,
nr_dl_id
,
nr_
dl_retx_id
,
nr_
mib_id
,
nr_rar_id
;
int
sr_id
;
int
sr_id
;
ev_data
d
;
ev_data
d
;
char
*
ip
=
DEFAULT_IP
;
char
*
ip
=
DEFAULT_IP
;
...
@@ -692,6 +726,7 @@ int main(int n, char **v)
...
@@ -692,6 +726,7 @@ int main(int n, char **v)
on_off
(
database
,
"GNB_MAC_UL_PDU_WITH_DATA"
,
is_on
,
1
);
on_off
(
database
,
"GNB_MAC_UL_PDU_WITH_DATA"
,
is_on
,
1
);
on_off
(
database
,
"GNB_MAC_DL_PDU_WITH_DATA"
,
is_on
,
1
);
on_off
(
database
,
"GNB_MAC_DL_PDU_WITH_DATA"
,
is_on
,
1
);
on_off
(
database
,
"GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA"
,
is_on
,
1
);
on_off
(
database
,
"GNB_PHY_MIB"
,
is_on
,
1
);
on_off
(
database
,
"GNB_PHY_MIB"
,
is_on
,
1
);
on_off
(
database
,
"GNB_MAC_DL_RAR_PDU_WITH_DATA"
,
is_on
,
1
);
on_off
(
database
,
"GNB_MAC_DL_RAR_PDU_WITH_DATA"
,
is_on
,
1
);
...
@@ -715,11 +750,12 @@ int main(int n, char **v)
...
@@ -715,11 +750,12 @@ int main(int n, char **v)
nr_ul_id
=
event_id_from_name
(
database
,
"GNB_MAC_UL_PDU_WITH_DATA"
);
nr_ul_id
=
event_id_from_name
(
database
,
"GNB_MAC_UL_PDU_WITH_DATA"
);
nr_dl_id
=
event_id_from_name
(
database
,
"GNB_MAC_DL_PDU_WITH_DATA"
);
nr_dl_id
=
event_id_from_name
(
database
,
"GNB_MAC_DL_PDU_WITH_DATA"
);
nr_dl_retx_id
=
event_id_from_name
(
database
,
"GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA"
);
nr_mib_id
=
event_id_from_name
(
database
,
"GNB_PHY_MIB"
);
nr_mib_id
=
event_id_from_name
(
database
,
"GNB_PHY_MIB"
);
nr_rar_id
=
event_id_from_name
(
database
,
"GNB_MAC_DL_RAR_PDU_WITH_DATA"
);
nr_rar_id
=
event_id_from_name
(
database
,
"GNB_MAC_DL_RAR_PDU_WITH_DATA"
);
setup_data
(
&
d
,
database
,
ul_id
,
dl_id
,
mib_id
,
preamble_id
,
rar_id
,
sr_id
,
setup_data
(
&
d
,
database
,
ul_id
,
dl_id
,
mib_id
,
preamble_id
,
rar_id
,
sr_id
,
nr_ul_id
,
nr_dl_id
,
nr_mib_id
,
nr_rar_id
);
nr_ul_id
,
nr_dl_id
,
nr_
dl_retx_id
,
nr_
mib_id
,
nr_rar_id
);
register_handler_function
(
h
,
ul_id
,
ul
,
&
d
);
register_handler_function
(
h
,
ul_id
,
ul
,
&
d
);
register_handler_function
(
h
,
dl_id
,
dl
,
&
d
);
register_handler_function
(
h
,
dl_id
,
dl
,
&
d
);
...
@@ -730,6 +766,7 @@ int main(int n, char **v)
...
@@ -730,6 +766,7 @@ int main(int n, char **v)
register_handler_function
(
h
,
nr_ul_id
,
nr_ul
,
&
d
);
register_handler_function
(
h
,
nr_ul_id
,
nr_ul
,
&
d
);
register_handler_function
(
h
,
nr_dl_id
,
nr_dl
,
&
d
);
register_handler_function
(
h
,
nr_dl_id
,
nr_dl
,
&
d
);
register_handler_function
(
h
,
nr_dl_retx_id
,
nr_dl_retx
,
&
d
);
register_handler_function
(
h
,
nr_mib_id
,
nr_mib
,
&
d
);
register_handler_function
(
h
,
nr_mib_id
,
nr_mib
,
&
d
);
register_handler_function
(
h
,
nr_rar_id
,
nr_rar
,
&
d
);
register_handler_function
(
h
,
nr_rar_id
,
nr_rar
,
&
d
);
...
@@ -756,7 +793,8 @@ int main(int n, char **v)
...
@@ -756,7 +793,8 @@ int main(int n, char **v)
if
(
!
(
e
.
type
==
ul_id
||
e
.
type
==
dl_id
||
e
.
type
==
mib_id
||
if
(
!
(
e
.
type
==
ul_id
||
e
.
type
==
dl_id
||
e
.
type
==
mib_id
||
e
.
type
==
preamble_id
||
e
.
type
==
rar_id
||
e
.
type
==
sr_id
||
e
.
type
==
preamble_id
||
e
.
type
==
rar_id
||
e
.
type
==
sr_id
||
e
.
type
==
nr_ul_id
||
e
.
type
==
nr_dl_id
||
e
.
type
==
nr_ul_id
||
e
.
type
==
nr_dl_id
||
e
.
type
==
nr_mib_id
||
e
.
type
==
nr_rar_id
))
continue
;
e
.
type
==
nr_dl_retx_id
||
e
.
type
==
nr_mib_id
||
e
.
type
==
nr_rar_id
))
continue
;
handle_event
(
h
,
e
);
handle_event
(
h
,
e
);
}
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
f8f81aca
...
@@ -1198,6 +1198,9 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -1198,6 +1198,9 @@ void nr_schedule_ue_spec(module_id_t module_id,
"UE %d mismatch between scheduled TBS and buffered TB for HARQ PID %d
\n
"
,
"UE %d mismatch between scheduled TBS and buffered TB for HARQ PID %d
\n
"
,
UE_id
,
UE_id
,
current_harq_pid
);
current_harq_pid
);
T
(
T_GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA
,
T_INT
(
module_id
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frame
),
T_INT
(
slot
),
T_INT
(
current_harq_pid
),
T_INT
(
harq
->
round
),
T_BUFFER
(
harq
->
tb
,
TBS
));
}
else
{
/* initial transmission */
}
else
{
/* initial transmission */
LOG_D
(
NR_MAC
,
"[%s] Initial HARQ transmission in %d.%d
\n
"
,
__FUNCTION__
,
frame
,
slot
);
LOG_D
(
NR_MAC
,
"[%s] Initial HARQ transmission in %d.%d
\n
"
,
__FUNCTION__
,
frame
,
slot
);
...
...
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