The 5G phone OPPO has a very big UE capability (> 2KB).
We need bigger buffers to transfer this, especially in x2 handover.
Also the sctp messages need a bigger buffer.
Note: in sctp, we didn't check for partial messages, it's now
done. When detected, we exit. To be redone differently
if needed. (Look for "if (!(flags & MSG_EOR))".)
This commit introduces X2AP timers (t_reloc_prep, tx2_reloc_overall).
You need to set the values in the configuration file.
X2AP can be enabled or disabled in the configuration file too (disabled
by default).
Some deadcode was removed.
Some deadcode was removed.
The implementation of the ID management is not finished.
It will only work if the handover is successful. No error
recovery has been done. For error recovery, we need to
implement the X2AP timers. As it is, in case of error, an ID
might very well never be released.
It has been tested with 1 and 2 UEs doing handover more or less
at the same time.
- manage target eNB based on target cell id received by measurement report
for Handover Request
- manage source eNB based on association id for Handover Request Ack
- use only x2ap instance and not x2ap data instance points to x2ap instance
--> openair2/LAYER2/MAC/eNB_scheduler_primitives.c is still old (not from issue394_fix_cppcheck branch)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
1. It's no need to modify LTE-RRC's ASN.1 file for enabling option group
feature in generate_asn1.
2. It's no need to patch the C header files generated from
LTE-RRC/S1AP/X2AP's ASN.1 in fix_asn1.
3. It's no need to pre-process S1AP/X2AP's ASN.1 for enabling information
object class feature by asn1tostruct.py.
This commit requires an un-official version of asn1c which are
collaboration of asn1c community members and `build_helper` is modified
in this commit accordingly :
https://github.com/brchiu/asn1c/tree/velichkov_s1ap_plus_option_group
This asn1c can also convert ASN.1 of 5G NR RRC (38.331, v15.1.0) and
generate C files with -findirect-choice command line option without
tweaking ASN.1 file.
Examples for how to use this asn1c for S1AP are in S1AP files, e.g.
s1ap_eNB_nas_procedures.c and s1ap_eNB_handler.c.
There is an modified openair-cn (based on tag 0.5.0) with this new asn1c at :
https://github.com/brchiu/openair-cn/tree/new-asn1c
Basic S1AP interaction and data transfer operation between OAI eNB and
this modified openair-cn has been tested.
Note: Community version of asn1c is keeping evolved to provide better usage.
Try to merge feature-68-enb-agent into develop
develop should be fast-forwarded later to this branch to complete the merge
This code does not compile yet. Among other things:
- the scheduler structure needs to be reworked for FlexRAN
- the config is structured differently. The files enb_config.{c,h} from develop
have been copied in here, the files with merge annotations are in
enb_config.{c,h}.before_merge
- the restart needs to be restructured, since the PHY vars data structure lives
in RC now