Commit Graph
110 Commits
Author SHA1 Message Date
Y_Tomita 0e0a04fbc1 Fix for 256UEs. 2018-10-22 15:35:34 +09:00
frtabu 24f8fcf346 Use common log mechanism in layer 3, mapping specific macros to common ones and extending common log utilities to support specific layer3 requirements 2018-08-24 17:43:14 +02:00
frtabu 30509955c2 remove compilation warnings, especially when disabling T_TRACER. enhance LOG_M macro implementation, introduce LOG_DEBUG_XXX macro to replace #ifdef DEBUG_XXX 2018-07-30 20:07:22 +02:00
frtabu b85cbddeec log.c simplification, fix usefull functionality which never worked, move all log code from openair2 to common 2018-07-30 20:07:22 +02:00
Cedric Roux 1b1f941e3c upgrade license to version 1.1 2017-10-23 12:22:13 +02:00
Cedric Roux 5e323eefa2 improve logging in oaisim
- print current working directory
- print git version (if available)
- print security keys
  this last one is a security breach, but as of today
  it's not a problem
2017-05-18 10:39:25 +02:00
Cedric Roux cff9149920 fix issue 227 - UE IP settings disrupts realtime
see https://gitlab.eurecom.fr/oai/openairinterface5g/issues/227

When the UE connects to the eNodeB and receives its IP address from the
network, it calls system() to set it in the linux kernel world. This call
is not done in a realtime thread, but in the NAS, which uses its own thread,
independent of the realtime processing.

In some situations this totally disrupts realtime processing.

It is difficult to know precisely why that happens, but it seems that calling
fork(), as system() does, in a multi-threaded program is not a good idea. (So
say several people on the internet.) It is not clear why the softmodem is
impacted, but it seems that fork() is really what triggers the disruption.
Several tests lead to that conclusion.

To fix the problem, we create a child background process very early in main()
(before anything else basically). Then instead of calling system(), the main
process sends the string to the background process. The background process
gets the string, passes it to system() and reports the success/failure back
to the main process.

This solution involves a lot of system calls, but calling system() in the
first place is not cheap either. As long as no realtime thread uses this
mechanism, things should be fine. Time will tell.
2017-03-23 12:34:24 +01:00
Cedric Roux 603c84c700 fix warnings: fix LOG_X problems when compiling lte-softmodem
The compilation line was:
    ./build_oai --eNB -w USRP

The file openairinterface5g/cmake_targets/log/lte-softmodem.Rel10.txt
has been checked and all LOG_X (and 'msg') warnings have been fixed.
2017-02-17 18:07:06 +01:00
Cedric Roux 37bc075cb2 fix: exit if memory_read fails in the function nas_user_initialize 2017-02-17 18:07:06 +01:00
gabrielC eadcba956e Merge branch 'develop-realtime-lts' into develop_integration_w07
Conflicts:
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-ue.c
2017-02-17 11:51:03 +01:00
Cedric Roux 9535e7a276 bugfix: make some functions thread safe
Those functions modify a global char array (a string).

Let's pass a buffer to those functions, so that it's
thread safe. The caller has been modified, with hopefully
a buffer big enough (still bigger than what was there before,
so should not break more than it did).
2017-02-16 15:35:07 +01:00
Cedric Roux 7b36af0597 bugfix: variable was on the stack
Guess what happens when we return from the function...
2017-02-15 15:38:37 +01:00
Cedric Roux 3e77251f96 minor: add a message before aborting
The case instance == INSTANCE_DEFAULT should normally not happen,
but let's be a bit verbose if it does.
2017-02-09 10:57:46 +01:00
Cedric Roux 393fe86563 fix: pass UE parameter to UE threads
oaisim is not functional with several UEs.
This fixes one issue. (It's still not functional for other reasons.)
2017-02-09 09:47:13 +01:00
laurent 51b23b4061 merge latest develop, enhance real time, set back BCH tracing in UE as in develop branch 2017-02-08 21:19:10 +01:00
Cedric Roux 53e416be0b update license information
Also included some source files not related to this branch.

	modified:   openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c
	modified:   openair1/PHY/LTE_TRANSPORT/pilots_ue_spec.c
	modified:   openair1/PHY/MODULATION/beamforming.c
	modified:   openair1/PHY/TOOLS/twiddle18432.h
	modified:   openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
	modified:   openair3/NAS/TOOLS/nvram.c
	modified:   openair3/NAS/TOOLS/usim.c
	modified:   openair3/NAS/UE/user_defs.h
2017-01-27 16:09:56 +01:00
Cedric Roux f6e42ce9e4 fix compilation of oaisim
That's not the end of the story though.
2017-01-27 15:52:22 +01:00
Imad ALAWE 8bff2cff3e BUGFIX(GTP-U): Add missing ip rules in order to have point to point connection 2017-01-25 13:59:47 +01:00
Imad ALAWE b3ded7799a openairinterface5g: Fix multi definition of UE/eNB NB_MAX
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).
2017-01-25 13:58:53 +01:00
Imad ALAWE 17d155325a feat: add conf2uedata tool for generating .*.nvram
This patch adds the conf2uedata tool for generating .ue.nvram* .ue.emm.nvram*
and .usim.nvram* files from a textual configuration file.

The configuration file define most usefull values like plmns, mnc, mcc, msin, K,
OPc for several users.
The files generated will always ends with a number corresponding to the user
entry in the configuration file.

This breaks oai5g because other script have not be updated for using
conf2uedata.
This breaks also the at_nas_ue command.

Examples of configuration files are in openair3/NAS/TOOLS/
2017-01-25 13:29:48 +01:00
Frédéric Leroy c4707bd8b7 UE: fix nvram_data load filename 2017-01-25 13:29:10 +01:00
Frédéric Leroy b43c6cbfdd nas_ue_task: add support for multiple UE 2017-01-25 13:29:10 +01:00
Frédéric Leroy 8bc36c3b96 UE/EMM: move emm_nvram filename to nas_user_t 2017-01-25 13:29:10 +01:00
Frédéric Leroy 260e696c8b UE: move nvram data filename to nas_user_t 2017-01-25 13:29:10 +01:00
Frédéric Leroy 5fc045644c UE/USIM/API: fix interface for storing usim_data 2017-01-25 13:29:10 +01:00
Frédéric Leroy 45fccb0203 UE/API/USIM: move hex functions to common/utils.c 2017-01-25 13:29:10 +01:00
Frédéric Leroy 9af3599153 UE: add nas_user_api_id_initialize() function 2017-01-25 13:29:10 +01:00
Frédéric Leroy e36aee0b7f UE: factorize calloc() calls and exit on failure 2017-01-25 13:29:10 +01:00
Frédéric Leroy dcf35b2af1 UE/EMM: fix emm_proc_lowerlayer_* prototype 2017-01-25 13:27:43 +01:00
Frédéric Leroy 5367d5dc3f UE/EMM: move _lowerlayer_data to nas_user_t 2017-01-25 13:27:43 +01:00
Frédéric Leroy 1ca4d551b8 UE: review and annotate code with FIXME 2017-01-25 13:27:43 +01:00
Frédéric Leroy 8d34217ce4 UE: add user instance to itti messages 2017-01-25 13:27:43 +01:00
Frédéric Leroy 556d5a65e9 UE/*: exit on error 2017-01-25 13:24:30 +01:00
Frédéric Leroy fcf2444ee1 UE/EMM: remove redondant ueid in prototypes 2017-01-25 13:24:30 +01:00
Frédéric Leroy 64e296ed67 UE/API/USER: remove fd from nas_user_t 2017-01-25 13:24:30 +01:00
Frédéric Leroy 38d7adc7e3 UE/*: fix ueid = 0 2017-01-25 13:24:30 +01:00
Frédéric Leroy c7a36ec6d2 UE/EMM/LowerLayer: move ueid to nas_user_t 2017-01-25 13:24:30 +01:00
Frédéric Leroy e6daacf7ea UE/API/USER: move _user_api_*_buffer to user_api_id_t 2017-01-25 13:24:30 +01:00
Frédéric Leroy a99e1a95af API/USER: move _user_api_id to nas_user_t 2017-01-25 13:24:30 +01:00
Frédéric Leroy 53fa94785a UE/EMM: remove extern definitions for timers 2017-01-25 13:24:30 +01:00
Frédéric Leroy 5ab2fccf2f UE/API/USER: rename _user_data to user_at_commands_t and move it to nas_user_t 2017-01-25 13:23:18 +01:00
Frédéric Leroy 26538bb9e2 UE/API/USIM: move OP to usim_keys_t 2017-01-25 13:23:18 +01:00
Frédéric Leroy 5b90bcbd25 UE/EMM/SAP: fix misuse of extern for emm_proc_plmn_selection_end() and emm_proc_status() 2017-01-25 13:21:50 +01:00
Frédéric Leroy b33b4df006 UE/API: rename _usim_api_data to usim_sqn_data and move it to usim_data 2017-01-25 13:21:50 +01:00
Frédéric Leroy ec889250a5 UE/API: remove old Makefiles 2017-01-25 13:20:21 +01:00
Frédéric Leroy c875b44958 UE/API/USIM: move _usim_api_k to usim_keys_t 2017-01-25 13:19:39 +01:00
Frédéric Leroy 60032f57b4 UE/EMM: move _emm_attach_data to emm_data_t 2017-01-25 13:12:43 +01:00
Frédéric Leroy 289f1ea971 UE/EMM: move _emm_detach_data to emm_data_t 2017-01-25 13:12:43 +01:00
Frédéric Leroy 46438c7cd9 UE/ESM: move _default_eps_bearer_context_data to nas_user_t 2017-01-25 13:12:20 +01:00
Frédéric Leroy 404c346182 UE: rename _nas_user_data to at_response and move it to nas_user_t 2017-01-25 13:12:20 +01:00