Rework PDCP OAI API to allow custom SRB data forwarding (e.g., in F1)
- Make separate header for nr_pdcp instead of using 4G
pdcp.h
- Remove RRC_DCCH_DATA_REQ messages and
pdcp_run()
and run PDCP DL handling in caller's thread - Because that could lead to deadlocks(?): unlock PDCP before forwarding message to lower layer
- For SRB: provide custom forwarding callback, to be used to encapsulate messages in F1 message. The header defines two callbacks to preserve current behavior:
- Towards RLC directly: for UE
- Towards F1 DL RRC message transfer primitive: for gNB
- I did not do the "unlocking before forwarding" for UL, because of reordering, and because I guess there is no issue with deadlocks. Also, I did not change the
deliver_sdu()
callback as fordeliver_pdu()
, because especially towards the SDAP, we need many fields so it might be easier to use current logic (but I can change it) - Speaking of deadlocks, since we unlock, we might not need the thread between RLC and PDCP (please have a look and let me know what you think)