Replacing content of MAC PDU for testing purposes causes it to not always get sent #1132
Unanswered
JelleB-2055020
asked this question in
General Help
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, this is one of my first questions on an open source repo so my apologies if I'm not adhering to protocol.
I'm trying to write a proof of concept setup for my master's thesis that replaces the contents of a MAC PDU sent by upper layers to transmit to the UE. I wrote the following code in srsRAN_Project/lib/mac/mac_dl/mac_cell_processor.cpp for mac_cell_processor::assemble_dl_data_request:
The replacement happens successfully with regards to the content of the PDU. However, after having replaced the content of the PDU, I notice the gNB doesn't always actually transmit the PDU. Sometimes it does, sometimes it doesn't. Is there some mechanism internally that detects that the content of the PDU was altered that prohibits the PDU from being transmitted by the MAC layer?
As for how I get a data grant: I trigger a more or less empty PDU to be sent from an upper layer (PDCP), replacing its contents in the function above with the content that I need to transmit. Furthermore, this exact approach does work on SRSUE, which prompted me to do it this way on SRSRAN.
Do you have any advice where I could perform the alteration? In my current situation I need to replace the entire content of the original MAC PDU with the content of a test MAC PDU, so I cannot start at a higher layer such as PDCP for example.
Finally, here's an excerpt of the logs showing that the PDU was actually replaced, but no PDU was transmitted in the end:
Beta Was this translation helpful? Give feedback.
All reactions