This commit follows 7d9945e884.
lte-softmodem UE in S1 and lte-softmodem UE in noS1 modes behave
differently here.
This commit fixes the issue for thoses cases.
Other cases (eNB S1, eNB noS1, oaisim S1/noS1) have to be checked.
This commit is a continuation of 614d6bbe2a
(ue_ip: use correct instance).
Now in openair2/NETWORK_DRIVER/UE_IP/common.c the 'inst' is not
forced to 1 anymore, we take the value 'pdcph_p->inst'.
It turns out that 'pdcph_p->inst' is 0 instead of 1 when we
run lte-softmodem as an UE.
So let's modify PDCP to set 'inst' to 1 where it was set to 0 for
the UE softmodem case, and skip the places where it is reset to 0,
still for the UE softmodem case.
This may break things, I am not sure.
The problem was the following.
Run oaisim with two UEs:
sudo ../cmake_targets/oaisim_build_oai/build/oaisim -O enb.conf -u2 -s15 -AAWGN -y1 -b1 -Q0
Then wait for both UEs to be connected. The interfaces "oip1" and "oip2" are
activated, with IP addresses 192.172.0.2 for the first UE and 192.172.0.3 for
the second.
Then on the EPC machine, do:
ping 192.172.0.3
No reply.
On the oaisim machine, we see that the packets are sent to "oip1" instead
of "oip2".
The fix may break softmodem UE. The inst was forced to "1" for some reason.
To be checked.
In openairinterface5g many definitions in many layers of UE or eNB NB_MAX.
We created a file called openairinterface5g_limits.h
located at openairinterface5g_dir/targets/COMMON/ declaring the number max
of UE and eNB to be used in ALL layers depending on launching conditions
(LARGE_SCALE for example).
When using abstraction mode, layer2_init_UE() and openair_rrc_ue_init()
are called according to first_sync state and only without MME support.
We added the global variable abstraction_flag to allow abstraction mode
when MME is enabled.
Openair2 is also used in lte-softmodem, so it must have a global variable
abstraction_flag. So we moved it out from the main() scope.