685 Commits (8cac5e9919b6ba85b3580257cfadc52d05659bfb)

Author SHA1 Message Date
Frederick Pelchat fa1f9594cb Fix Issue #615 Only first 8 bits of TAC passed by the ENB to the EPC 4 years ago
faluco c18e35bc93
Upgrade loggers in srsepc (#2167)
* Started logger replacement in epc main.

* Replaced loggers in nas and s1ap.

* Replace loggers in nas statics.

* Replaced loggers in s1ap ctx mngmt.

* Replace loggers in s1ap erab mngmt.

* Replaced loggers in s1ap mngmt proc.

* Replaced loggers in s1ap nas transport.

* Replaced loggers in s1ap paging.

* Replaced loggers in mme.

* Replaced loggers in mme gtpc.

* Started removing logger injection in init functions and cleaned up argument passing to nas statics.

* Remove logger injection from mme and s1ap.

* Replaced loggers in the hss class.

* Replaced loggers in gtpc.

* Replaced loggers in GTPU and SPGW.

* Replaced loggers in MBMS.
4 years ago
Ismael Gomez a6423442c2
Refactor NR RA files and fix header includes all over library (#2162)
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test

* Minor refactors in NR workers and ue_dl

* Fix include issues

* fix compilation issues
4 years ago
Pedro Alvarez 0c20b7a455 Added support for S1AP modify bearer request support. This includes:
- Handle received E-RAB S1AP at s1ap.cc.
 - Added methods to rrc.cc, rrc_ue.cc and rrc_bearer_cfg.cc to handle erab modify request.
 - Made RLC add_bearer() function capable of re-creating the RLC entity.
 - Send RRC reconfiguration to the UE and reply to the EPC with S1AP
   modify bearer response.

This commit also adds support to srsEPC to send S1AP modify bearer request for
testing purposes.
4 years ago
Pedro Alvarez 7eebd71627 Added S1AP E-RAB release command/response handling to srsENB.
Added the ability to srsEPC to send the E-RAB release command.
4 years ago
Andre Puschmann 8c9643af80 epc,gtpu: log info when IPv6 packet is sent
we've logged in warning mode bc we don't support IPv6 but its
causing unwanted noise in the epc log file.

it's quite normal that the Linux network stack sends IPv6 router
solicitation packets, etc. So we just ignore them and that's it.
4 years ago
Andre Puschmann 00f3f21081 last set of license header changes 4 years ago
Andre Puschmann 9608236ce4 fix srsepc_if_masq.sh 4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Francisco Paisana 510959b50f update nr asn1 files, and asn1 tests 4 years ago
Dillon Amburgey 6fc2562ca1 Include current time in EMM information 4 years ago
faluco dfeed52514 - Rename out_stream function to console. 4 years ago
faluco 62faef7c71 - Replaced all uses of the log::console method. 4 years ago
faluco 0b127fa8c7 - Fixed several errors that could sent uninitialized data through the network. 4 years ago
faluco a4f0ecba36 - Fixed a heap corruption where recvfrom could write past the buffer end. 4 years ago
faluco 47953f4ef4 - Prefer addrlen initialization for each call to recvfrom. 4 years ago
faluco f604506858 - Fixed missing initialization issues in nas that caused several jumps in liblte_mme to use uninitialized memory.
- Fixed missing initialization in spgw that caused recvfrom to use an unitialized argument.
4 years ago
faluco 8d1705d6c6 - Fixed a leak in mme_gtpc where the singleton instance was not freed.
- Rewritten the class to be self manage its lifetime.
4 years ago
faluco b5b726ed48 - Fixed a memory leak in s1ap_paging. The static instance was not getting freed.
- Rewrite the singleton to self manage its lifetime.
4 years ago
Pedro Alvarez f85fe1c5ac Don't allow S1 setup with mis-matched TA codes between eNB and EPC. 4 years ago
Pedro Alvarez aafd2cd81c Fix order of discription in user_db.csv.example. 4 years ago
Francisco Paisana 841b884796 remove extern C flags from common_helper.h 4 years ago
faluco cfd3f51931
Import of srslog into srsepc and srsenb. (#1574)
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
4 years ago
Andre Puschmann 2012fdcbae gtpu: remove unused vars 4 years ago
Pedro Alvarez 5746375b05 srsEPC: Deleted unsued bool in ue context removal interface 4 years ago
Pedro Alvarez 163c078c42 srsEPC: Using bearer state to decide weather to send release bearer request or not. 4 years ago
Pedro Alvarez 10050d2651 srsEPC: Fix sending release bearers request uncessarly on dettach request. 4 years ago
Andre Puschmann 8512c10286 create simple helper method to log command line arguments 4 years ago
Francisco Paisana 0b701022a3 added ue nr mac 5 years ago
Andre Puschmann 63fd12a705 epc,s1ap: fix loop counter that is narrower than size_t 5 years ago
faluco 080ef5ae9a Fix for 1480090. 5 years ago
faluco 7ff251f112 - Fixed warnings caught by Clang 9.0.0 5 years ago
Francisco Paisana 38f848ecdf fix type name deducing for clang 5 years ago
Pedro Alvarez 8c52839599 Disable SIGPIPE when sending S1AP messages in the EPC. 5 years ago
Pedro Alvarez 9680f42925 Fix premature release of UE context on the MME. 5 years ago
Xavier Arteaga 89dcd6339f More LGTM fixes 5 years ago
Xavier Arteaga 77d5dedddc Fix LGTM warnings and recommendations 5 years ago
Andre Puschmann 9f4e1ba62d srsepc: use received NAS count to calculate MAC
this is according to 24.301 Sec 4.4.3.3 which says the receiver
should use the sequence number included in the received message
rather a local estimate
5 years ago
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 5 years ago
Andre Puschmann ac17ec6452 add common signal_handler for srsUE/srsENB/srsEPC
the signal handler is the same for all three apps. The "running" flag
as well as the file_logger object are in the common header in order
to allow the signal handler to flush the file if the alarm goes off.
5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
David Lin be7c5a009d Fixed typo in invalid ip header length
Note that the word 'lenght' is wrong,
so that 'lenght' should been replaced with 'length'.
5 years ago
Pedro Alvarez bd3598f774 Moved srsEPC to the new S1AP library. Deleted liblte_s1ap.cc and liblte_s1ap.h. 5 years ago
Andre Puschmann a8bbe551ac move thread class into srslte namespace to avoid ambiguity between std::thread 5 years ago
Pedro Alvarez 746de79859 Adding const to some setters (adressing Francisco's comments). 5 years ago
Pedro Alvarez 126e6126fa Removed unused function. 5 years ago
Pedro Alvarez 1be699ce32 Removed unused variable in HSS. 5 years ago
Pedro Alvarez 38411a8417 Clang-formated the EPC in preperation for PR. 5 years ago
Pedro Alvarez 3d4f300b6f Moved some helper setters/getters to hss_ue_ctx_t to remove more useless lookups. 5 years ago
Pedro Alvarez 88c7988813 Fix bug in re-sync procedure. 5 years ago
Pedro Alvarez 469c3ad273 Removed more useless lookups. 5 years ago
Pedro Alvarez 93fbf741d7 Remove unecessary context lookup in increment_ue_sqn 5 years ago
Pedro Alvarez 4f62e6c08c Started to remove unecesssary lookups in gen_auth_info_answer_milenage 5 years ago
Pedro Alvarez a99ce1fc51 Started to remove unecesssary lookups in gen_auth_info_answer_xor 5 years ago
Pedro Alvarez 98400f65e2 Changed hss ue_ctx map to use unique pointers. 5 years ago
Pedro Alvarez 58bd5631e3 Starting to change map in HSS to use uinque_ptr. 5 years ago
Ismael Gomez a5b7dcdf16
Remove boost string (#936)
* Remove boost string

* Make sure that int/enc algos can be specified in capital case in the MME.

* Use == instead of compare for comparing strings with const chars

Co-authored-by: Pedro Alvarez <pedro.alvarez@softwareradiosystems.com>
5 years ago
Andre Puschmann cccabdaf4f removing unneeded install targets for static libs (reported by Filipe) 5 years ago
Pau Espin Pedrol 4949df257e Proper shutdown on SIGHUP
If a process exits and has a controlling terminal, everything under
it gets a SIGHUP by the kernel. That's the case for instance when
running a srsUE over ssh with some specific parameters. As a result,
when the ssh client is killed, SIGHUP is sent to srsUE, which will be
killed immediatelly without proper release, which means in turn that log
buffers are not flushed.
Let's do proper shutdown when SIGHUP is received so that everyone can
get log files.
5 years ago
Pau Espin Pedrol 64de92183b epc: Drop signal(SIGKILL) calls
SIGKILL cannot be intercepted by apps, so it's useless adding a signal
handler for them. I'm pretty sure the signal() function is erroring in
this scenarios. From signal() man page:
"The signals SIGKILL and SIGSTOP cannot be caught or ignored."
5 years ago
Merlin Chlosta c2e95b1e2a Reject TAU to force UE to reconnect 5 years ago
Andre Puschmann 476f970ee1 replace FIXME with TODO 5 years ago
Xavier Arteaga b48bb0d754 Removed atof, atoll and atoi calls 5 years ago
Pedro Alvarez 48f9df8615 Applied clang-format to all of the srsepc folder. 5 years ago
Andre Puschmann a2ab043c0d fix memleaks and uninitialized vars found by cppcheck 5 years ago
Andre Puschmann 4ac5448ad7 fix formatting in NAS 5 years ago
Pedro Alvarez 1ae8ccda8c Added EIA3 and EEA3 to default UE capabilities to srsUE. Added parsers for EEA3/EIA3 config options in srsENB and srsEPC 5 years ago
David Rupprecht bb97d7d199 fixing key naming 5 years ago
David Rupprecht 50332089ce Add EEA3 and EIA3 support for UE/enodeb and MME 5 years ago
Ismael Gomez c92c61d560
Optimized front-end logging processing (#641)
Avoid memory allocation and stringstream in log frontend calls (executed from worker threads). Uses a buffer pool of fixed buffer and vsnprintf
5 years ago
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
5 years ago
Digicrat 86ec3101e0 Fix bug wherein blank lines or trailing newlines causes parsing of user_db.csv to fail. 5 years ago
Pedro Alvarez 494be243c0 Changed security direction to use an enum. 5 years ago
Andre Puschmann 5faa819dcd fixing uninitialized class members found by coverity 5 years ago
Pedro Alvarez de4d459e5f Fix issue of IMSI context already present when receiving a GUTI attach with bad integrity. This could cause a sigpipe in the EPC when the eNB was re-started. 5 years ago
Pedro Alvarez b617f76bdc S1AP Debug message. 5 years ago
Pedro Alvarez b97d1191f4 Added more debug info at eNB GTP-U. Changed the pdcp_entity to follow the standard more strictly for RLC AM DRBs. 5 years ago
Pedro Alvarez 609e5cce2c Initializing attach request in EPC NAS. 5 years ago
Pedro Alvarez 2ed60412b9 Removing debug printfs. 5 years ago
Pedro Alvarez 36bd20d308 Making sure that the security algorithms are kept when the NAS context is reset. Attach request after a service reject seems to work now (with COTS UE). 5 years ago
Pedro Alvarez 50506ffa26 Changed NAS initialization from init function to constructor. Continuing to add the logic to handle attach request as a Uplink NAS message. Added debug log to s1ap::send_downling_nas_message. 5 years ago
Pedro Alvarez 20ee17088f Starting to add handling of attach request as a Uplink NAS transport message. 5 years ago
Pedro Alvarez d67d18cc6b Removing deplicated error codes. 5 years ago
Andre Puschmann e47010130f extend thread class to set unique thread name in ctor
this will also extend all classes that use srslte::thread
to specify the name of the thread in the ctor as well
as to set the name of the worker threads in the thread pool
the thread name will be displayed in gdb.
6 years ago
Francisco Paisana 0e3baa0f2f Renamed the reset() method of byte_buffer_t to clear() 6 years ago
Andre Puschmann 7e5e2b142e fix uninitialized members in MME NAS 6 years ago
Pedro Alvarez f303167206 Fix GTP-C socket initialization to remove compiler warnings. 6 years ago
Andre Puschmann 4c16a1f719 fix uninitialized struct 6 years ago
Andre Puschmann 64dd4c1fc4 fix issue when packing service reject fails and NAS uses initialized logger 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Andre Puschmann 205db6f229 add missing license headers 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
Pedro Alvarez 64d50040e7 Changed some paging logs to debug and removed noisy print to console in the EPC 6 years ago
Pedro Alvarez 49577b6b5f Making sure that packet queued in the SPGW is freed when queue_downlink_packet enconters errors. Reverse the order of sending paging and queueing packet so that paging_pending is properly set to true. 6 years ago
Pedro Alvarez 7cdc012bb2 Printing fixes in the EPC for ARM 6 years ago
Pedro Alvarez 1bac758a85 EPC now sends service reject to a UE that sends service request with bad integrity. 6 years ago
David Rupprecht dabf586316 ISMI to IMSI typo 6 years ago
Pedro Alvarez d7d461fb8c Change user_db.csv.example to consider static IPs. Changed warning print in HSS. 6 years ago
Joseph Giovatto 056bfef996 use inet_pton to vefify ip address validity 6 years ago
Joseph Giovatto fa99aa590e added support for optional ue static ip address (rebase #225) 6 years ago