- fix compilation of dlsim/ulsim/oaisim by defining some needed
global variables
- fix compilation of oaisim: compile coding and params_libconfig
- fix running of if4p5 with low CPU count (oaisim was not working
on the machine 'haswell' because of this)
This work is based on work by NTT.
To use the code, do:
./build_oai --oaisim --ue-nas-use-tun -t ETHERNET -c
This commit only handles oaisim in S1 mode.
We won't handle noS1 mode.
Only ulsim and dlsim compile. The others (dlsim_tm4 pucchsim prachsim
pdcchsim pbchsim mbmssim) have been disabled.
Command line to compile: ./build_oai --phy_simulators
It has been chosen to not include the full history of commits
from David. He included a binary version of wireshark, probably
a modified one that understands NFAPI. Wireshark is released under
the GPL license, we cannot include it in the repository. We could
have done a next commit to remove this binary. But then it would
still be present in the history of commits, which may not be allowed.
And it would take space on disk. We could edit the history to remove
wireshark entirely. But this operation is too complicated.
There was also a pcap capture file, which has nothing to do in
the history of commits and would take space on disk. There again,
it's too difficult to edit the history to remove it.
There was a file .gitignore that was also removed.
The original history can be found on David's repository:
https://gitlab.eurecom.fr/daveprice/openairinterface5g/
The branch is: nfapi-ru-rau-split.
A copy of that branch has been included in the internal OAI
repository, for those who have access to it.
The branch is the same. The last commit ID is
9106438239e0bc626ff1fa1d97d911caadd0fbb9.
You can compare the current commit with the commit 9106...
to see what differs.
The current commit has to be considered non-working.
The commit following the current commit will fix problems with
the work in the current commit.
If you use git bisect, don't spend time analyzing the current
commit.
protobuf-c does not compile anymore.
Let's handle this a bit better.
We now install protobuf and protobuf-c only for the
flexran agent. That is, if you want to use the flexran
agent, you need to install protobuf/protobuf-c and
you do it this way:
./build_oai -I -a
(you add -a)
Other targets don't need protobuf nor protobuf-c, so
it's not installed by the -I command of build_oai,
unless you pass -a with -I.
Also, we now use protobuf 3.3.0, not 2.6.1. The code
has been adapted, a quick test seems to indicate that
the system works, but it has not been intensively tested.
- rename UE_NO_LOG to DISABLE_LOG_X
because the name is misleading. The full software
is impacted, not only the UE part
- same for compilation option ---ue-no-log
that becomes --disable-log
- keep LOG_X for the standard case, that is the
case without DISABLE_LOG_X where printf has been
put. Two reasons:
* printf is not realtime friendly
* keep behavior similar for other users who may
be troubled by different logs that don't add
any benefit to previous logs
- import RRC ASN.1 defintions from the specifications
(file openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn)
contrary to rel8/10, all modules have been imported, maybe it's too much
to refine in case of problems
- deal with rel14 in fix_asn1
- all code that was for Rel10 is now for Rel10/Rel14
- some incompatible changes (mostly in naming) were resolved in favor
of rel14, see in openair2/RRC/LITE/defs.h
- unsure about the rlc layer, some arrays have changed (values appended),
I only changed the definition and in tests in the code, I changed
the index limit, maybe it's not enough
Rel14 is the default compilation mode.
- build script has ability to indicate location for downloading uhd images
- one simple wrapper to set environment variables and initiate another program (supposed to be lte-softmodem)
- the option --UE was abused! Let's introduce --UE-conf-nvram and
--UE-gen-nvram
- the option name --UE-OUTPUT was not clear and is now replaced by
--UE-gen-nvram
- the new options are described when running ./build_oai -h
- print_help has been modified (' replaced by ") to print
$conf_nvram_path and $gen_nvram_path