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
spbro
OpenXG-RAN
Commits
7d505e70
Commit
7d505e70
authored
Aug 03, 2021
by
Melissa Elkadi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated PDSCH pdu copy from tx_data_req
Also, finally committing the critical logs for IP traffic.
parent
952e2cd1
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
33 additions
and
19 deletions
+33
-19
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+3
-2
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+1
-1
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+4
-2
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+21
-10
No files found.
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
7d505e70
...
@@ -1919,7 +1919,7 @@ void nr_ue_process_mac_pdu(nr_downlink_indication_t *dl_info,
...
@@ -1919,7 +1919,7 @@ void nr_ue_process_mac_pdu(nr_downlink_indication_t *dl_info,
mac_subheader_len
=
2
;
mac_subheader_len
=
2
;
}
}
LOG_
D
(
MAC
,
"
[UE %d] Frame %d : DLSCH -> DL-DTCH %d (gNB %d, %d bytes)
\n
"
,
module_idP
,
frameP
,
rx_lcid
,
gNB_index
,
mac_sdu_len
);
LOG_
I
(
MAC
,
"Melissa Elkadi
[UE %d] Frame %d : DLSCH -> DL-DTCH %d (gNB %d, %d bytes)
\n
"
,
module_idP
,
frameP
,
rx_lcid
,
gNB_index
,
mac_sdu_len
);
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
LOG_T
(
MAC
,
"[UE %d] First 32 bytes of DLSCH :
\n
"
,
module_idP
);
LOG_T
(
MAC
,
"[UE %d] First 32 bytes of DLSCH :
\n
"
,
module_idP
);
...
@@ -1992,7 +1992,8 @@ uint16_t nr_generate_ulsch_pdu(uint8_t *sdus_payload,
...
@@ -1992,7 +1992,8 @@ uint16_t nr_generate_ulsch_pdu(uint8_t *sdus_payload,
// Generating UL MAC subPDUs including MAC SDU and subheader
// Generating UL MAC subPDUs including MAC SDU and subheader
for
(
i
=
0
;
i
<
num_sdus
;
i
++
)
{
for
(
i
=
0
;
i
<
num_sdus
;
i
++
)
{
LOG_D
(
MAC
,
"[UE] Generating UL MAC subPDUs for SDU with lenght %d ( num_sdus %d )
\n
"
,
sdu_lengths
[
i
],
num_sdus
);
LOG_I
(
MAC
,
"Melissa Elkadi [UE] Generating UL MAC subPDUs for SDU with length %d ( num_sdus %d ) and LCID %d
\n
"
,
sdu_lengths
[
i
],
num_sdus
,
sdu_lcids
[
i
]);
if
(
sdu_lcids
[
i
]
!=
UL_SCH_LCID_CCCH
){
if
(
sdu_lcids
[
i
]
!=
UL_SCH_LCID_CCCH
){
if
(
sdu_lengths
[
i
]
<
128
)
{
if
(
sdu_lengths
[
i
]
<
128
)
{
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
7d505e70
...
@@ -1816,8 +1816,8 @@ nr_ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
...
@@ -1816,8 +1816,8 @@ nr_ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
buflen_remain
=
buflen_remain
=
buflen
-
(
total_rlc_pdu_header_len
+
sdu_length_total
+
MAX_RLC_SDU_SUBHEADER_SIZE
);
buflen
-
(
total_rlc_pdu_header_len
+
sdu_length_total
+
MAX_RLC_SDU_SUBHEADER_SIZE
);
LOG_
D
(
MAC
,
LOG_
I
(
MAC
,
"[UE %d] Frame %d : UL-DXCH -> ULSCH, RLC %d has %d bytes to "
"
Melissa Elkadi
[UE %d] Frame %d : UL-DXCH -> ULSCH, RLC %d has %d bytes to "
"send (Transport Block size %d SDU Length Total %d , mac header len %d, buflen_remain %d )
\n
"
,
//BSR byte before Tx=%d
"send (Transport Block size %d SDU Length Total %d , mac header len %d, buflen_remain %d )
\n
"
,
//BSR byte before Tx=%d
module_idP
,
frameP
,
lcid
,
lcid_buffer_occupancy_new
,
module_idP
,
frameP
,
lcid
,
lcid_buffer_occupancy_new
,
buflen
,
sdu_length_total
,
buflen
,
sdu_length_total
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
7d505e70
...
@@ -1032,8 +1032,8 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -1032,8 +1032,8 @@ void nr_schedule_ue_spec(module_id_t module_id,
0
,
0
,
0
);
0
);
LOG_
D
(
MAC
,
LOG_
I
(
MAC
,
"%4d.%2d RNTI %04x: %d bytes from DTCH %d (ndata %d, remaining size %d)
\n
"
,
"
Melissa Elkadi
%4d.%2d RNTI %04x: %d bytes from DTCH %d (ndata %d, remaining size %d)
\n
"
,
frame
,
frame
,
slot
,
slot
,
rnti
,
rnti
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
7d505e70
...
@@ -259,7 +259,7 @@ void nr_process_mac_pdu(
...
@@ -259,7 +259,7 @@ void nr_process_mac_pdu(
mac_subheader_len
=
2
;
mac_subheader_len
=
2
;
}
}
LOG_
D
(
MAC
,
"
[UE %d] Frame %d : ULSCH -> UL-DTCH %d (gNB %d, %d bytes)
\n
"
,
module_idP
,
frameP
,
rx_lcid
,
module_idP
,
mac_sdu_len
);
LOG_
I
(
MAC
,
"Melissa Elkadi
[UE %d] Frame %d : ULSCH -> UL-DTCH %d (gNB %d, %d bytes)
\n
"
,
module_idP
,
frameP
,
rx_lcid
,
module_idP
,
mac_sdu_len
);
int
UE_id
=
find_nr_UE_id
(
module_idP
,
rnti
);
int
UE_id
=
find_nr_UE_id
(
module_idP
,
rnti
);
RC
.
nrmac
[
module_idP
]
->
UE_info
.
mac_stats
[
UE_id
].
lc_bytes_rx
[
rx_lcid
]
+=
mac_sdu_len
;
RC
.
nrmac
[
module_idP
]
->
UE_info
.
mac_stats
[
UE_id
].
lc_bytes_rx
[
rx_lcid
]
+=
mac_sdu_len
;
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
...
...
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
View file @
7d505e70
...
@@ -444,7 +444,7 @@ static void deliver_sdu_drb(void *_ue, nr_pdcp_entity_t *entity,
...
@@ -444,7 +444,7 @@ static void deliver_sdu_drb(void *_ue, nr_pdcp_entity_t *entity,
GTPV1U_ENB_TUNNEL_DATA_REQ
(
message_p
).
offset
=
GTPU_HEADER_OVERHEAD_MAX
;
GTPV1U_ENB_TUNNEL_DATA_REQ
(
message_p
).
offset
=
GTPU_HEADER_OVERHEAD_MAX
;
GTPV1U_ENB_TUNNEL_DATA_REQ
(
message_p
).
rnti
=
ue
->
rnti
;
GTPV1U_ENB_TUNNEL_DATA_REQ
(
message_p
).
rnti
=
ue
->
rnti
;
GTPV1U_ENB_TUNNEL_DATA_REQ
(
message_p
).
rab_id
=
rb_id
+
4
;
GTPV1U_ENB_TUNNEL_DATA_REQ
(
message_p
).
rab_id
=
rb_id
+
4
;
LOG_
D
(
PDCP
,
"
%s() (drb %d) sending message to gtp size %d
\n
"
,
__func__
,
rb_id
,
size
);
LOG_
I
(
PDCP
,
"Melissa Elkadi
%s() (drb %d) sending message to gtp size %d
\n
"
,
__func__
,
rb_id
,
size
);
//for (i = 0; i < size; i++) printf(" %2.2x", (unsigned char)buf[i]);
//for (i = 0; i < size; i++) printf(" %2.2x", (unsigned char)buf[i]);
//printf("\n");
//printf("\n");
itti_send_msg_to_task
(
TASK_GTPV1_U
,
INSTANCE_DEFAULT
,
message_p
);
itti_send_msg_to_task
(
TASK_GTPV1_U
,
INSTANCE_DEFAULT
,
message_p
);
...
@@ -627,9 +627,11 @@ static void add_drb_am(int is_gnb, int rnti, struct NR_DRB_ToAddMod *s,
...
@@ -627,9 +627,11 @@ static void add_drb_am(int is_gnb, int rnti, struct NR_DRB_ToAddMod *s,
nr_pdcp_manager_lock
(
nr_pdcp_ue_manager
);
nr_pdcp_manager_lock
(
nr_pdcp_ue_manager
);
ue
=
nr_pdcp_manager_get_ue
(
nr_pdcp_ue_manager
,
rnti
);
ue
=
nr_pdcp_manager_get_ue
(
nr_pdcp_ue_manager
,
rnti
);
if
(
ue
->
drb
[
drb_id
-
1
]
!=
NULL
)
{
if
(
ue
->
drb
[
drb_id
-
1
]
!=
NULL
)
{
LOG_
D
(
PDCP
,
"
%s:%d:%s: warning DRB %d already exist for ue %d, do nothing
\n
"
,
LOG_
I
(
PDCP
,
"Melissa Elkadi
%s:%d:%s: warning DRB %d already exist for ue %d, do nothing
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
,
drb_id
,
rnti
);
__FILE__
,
__LINE__
,
__FUNCTION__
,
drb_id
,
rnti
);
}
else
{
}
else
{
LOG_I
(
PDCP
,
"%s:%d:%s: Melissa Elkadi, we will call deliver_sdu_drb
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
pdcp_drb
=
new_nr_pdcp_entity_drb_am
(
is_gnb
,
drb_id
,
pdcp_drb
=
new_nr_pdcp_entity_drb_am
(
is_gnb
,
drb_id
,
deliver_sdu_drb
,
ue
,
deliver_pdu_drb
,
ue
,
deliver_sdu_drb
,
ue
,
deliver_pdu_drb
,
ue
,
sn_size_dl
,
t_reordering
,
discard_timer
,
sn_size_dl
,
t_reordering
,
discard_timer
,
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
7d505e70
...
@@ -282,14 +282,26 @@ static void copy_tx_data_req_to_dl_info(nr_downlink_indication_t *dl_info, nfapi
...
@@ -282,14 +282,26 @@ static void copy_tx_data_req_to_dl_info(nr_downlink_indication_t *dl_info, nfapi
{
{
nfapi_nr_pdu_t
*
pdu_list
=
&
tx_data_request
->
pdu_list
[
i
];
nfapi_nr_pdu_t
*
pdu_list
=
&
tx_data_request
->
pdu_list
[
i
];
AssertFatal
(
pdu_list
->
num_TLV
<
sizeof
(
pdu_list
->
TLVs
)
/
sizeof
(
pdu_list
->
TLVs
[
0
]),
"Num TLVs exceeds TLV array size"
);
AssertFatal
(
pdu_list
->
num_TLV
<
sizeof
(
pdu_list
->
TLVs
)
/
sizeof
(
pdu_list
->
TLVs
[
0
]),
"Num TLVs exceeds TLV array size"
);
int
length
=
0
;
for
(
int
j
=
0
;
j
<
pdu_list
->
num_TLV
;
j
++
)
for
(
int
j
=
0
;
j
<
pdu_list
->
num_TLV
;
j
++
)
{
{
length
+=
pdu_list
->
TLVs
[
j
].
length
;
}
LOG_I
(
NR_PHY
,
"%s: num_tlv %d and length %d, pdu index %d
\n
"
,
__FUNCTION__
,
pdu_list
->
num_TLV
,
length
,
i
);
uint8_t
*
pdu
=
malloc
(
length
);
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdsch_pdu
.
pdu
=
pdu
;
for
(
int
j
=
0
;
j
<
pdu_list
->
num_TLV
;
j
++
)
{
const
uint32_t
*
ptr
;
if
(
pdu_list
->
TLVs
[
j
].
tag
)
if
(
pdu_list
->
TLVs
[
j
].
tag
)
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdsch_pdu
.
pdu
=
(
void
*
)
pdu_list
->
TLVs
[
j
].
value
.
ptr
;
// Melissa, fix me!
ptr
=
pdu_list
->
TLVs
[
j
].
value
.
ptr
;
else
else
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdsch_pdu
.
pdu
=
(
void
*
)
pdu_list
->
TLVs
[
j
].
value
.
direct
;
// Melissa, fix me!
ptr
=
pdu_list
->
TLVs
[
j
].
value
.
direct
;
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdsch_pdu
.
pdu_length
=
pdu_list
->
TLVs
[
j
].
length
;
memcpy
(
pdu
,
ptr
,
pdu_list
->
TLVs
[
j
].
length
);
LOG_D
(
NR_PHY
,
"%s: num_tlv %d and length %d
\n
"
,
__FUNCTION__
,
pdu_list
->
num_TLV
,
pdu_list
->
TLVs
[
j
].
length
);
pdu
+=
pdu_list
->
TLVs
[
j
].
length
;
}
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdsch_pdu
.
pdu_length
=
length
;
if
(
tx_data_request
->
Slot
==
7
)
{
//Melissa this means we have an RAR, sorta hacky though
if
(
tx_data_request
->
Slot
==
7
)
{
//Melissa this means we have an RAR, sorta hacky though
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdu_type
=
FAPI_NR_RX_PDU_TYPE_RAR
;
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdu_type
=
FAPI_NR_RX_PDU_TYPE_RAR
;
}
}
...
@@ -297,7 +309,6 @@ static void copy_tx_data_req_to_dl_info(nr_downlink_indication_t *dl_info, nfapi
...
@@ -297,7 +309,6 @@ static void copy_tx_data_req_to_dl_info(nr_downlink_indication_t *dl_info, nfapi
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdu_type
=
FAPI_NR_RX_PDU_TYPE_DLSCH
;
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdu_type
=
FAPI_NR_RX_PDU_TYPE_DLSCH
;
}
}
}
}
}
dl_info
->
slot
=
tx_data_request
->
Slot
;
dl_info
->
slot
=
tx_data_request
->
Slot
;
dl_info
->
frame
=
tx_data_request
->
SFN
;
dl_info
->
frame
=
tx_data_request
->
SFN
;
}
}
...
...
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